当前位置: 首页 > 工具软件 > mssql-cli > 使用案例 >

mssql笔记

鄂育
2023-12-01

还原数据库

--

--还原数据库笔记
--

--查看有哪些进程连接到数据库DataBaseName,语句如下:
select * from master.sys.sysprocesses where dbid=db_id('DataBaseName')--DataBaseName为数据库名称
--杀死进程,79为进程的spid
kill 60


--当数据库还原出错时(显示正在还原中的),原因是由于还原的时候没有选择覆盖全部模式导致,解决如下:
restore database DataBaseName with recovery

--强制回滚所有没提交事务,并将数据库设为单用户模式,语句如下:
use [master]
go
alter database DataBaseName set single_user with rollback immediate
go
alter database DataBaseName set single_user
go
--强制回滚所有没提交事务,并将数据库设为多用户模式,语句如下:
use [master]
go
alter database DataBaseName set single_user with rollback immediate
go
alter database DataBaseName set multi_user
go

--不回滚事务,从单户模式转成多用户模式,语句如下:
use master;
go

declare @sql varchar(max);

set @sql=''

select @sql=@sql+'; KILL '+rtrim(spid)

from master.sys.sysprocesses

where dbid=db_id('DataBaseName');

exec(@sql);

go

alter database DataBaseName set multi_user;
 类似资料: