问题是......
我有一个运行.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
sfdBackupDB
是一个保存文件对话框SQLExecute
是我自己运行简单脚本的方法,但实际上只是一个SQL命令调用。我从中得到的错误是:
数据库&#39; ExampleDB&#39;不存在。确保正确输入名称。 BACKUP DATABASE异常终止。
我正在使用的SQL Server连接没有任何问题,因为通过应用程序的所有其他查询都在工作,因此可以看到数据库正在连接。万一它很重要,连接字符串如下:
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database\ExampleDB.mdf;Integrated Security=True
我还发现了另一种使用SMO对象的方法,但我得到了相同的结果。
所以我的主要问题是:
原谅我缺乏知识,但我对这种类型的本地数据库没有多少经验,因为我只在SQL Server Management Studio中使用过SQL Server数据库。