Metatabanını yedekleme ve veritabanları ve hareket günlükleri, geri yükleme
Içinde SMO, Backup sınıf ve Restore sınıf olduğundan, yardımcı sınıflar yedekleme ve geri yükleme'nin belirli görevleri gerçekleştirmek için gereken araçları sağlar. A Backup object represents a specific backup task that is required instead of a Microsoft SQL Server object on the server instance.
Veri kaybını veya bozulmasını oluşursa, yedeği, tamamen veya kısmen geri yüklenmesi gerekir.Kısmi bir geri yükleme kullanır FileGroupCollection geri yüklenecek verileri segmentlere ayırmak için koleksiyon. yedek bir işlem günlüğü, verileri belirli bir noktaya kadar saat kullanılarak geri yüklenebilir ToPointInTime() özellik Restore nesne. Verileri de kullanılarak doğrulanabilir SqlVerify(Server) yöntem. Önerilen yedekleme yordamını denetlemektir bütünlük yedek bir geri yükleme işlemi yaparsanız ve düzenli bir temele göre bir veritabanındaki veri denetleniyor.
Gibi Backup Nesne, Restore Nesne kullanılarak oluşturulmuş gerekmediğine bir Create yöntem örneğinde herhangi bir nesneyi göstermek için SQL Server. The Restore object is a küme of properties and methods used to geri yükleme a database.
Örnekler
Sunulan kod örneklerinden herhangi birini kullanmak için, programlama ortamını, programlama şablonunu ve uygulamanızı oluşturacağınız programlama dilini seçmeniz gerekecektir.Daha fazla bilgi için bkz: Nasıl Yapılır: Visual Studio. NET'te bir Visual Basic SMO projesi oluşturma veya Nasıl Yapılır: Visual Studio. NET'te bir Visual C# SMO Proje oluşturma.
Veritabanları ve hareket yedeklemek için Visual Basic'te günlükleri
Bu kod örneği, nasıl yapılır: Varolan bir veritabanını bir dosyaya yedekler ve nasıl geri yükleme yükleyeceğinizi gösterir.
Veritabanları ve hareket Visual C# [NULL]'günlükleri
Bu kod örneği, nasıl yapılır: Varolan bir veritabanını bir dosyaya yedekler ve nasıl geri yükleme yükleyeceğinizi gösterir.
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Reference the AdventureWorks database.
Database db = default(Database);
db = srv.Databases("AdventureWorks");
//Store the current recovery model in a variable.
int recoverymod = 0;
recoverymod = db.DatabaseOptions.RecoveryModel;
//Define a Backup object variable.
Backup bk = new Backup();
//Specify the type of backup, the description, the name, and the database to be backed up.
bk.Action = BackupActionType.Database;
bk.BackupSetDescription = "Full backup of Adventureworks";
bk.BackupSetName = "AdventureWorks Backup";
bk.Database = "AdventureWorks";
//Declare a BackupDeviceItem by supplying the backup device file name in the constructor, and the type of device is a file.
BackupDeviceItem bdi = default(BackupDeviceItem);
bdi = new BackupDeviceItem("Test_Full_Backup1", DeviceType.File);
//Add the device to the Backup object.
bk.Devices.Add(bdi);
//Set the Incremental property to False to specify that this is a full database backup.
bk.Incremental = false;
//Set the expiration date.
System.DateTime backupdate = new System.DateTime();
backupdate = new System.DateTime(2006, 10, 5);
bk.ExpirationDate = backupdate;
//Specify that the log must be truncated after the backup is complete.
bk.LogTruncation = BackupTruncateLogType.Truncate;
//Run SqlBackup to perform the full database backup on the instance of SQL Server.
bk.SqlBackup(srv);
//Inform the user that the backup has been completed.
Console.WriteLine("Full Backup complete.");
//Remove the backup device from the Backup object.
bk.Devices.Remove(bdi);
//Make a change to the database, in this case, add a table called test_table.
Table t = default(Table);
t = new Table(db, "test_table");
Column c = default(Column);
c = new Column(t, "col", DataType.Int);
t.Columns.Add(c);
t.Create();
//Create another file device for the differential backup and add the Backup object.
BackupDeviceItem bdid = default(BackupDeviceItem);
bdid = new BackupDeviceItem("Test_Differential_Backup1", DeviceType.File);
//Add the device to the Backup object.
bk.Devices.Add(bdid);
//Set the Incremental property to True for a differential backup.
bk.Incremental = true;
//Run SqlBackup to perform the incremental database backup on the instance of SQL Server.
bk.SqlBackup(srv);
//Inform the user that the differential backup is complete.
Console.WriteLine("Differential Backup complete.");
//Remove the device from the Backup object.
bk.Devices.Remove(bdid);
//Delete the AdventureWorks database before restoring it.
srv.Databases("AdventureWorks").Drop();
//Define a Restore object variable.
Restore rs = default(Restore);
rs = new Restore();
//Set the NoRecovery property to true, so the transactions are not recovered.
rs.NoRecovery = true;
//Add the device that contains the full database backup to the Restore object.
rs.Devices.Add(bdi);
//Specify the database name.
rs.Database = "AdventureWorks";
//Restore the full database backup with no recovery.
rs.SqlRestore(srv);
//Inform the user that the Full Database Restore is complete.
Console.WriteLine("Full Database Restore complete.");
//Remove the device from the Restore object.
rs.Devices.Remove(bdi);
//Set te NoRecovery property to False.
rs.NoRecovery = false;
//Add the device that contains the differential backup to the Restore object.
rs.Devices.Add(bdid);
//Restore the differential database backup with recovery.
rs.SqlRestore(srv);
//Inform the user that the differential database restore is complete.
Console.WriteLine("Differential Database Restore complete.");
//Remove the device.
rs.Devices.Remove(bdid);
//Set the database recovery mode back to its original value.
srv.Databases("AdventureWorks").DatabaseOptions.RecoveryModel = recoverymod;
//Drop the table that was added.
srv.Databases("AdventureWorks").Tables("test_table").Drop();
srv.Databases("AdventureWorks").Alter();
//Remove the backup files from the hard disk.
My.Computer.FileSystem.DeleteFile("C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Backup\\Test_Full_Backup1");
My.Computer.FileSystem.DeleteFile("C:\\Program Files\\Microsoft SQL Server\\MSSQL.1\\MSSQL\\Backup\\Test_Differential_Backup1");
}
Veritabanı bütünlük denetimleri Visual Basic'te Çalıştırma
SQL Server veri sağlayan bütünlük denetleniyor.Bu kod örneği, belirtilen veritabanı üzerinde veritabanı tutarlılık türü denetimi çalışır.Bu örnekte, CheckTables(RepairType) kullanılır, ancak CheckAllocations(RepairType), CheckCatalog(), veya CheckIdentityValues() aynı şekilde kullanılabilir.
Not
The StringCollection object requires a reference to the namespace using the imports System.Collections.Specialized deyim.
Veritabanı bütünlüğü çalışan Visual C# [NULL]'denetler
SQL Server veri sağlayan bütünlük denetleniyor.Bu kod örneği, belirtilen veritabanı üzerinde veritabanı tutarlılık türü denetimi çalışır.Bu örnekte, CheckTables(RepairType) kullanılır, ancak CheckAllocations(RepairType), CheckCatalog(), veya CheckIdentityValues() aynı şekilde kullanılabilir.
Not
The StringCollection object requires a reference to the namespace using the imports System.Collections.Specialized deyim.
//Connect to the local, default instance of SQL Server.
{
Server srv = default(Server);
srv = new Server();
//Reference the AdventureWorks database.
Database db = default(Database);
db = srv.Databases("AdventureWorks");
//Note, to use the StringCollection type the System.Collections.Specialized system namespace must be included in the imports statements.
StringCollection sc = default(StringCollection);
//Run the CheckTables method and display the results from the returned StringCollection variable.
sc = db.CheckTables(RepairType.None);
int c = 0;
for (c = 0; c <= sc.Count - 1; c++) {
Console.WriteLine(sc.Item(c));
}
}