Hallo zusammen!
Ich habe ein Problem beim Zugriff auf einen externen SQL-Server (sqlexpress 2005) .
Auf dem SQL-Server liegt eine Datenbank, die ich regelmäßig lokal auf einem Notebook einspielen will. Dazu ziehe ich einfach ein Backup, welches dann auf den Notebook restored wird.
Mit dem SQL Server Management Studio Express funktioniert das auch wunderbar.
Nun möchte ich diesen Prozess aber automatisieren und per Programm erledigen. Mein Programm macht auch wie gewünscht Backup und Restore. Aber leider nur lokal auf Notebook!
Ich verwende natürlich im Programm die gleichen Zugangsdaten, wie im Management Studio. Daher vermute ich, daß mein Problem eher in der Übergabe der Parameter in meinem C#-Programm liegt.
Bei C# bin ich noch ziemlich neu....
Die Daten liegen auf dem Server in einer eigenen Instanz "Data". Auf dem Notebook in der Standard-Instanz.
Wenn ich mein Programm ausführe erhalte ich bei "bck.SqlBackup(srv)" eine Exception mit der Message "Fehler bei Sichern von Server 'Notebook' ". Mein Eintrag für den Server/Instanznamen wird also völlig ignoriert!
Auf dem Notebook habe ich andere Zugangsdaten, so das die Anmeldung da natürlich fehl schlägt.
Ich habe natürlich schon im Internet herumgesucht. Aber irgendwie kann ich mit keinem Rezept mein Problem in den Griff bekommen.
Irgendeine Idee?
So sieht mein Code aus:
Ich habe ein Problem beim Zugriff auf einen externen SQL-Server (sqlexpress 2005) .
Auf dem SQL-Server liegt eine Datenbank, die ich regelmäßig lokal auf einem Notebook einspielen will. Dazu ziehe ich einfach ein Backup, welches dann auf den Notebook restored wird.
Mit dem SQL Server Management Studio Express funktioniert das auch wunderbar.
Nun möchte ich diesen Prozess aber automatisieren und per Programm erledigen. Mein Programm macht auch wie gewünscht Backup und Restore. Aber leider nur lokal auf Notebook!
Ich verwende natürlich im Programm die gleichen Zugangsdaten, wie im Management Studio. Daher vermute ich, daß mein Problem eher in der Übergabe der Parameter in meinem C#-Programm liegt.
Bei C# bin ich noch ziemlich neu....
Die Daten liegen auf dem Server in einer eigenen Instanz "Data". Auf dem Notebook in der Standard-Instanz.
Wenn ich mein Programm ausführe erhalte ich bei "bck.SqlBackup(srv)" eine Exception mit der Message "Fehler bei Sichern von Server 'Notebook' ". Mein Eintrag für den Server/Instanznamen wird also völlig ignoriert!
Auf dem Notebook habe ich andere Zugangsdaten, so das die Anmeldung da natürlich fehl schlägt.
Ich habe natürlich schon im Internet herumgesucht. Aber irgendwie kann ich mit keinem Rezept mein Problem in den Griff bekommen.
Irgendeine Idee?
So sieht mein Code aus:
Code:
// Datenbank exportieren (backup) Server srv = new Server(); srv.ConnectionContext.ServerInstance = "server\\Data"; srv.ConnectionContext.LoginSecure = false; srv.ConnectionContext.ConnectAsUserName = "nextX"; srv.ConnectionContext.ConnectAsUserPassword = "geheim"; Backup bck = new Backup(); bck.Action = BackupActionType.Database; bck.Database = "MeineDaten"; bck.Devices.Clear(); bck.Incremental = false; bck.Initialize = true; bck.LogTruncation = BackupTruncateLogType.Truncate; BackupDeviceItem BackupItemDevice = new BackupDeviceItem(@"c:\DATA-Backup.bak", DeviceType.File); bck.Devices.Add(BackupItemDevice); try { bck.SqlBackup(srv); } catch (Exception ex) { MessageBox.Show(ex.Message); }
Comment