Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net SMO数据库备份_Vb.net_Sql Server 2008 - Fatal编程技术网

Vb.net SMO数据库备份

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

我正在使用以下函数使用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 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`您可能需要为您的登录用户授予更多的数据库权限。若要进行测试,请允许完全控制,然后禁用每个权限,直到其不再工作。很抱歉,我不知道用户需要的确切权限,但这将帮助您了解如何在将来研究这些问题。