您可以使用“BACKUP DATABASE”脚本备份本地SQL Server数据库吗?

时间:2014-06-02 09:45:37

标签: sql .net sql-server database-backups

问题是......

我有一个运行.NET 4.0 Framework的小型Windows窗体应用程序和一个本地SQL Server 2012数据库文件来存储数据(.MDF文件)。此数据库未与SQL Server一起使用,而是通过Visual Studio Server Explorer进行管理。

我的任务是我想通过软件本身或服务在这个数据库上进行备份。我浏览了互联网,发现有一个脚本BACKUP DATABASE [DatabaseName]。我已经尝试在我的本地数据库上运行它,它说数据库名称无法识别。

这是我尝试的代码。

Private Sub btnBackup_Click(sender As Object, e As EventArgs) Handles btnBackup.Click
    Dim FileName As String = Now.ToString("ddMMyyyy_HHmm") & ".bak"
    sfdBackupDB.InitialDirectory = txtBackupFolder.Text
    sfdBackupDB.FileName = FileName

    If sfdBackupDB.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
        If Not File.Exists(sfdBackupDB.FileName) Then
            SQLExecute("BACKUP DATABASE [ExampleDB] TO DISK = '" & sfdBackupDB.FileName & "' WITH FORMAT")
        End If
    End If
End Sub
  1. sfdBackupDB是一个保存文件对话框
  2. SQLExecute是我自己运行简单脚本的方法,但实际上只是一个SQL命令调用。
  3. 我从中得到的错误是:

      

    数据库&#39; ExampleDB&#39;不存在。确保正确输入名称。 BACKUP DATABASE异常终止。

    我正在使用的SQL Server连接没有任何问题,因为通过应用程序的所有其他查询都在工作,因此可以看到数据库正在连接。万一它很重要,连接字符串如下:

    Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database\ExampleDB.mdf;Integrated Security=True
    

    我还发现了另一种使用SMO对象的方法,但我得到了相同的结果。

    所以我的主要问题是:

    1. 这种类型的数据库是否可以进行此类备份
    2. 有没有更好的方法呢
    3. 原谅我缺乏知识,但我对这种类型的本地数据库没有多少经验,因为我只在SQL Server Management Studio中使用过SQL Server数据库。

0 个答案:

没有答案