2012-03-25 8 views
0

Ich versuche, dieses scheinbar einfaches Stück Code auszuführen, die mehrmals über das Netz wiederholt wird, aber ich bin immer Fehler im Code:SQL-Datenbank-Backup mit SMO und VB.NET

Imports System.Data.SqlClient 
Imports Microsoft.SqlServer.Management.Smo 
Imports Microsoft.SqlServer.Management.Common 

Private Sub BackupDatabaseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BackupDatabaseToolStripMenuItem.Click 
'Connect to the local, default instance of SQL Server. 
Dim srv As Server 
srv = New Server 
'Reference the AdventureWorks2008R2 database. 
Dim db As Database 
db = srv.Databases("AdventureWorks2008R2") 
'Store the current recovery model in a variable. 
Dim recoverymod As Integer 
recoverymod = db.DatabaseOptions.RecoveryModel 
'Define a Backup object variable. 
Dim bk As 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 AdventureWorks2008R2" 
bk.BackupSetName = "AdventureWorks2008R2 Backup" 
bk.Database = "AdventureWorks2008R2" 
'Declare a BackupDeviceItem by supplying the backup device file name in the constructor, and the type of device is a file. 
Dim bdi As 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. 
Dim backupdate As New Date 
backupdate = New Date(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) 
End Sub 

I bekomme Fehler in diesen Zeilen: Dim bk als neue Sicherung

Fehler 5 Typ 'Backup' ist nicht definiert.

bk.Action = BackupActionType.Database

Fehler 6 'BackupActionType' ist nicht deklariert. Es ist möglicherweise aufgrund seines Schutzniveaus nicht zugänglich.

Dim bdi Als BackupDeviceItem

Fehler 7 Typ 'BackupDeviceItem' ist nicht definiert.

zusammen mit anderen ähnlichen Fehler

Fehle ich einige „Importe“? ich den Code bekam von hier: http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.backup.sqlbackup.aspx

Antwort

2

Sie müssen Bezug auf die folgenden Baugruppen hinzufügen (nicht nur Import)

Microsoft.SqlServer.ConnectionInfo 
Microsoft.SqlServer.Management.Sdk.Sfc 
Microsoft.SqlServer.Smo 
Microsoft.SqlServer.SmoExtended 
Microsoft.SqlServer.SqlEnum 
+0

Danke, es hat funktioniert! Ich hatte nicht auf "Microsoft.SqlServer.SmoExtended" verwiesen, da es nicht in der Liste enthalten war, die von Microsoft in ihrer Dokumentation bereitgestellt wird. http://msdn.microsoft.com/en-us/library/ms162166(v=sql.90).aspx Oder es war dort, aber sah es nicht. – Osprey

Verwandte Themen