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]

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

VB.NET 2017/2015/2013 Aufbau

Nach dieser Schulung können Sie mittels objektorientierter Modelle in VB.NET 2017/2015/2013 wiederverwendbare Elemente eigenständig erstellen.

/// <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!