SMO數據庫備份
sql--2008
SMO數據庫備份,,sql--2008,,Sql 2008,我正在使用以下函數使用SMO備份SQL 數據庫。。但是備份失敗了。。。我不知道服務器上數據庫備份到本地,為什么它會失敗。。。感謝您的幫助 Sub ()Dim conn As New ("MONO-PC\") ' -- set SQL given the name, user name and Dim A
我正在使用以下函數使用SMO備份SQL 數據庫。。但是備份失敗了。。。我不知道,為什么它會失敗。。。感謝您的幫助
Private Sub BackupSqlDatabase()
Dim conn As New ServerConnection("MONO-PC\SQLEXPRESS") ' -- set SQL server connection given the server name, user name and password

Dim oSQLServer As New Server(conn) '--create the SMO server object using connection
Dim OrigBackupPath As String = oSQLServer.Information.MasterDBPath.Replace("\DATA", "C:\Backup\DB_BACKUP_NAME.BAK") ' -- set the path where backup file will be stored
Dim bkDevItem As New BackupDeviceItem(OrigBackupPath, DeviceType.File) ' -- create SMO.Backupdevice object

With oBackup ' Set the backup object property
.Action = BackupActionType.Database
.Database = "LIC.MDF"
.Devices.Add(bkDevItem)
.Initialize = True
.Checksum = True

.ContinueAfterError = True
.Incremental = False
.LogTruncation = BackupTruncateLogType.Truncate
.SqlBackup(oSQLServer) ' backup SQL database
End With

End Sub
您使用的是什么版本的sql ?我使用的是我相信10.5(sql 2008 R2 pack 1),不支持SMO對象
我現在使用sql調用
BACKUP DATABASE DBNAMEHERE TO DISK = 'destPath' WITH FORMAT
備份失敗..就是這樣…我的電腦中沒有安裝 …這是備份失敗的原因嗎???您不需要將連接設置為:
Dim conn as New ServerConnection(“MONO-pc\\SQLEXPRESS”)
(兩個反斜杠)??另外:我認為您不應該為數據庫指定文件名(
.database=“LIC.MDF”
)-指定數據庫名稱,類似于:
.database=“LIC”
或在您的服務器上調用數據庫的任何內容當我嘗試您的方式時…我得到“登錄失敗錯誤”` Sub \u單擊(ByVal 作為.,ByVal e作為.)處理按鈕備份。單擊“ry.Text=.”()Dim con As Dim cmd As con=New (“數據源=。\;初始目錄=LIC;受信任的連接=yes”)cmd=New (“將數據庫LIC備份到磁盤='C:\\ICLS.bak',con)con.Open()cmd.()con.Close()(“LI”)End Sub`您可能需要為您的登錄用戶授予更多的數據庫權限。若要進行測試,請允許完全控制,然后禁用每個權限,直到其不再工作。很抱歉服務器上數據庫備份到本地,我不知道用戶需要的確切權限,但這將幫助您了解如何在將來研究這些問題。