--数据库备份到指定文件夹命令
BACKUP DATABASE TestDATABASE TO DISK = 'C:\Backup\TestDB_Backup.bak'
--获取数据库的独占访问权
ALTER DATABASE TestDATABASE SET OFFLINE WITH ROLLBACK IMMEDIATE
--通过.bak文件恢复数据库的SQL语句
USE master
RESTORE DATABASE TestDATABASE
FROM DISK = 'C:\Backup\TestDB_Backup.bak'
//这里可以不用系统会自动替换
WITH REPLACE,
--注意:这里MOVE后面的两个值来自之前第二步查询的LogicalName,TO后面的值是需要恢复的数据库文件及日志文件
MOVE 'data1' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDATABASE.mdf',
MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestDATABASE_log.ldf'
GO
--上面部分代码已经通过.bak文件恢复了数据库,下面这句代码将数据库的独占访问权释放
ALTER DATABASE TestDATABASE SET ONLINE
数据库还原后,如果用户名和登录名都已经存在,一定要绑定用户名和登录名。
use TestDATABASE
go
sp_change_users_login 'update_one', 'dbyxdowndata','dbyxdowndata'