Feedback

C# - SMO : Backup einer Datenbank erstellen

Veröffentlicht von am 01.05.2007
(1 Bewertungen)
Mit der Methode CreateBackupToFile() können Backups einer Datenbank mittels SMO gemacht werden. Dabei können Full, Differential und ein Transactionlog Backup gemacht werden.
GFU-Schulungen  [Anzeige]

VB.NET Aufbau

Sie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

/// <summary>
      /// Erstellt ein Backup einer Datenbank
      /// </summary>
      /// <param name="serverName">Server, auf welchem die Datenbank liegt</param>
      /// <param name="databaseName">Die zu sichernde Datenbank</param>
      /// <param name="backupFileName">Pfad der Sicherung</param>
      /// <param name="useTrustedConnection">Windows Authentication</param>
      /// <param name="login">Benutzername, mit Backup - Rechten</param>
      /// <param name="password">Passwort</param>
      /// <param name="differential">Ob es ein Differential Backup werden sollte</param>
      /// <param name="init">Ob das Backupfile überschrieben werden soll</param>
      /// <param name="backupType">Backup Typ (Files, Datenbank , Log)</param>
      public void CreateBackupToFile(
         string serverName,
         string databaseName,
         string backupFileName,
         bool useTrustedConnection,
         string login,
         string password,
         bool differential,
         bool init,
         BackupActionType backupType)
      {
         // Verbindungsinformationen definieren
         ServerConnection serverConnection = new ServerConnection();
         serverConnection.ServerInstance = serverName;
      
         if (useTrustedConnection)
         {
            serverConnection.LoginSecure = true;
         }
         else
         {
            serverConnection.LoginSecure = false;
            serverConnection.Login = login;
            serverConnection.Password = password;
         }

         // Verbindung aufbauen
         Server server = new Server(serverConnection);
        
         try
         {
            server.ConnectionContext.Connect();

            // Backup in die angegebene Datei erstellen
            Backup backup = new Backup();
            
            backup.Action = backupType;
            backup.Incremental = differential;
            backup.Initialize = init;
            backup.Database = databaseName;

            if (this.PercentComplete != null)
               backup.PercentComplete += this.PercentComplete;
          
            backup.Devices.Add(new BackupDeviceItem(
               backupFileName, DeviceType.File));
            backup.SqlBackup(server);
         }
         finally
         {
            try
            {
               // Verbindung zum SQL-Server abbauen
               server.ConnectionContext.Disconnect();
            }
            catch { }
         }
      }

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!