sqlserver數據庫脫機時發生異常:由於無法在數據庫 'SMS' 上放置鎖,ALTER DATABASE 失敗。請稍后再試。 ALTER DATABASE 語句失敗。 (.Net SqlClient Data Provider)


sqlserver數據庫脫機時發生異常,如下:

===================================

設置脫機 對於 數據庫“SMS”失敗。  (Microsoft.SqlServer.Smo)

------------------------------ 有關幫助信息,請單擊: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2500.0+((KJ_PCU_Main).110617-0038+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=設置脫機+Database&LinkId=20476

------------------------------ 程序位置:

   在 Microsoft.SqlServer.Management.Smo.Database.SetOfflineImpl(Boolean offline)    在 Microsoft.SqlServer.Management.Smo.Database.SetOffline()    在 Microsoft.SqlServer.Management.SqlManagerUI.DatabaseOffline.DatabaseOfflineAction.DoAction(ProgressItemCollection actions, Int32 index)    在 Microsoft.SqlServer.Management.SqlStudio.Controls.ProgressItemCollection.DoWorkOnThread()

===================================

執行 Transact-SQL 語句或批處理時發生了異常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------ 程序位置:

   在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)    在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)    在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)    在 Microsoft.SqlServer.Management.Smo.Database.SetOfflineImpl(Boolean offline)

===================================

由於無法在數據庫 'SMS' 上放置鎖,ALTER DATABASE 失敗。請稍后再試。 ALTER DATABASE 語句失敗。 (.Net SqlClient Data Provider)

------------------------------ 有關幫助信息,請單擊: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.2550&EvtSrc=MSSQLServer&EvtID=5061&LinkId=20476

------------------------------ 服務器名稱: (local) 錯誤號: 5061 嚴重性: 16 狀態: 1 行號: 1

------------------------------ 程序位置:

   在 Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)    在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

 解決辦法:

通過如下指令,獲取當前DB的Session,然后將對應的SPID Kill掉,之后再執行ALTER DATABASE 語句。

EXEC sp_who2;

KILL <SPID>;

 


免責聲明!

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



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