我正在尝试通过.net环境检索sql localdb的备份副本,但是我收到了错误。
错误:RESTORE无法处理数据库'C:\ Users \ Emad-VB \ Desktop \ KizeN \ KizeN \ bin \ Debug \ Data \ Data \ DataStore.mdf',因为此会话正在使用它。建议在执行此操作时使用master数据库。 RESTORE DATABASE异常终止。
sql Query:
RESTORE DATABASE [C:\ Users \ Emad-VB \ Desktop \ KizeN \ KizeN \ bin \ Debug \ Data \ Data \ DataStore.mdf] FROM disk ='C:\ Users \ Emad-VB \ Desktop \ bac \ test.bac'
我再次尝试使用数据库主机进行恢复,但是我收到了这个错误。
错误: “Go”附近的语法不正确。
sql Query:
使用主
开始
RESTORE DATABASE [C:\ Users \ Emad-VB \ Desktop \ KizeN \ KizeN \ bin \ Debug \ Data \ Data \ DataStore.mdf] FROM disk ='C:\ Users \ Emad-VB \ Desktop \ bac \ test.bac'
这是执行sql查询的代码....
Sub query(ByVal que As String)
'On Error Resume Next
Try
con = New SqlConnection(My.Settings.KConS)
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd = New SqlCommand
cmd.Connection = con
cmd.CommandType = CommandType.Text
Dim mm As String = " que"
cmd.CommandText = mm
cmd.ExecuteNonQuery()
If con.State = ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
End Try
End Sub
能够检索本地数据库的解决方案是什么?谢谢
答案 0 :(得分:1)
我看到两个问题:
" GO"不是t-sql命令。它只对SQL实用程序有意义, 例如SQL Server Management Studio,因此您不应该使用它 直接发送到服务器的代码。
我不确定您是否可以使用" USE更改连接中的数据库 MASTER&#34 ;.相反,你应该创建另一个连接字符串 "主"并在启动将执行恢复的连接时使用它。