使用vb.net恢复数据库

使用vb.net恢复数据库,vb.net,Vb.net,有谁能帮我从vb.net中恢复数据库吗?我尝试使用存储过程从SQLServer2005中恢复retore模板脚本。但出现错误“数据库已在使用,请使用主数据库…”我假定您使用了通常用于连接到实际还原的数据库的相同连接字符串。 从错误消息中,我想说您应该使用不同的InitialCatalog参数创建到服务器的连接(错误消息表明您应该使用“master”) 另一个选项是在脚本开头粘贴一个“USE master”。是USE语句的一个小说明。从错误中可以看出,似乎没有实际的VB.net编程错误。 问题似乎

有谁能帮我从vb.net中恢复数据库吗?我尝试使用存储过程从SQLServer2005中恢复retore模板脚本。但出现错误“数据库已在使用,请使用主数据库…”

我假定您使用了通常用于连接到实际还原的数据库的相同连接字符串。 从错误消息中,我想说您应该使用不同的InitialCatalog参数创建到服务器的连接(错误消息表明您应该使用“master”)


另一个选项是在脚本开头粘贴一个“USE master”。是USE语句的一个小说明。

从错误中可以看出,似乎没有实际的VB.net编程错误。
问题似乎在于数据库恢复存储过程

在还原数据库之前,请确保
•您的连接未使用正在恢复的数据库-这是该错误的可能原因之一,“数据库已在使用中,请使用主数据库…” •应关闭与目标数据库的其他连接-关闭与目标数据库的所有连接


Denis Troller已经提到并确保您的脚本将该语句作为还原批处理脚本中的“第一”语句。

我刚刚在我的项目中编写了此语句,所以我想与大家分享我的方法

我通过使用SqlCommand.CommandText在服务器上启动SQL并设置数据库和文件名的SqlParameters来调用备份和恢复,如下所示:

简单备份:

备份数据库@dbName 到磁盘=@fileName 格式

然后使用以下方法还原:

使用主机 还原数据库@dbName 从磁盘=@fileName

备份和恢复命令有很多选项,但我只是想要一个快速的大锤方法,而且效果很好

感谢丹尼斯的“使用大师”提示,刚刚修复了我的“使用中”错误

BACKUP DATABASE @dbName TO DISK=@fileName WITH FORMAT USE master RESTORE DATABASE @dbName FROM DISK = @fileName