我正在尝试强制删除数据库,但是在删除数据库后,当我尝试重新创建数据库时,出现错误
无法创建文件 C:\Program Files.....[databasename].mdf 因为它已经存在
这是我强制删除数据库的查询
Use master;
ALTER database [databasename] set offline with ROLLBACK IMMEDIATE;
DROP database [databasename];
Run Code Online (Sandbox Code Playgroud)
我明白,上面的查询正在删除数据库,但它没有删除.ldf和.mdf文件。如何彻底删除数据库?
正常查询
Drop database [databasename] ; //deletes the database completely, including the ldf and mdf's.
Run Code Online (Sandbox Code Playgroud)
如何强制删除数据库,同时删除.mdf和.ldf文件?
--first command
use master
Go
-- second command
ALTER DATABASE MyDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Go
-- Third command
RESTORE DATABASE [MyDB] FROM DISK = N'D:\Restore_Backup\Restore_05042015\AcctDB.bak'
WITH FILE = 1,
MOVE N' AcctDB '
TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WFStageAcct.mdf',
MOVE N' AcctDB _log'
TO N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WFStageAcct_log.ldf',
NOUNLOAD,
REPLACE,
STATS = 10
GO
--forth command
ALTER DATABASE MyDB SET MULTI_USER
Go
Run Code Online (Sandbox Code Playgroud)
我运行上面的命令,一一恢复不同服务器上的数据库。但是有时我更改为单用户模式后无法恢复数据库,因为它被其他连接访问。如果我运行除了最后一部分之外的整个脚本会阻止其他连接,所以我将成为唯一的用户?