SQL SERVER 單個用戶模式


刪除數據庫時候,報了個錯:

此時無法更改數據庫 'NIS110' 的狀態或選項。此數據庫處於單用戶模式,當前某個用戶已與其連接。ALTER DATABASE 語句失敗。 (Microsoft SQL Server,錯誤: 5064)

原因:此數據庫處於單用戶模式,導致無法刪除

百度之后找到了解決辦法,備份於此:

USE [master] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --建一個存儲過程,斷開所有用戶連接。 create proc [dbo].[killspid] (@dbname varchar(20)) as begin declare @sql nvarchar(500) declare @spid int set @sql='declare getspid cursor for select spid from sysprocesses where dbid=db_id('''+@dbname+''')' exec (@sql) open getspid fetch next from getspid into @spid while @@fetch_status<>-1 begin exec('kill '+@spid) fetch next from getspid into @spid end close getspid deallocate getspid end GO

先在master中創建一個存儲過程,用於干掉所有連接,然后調用

use master exec killspid '出問題的數據庫名'
ALTER DATABASE 出問題的數據庫名 SET MULTI_USER;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM