JOE*_*EET 124 sql ssms sql-server-2008
我需要重新启动数据库,因为某些进程无法正常工作.我的计划是让它脱机并重新上线.
我试图在Sql Server Management Studio 2008中执行此操作:
use master;
go
alter database qcvalues
set single_user
with rollback immediate;
alter database qcvalues
set multi_user;
go
Run Code Online (Sandbox Code Playgroud)
我收到这些错误:
Msg 5061, Level 16, State 1, Line 1
ALTER DATABASE failed because a lock could not be placed on database 'qcvalues'. Try again later.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Msg 5061, Level 16, State 1, Line 4
ALTER DATABASE failed because a lock could not be placed on database 'qcvalues'. Try again later.
Msg 5069, Level 16, State 1, Line 4
ALTER DATABASE statement failed.
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
bob*_*obs 287
收到错误后,运行
EXEC sp_who2
Run Code Online (Sandbox Code Playgroud)
在列表中查找数据库.连接可能没有终止.如果找到与数据库的任何连接,请运行
KILL <SPID>
Run Code Online (Sandbox Code Playgroud)
<SPID>连接到数据库的会话的SPID 在哪里.
删除所有与数据库的连接后,请尝试使用脚本.
不幸的是,我没有理由为什么你会看到这个问题,但这里有一个链接,表明问题已在其他地方发生.
我设法通过执行以下操作重现此错误.
CREATE DATABASE TESTING123
GO
USE TESTING123;
SELECT NEWID() AS X INTO FOO
FROM sys.objects s1,sys.objects s2,sys.objects s3,sys.objects s4 ,sys.objects s5 ,sys.objects s6
Run Code Online (Sandbox Code Playgroud)
set lock_timeout 5;
ALTER DATABASE TESTING123 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
180360 次 |
| 最近记录: |