Vb.net SMO数据库备份
我正在使用以下函数使用SMO备份SQL Server数据库。。但是备份失败了。。。我不知道,为什么它会失败。。。感谢您的帮助Vb.net SMO数据库备份,vb.net,sql-server-2008,Vb.net,Sql Server 2008,我正在使用以下函数使用SMO备份SQL Server数据库。。但是备份失败了。。。我不知道,为什么它会失败。。。感谢您的帮助 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 A
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 server?我使用的是我相信10.5(sql server 2008 R2 service pack 1),不支持SMO对象 我现在使用sql调用
BACKUP DATABASE DBNAMEHERE TO DISK = 'destPath' WITH FORMAT
备份失败..就是这样…我的电脑中没有安装management studio…这是备份失败的原因吗???您不需要将连接设置为:
Dim conn as New ServerConnection(“MONO-pc\\SQLEXPRESS”)
(两个反斜杠)??另外:我认为您不应该为数据库指定文件名(.database=“LIC.MDF”
)-指定数据库名称,类似于:.database=“LIC”
或在您的服务器上调用数据库的任何内容当我尝试您的方式时…我得到“登录失败错误”`Private Sub Button1\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮备份。单击“TextBoxBackupDirectory.Text=Application.UserAppDataPath”BackupSqlDatabase()Dim con As SqlConnection Dim cmd As SqlCommand con=New SqlConnection(“数据源=。\SQLEXPRESS;初始目录=LIC;受信任的连接=yes”)cmd=New SqlCommand(“将数据库LIC备份到磁盘='C:\BACKUP\ICLS.bak',con)con.Open()cmd.ExecuteNonQuery()con.Close()MsgBox(“LI”)End Sub`您可能需要为您的登录用户授予更多的数据库权限。若要进行测试,请允许完全控制,然后禁用每个权限,直到其不再工作。很抱歉,我不知道用户需要的确切权限,但这将帮助您了解如何在将来研究这些问题。