1. 程式人生 > 其它 >sql server還原失敗無獨佔訪問許可權

sql server還原失敗無獨佔訪問許可權

技術標籤:sqlserver

還原sql server資料庫遇到如下問題
在這裡插入圖片描述
該問題主要是你在還原的時候還有其他程序連在上面,導致無法獲得獨佔造成的。
解決思路:
刪除連在上面的程序,回滾未提交的事務,然後還原。
步驟
1.查詢要還原的資料庫ID

Select * from master..sysdatabases where name = '';

2.獲取該資料庫的程序

Select * from sys.sysprocesses a where a.dbid = '';

3.殺掉連線在上面的程序

kill @spid;

或者使用

USE Master
ALTER DATABASE
資料庫名稱 SET OFFLINE WITH ROLLBACK IMMEDIATE

如果此時還原還是不行。可能是刪完程序馬上有新的程序連進來,導致一直失敗。應用程式一直不停的進行資料庫連結
這時,可以在單使用者下還原。
設定方式:選中要還原的資料庫–>屬性–>選項–>限制訪問
該值從MULTI_USER修改為SINGLE_USER,此時該資料庫就會顯示為單使用者模式
這是GUI的模式,語句的辦法比較簡單

USE MASTER
GO
ALTER DATABASE 資料庫名字 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;   
GO

設定單使用者資料庫必須要超級使用者