从VB.NET的SQL Server备份未生成备份文件,该文件未在驱动器中显示

时间:2019-06-06 07:36:13

标签: sql-server vb.net winforms backup sql-server-2012-express

我正在将VB.NET与SQL Server 2012 Express一起使用在软件中。

我提供了使用以下代码从应用程序本身获取数据库备份的工具

using System.Linq;

运行上述代码时,不会创建备份文件,也不会显示错误。

如果我在SQL Server Management Studio中使用T-SQL运行Dim con = New SqlConnection("Data Source=.\SQLEXPRESS;Database=Master;User id=sa;password=admin;") con.Open() Dim str as string="backup database OFFICEMANAGEMENT to disk='C:\OM.bak'" Dim cmd as new SqlCommand(str,con) cmd.ExecuteNonQuery con.Close() 命令,则备份文件已成功创建。

任何人都可以帮忙吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您应按以下步骤更改代码

  1. 在执行命令之前,您的连接应处于打开状态。
  2. 用于备份数据库的
  3. T-SQL语句应包含“ WITH INIT”关键字。如果您多次执行代码,则BAK文件将继续增长。

    所以,尝试这个

    Using con = New SqlConnection("Data Source=.\SQLEXPRESS;User id=sa;password=admin;")
    
        con.Open()
    
        Dim str As String = "backup database OFFICEMANAGEMENT to disk='C:\TMP\OM.bak' WITH INIT"
    
        Using cmd = New SqlCommand(str, con)
            cmd.ExecuteNonQuery()
        End Using
    
        con.Close()
    
    End Using