我在 SQL Server 2008 上有一个数据库,我想删除它。目前它处于单用户模式并且正在使用中。
select * from sys.sysprocesses
Run Code Online (Sandbox Code Playgroud)
返回
Msg 924, Level 14, State 1, Line 1
Database 'G_MAIN_DE' is already open and can only have one user at a time.
Run Code Online (Sandbox Code Playgroud)
我不知道如何识别我必须杀死的会话。
尝试将其设置为离线
ALTER DATABASE G_MAIN_DE SET OFFLINE WITH ROLLBACK IMMEDIATE
Run Code Online (Sandbox Code Playgroud)
产量
Msg 5064, Level 16, State 1, Line 1
Changes to the state or options of database 'G_MAIN_DE' cannot be made at this time. The database is in single-user mode, and a user is currently connected to it.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
Run Code Online (Sandbox Code Playgroud)
Mar*_*ith 16
要识别当前使用数据库的会话,您可以尝试
SELECT request_session_id
FROM sys.dm_tran_locks
WHERE resource_database_id = DB_ID('G_MAIN_DE')
Run Code Online (Sandbox Code Playgroud)
sa5*_*555 10
此内置存储过程显示与数据库的所有连接
exec sp_who2
Run Code Online (Sandbox Code Playgroud)
并且此查询会终止与数据库的连接,例如连接 SPID #53
exec kill 53
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45177 次 |
| 最近记录: |