還原Sql server數(shù)據(jù)庫(kù)失敗提示“數(shù)據(jù)庫(kù)正在使用,無法獲得對(duì)數(shù)據(jù)庫(kù)的獨(dú)占訪問權(quán)”的解決辦法

[重要通告]如您遇疑難雜癥,本站支持知識(shí)付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!

錯(cuò)誤詳細(xì):

標(biāo)題: Microsoft SQL Server Management Studio
------------------------------
還原數(shù)據(jù)庫(kù)“XXXXXX”時(shí)失敗。 (Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------
其他信息:
System.Data.SqlClient.SqlError: 因?yàn)閿?shù)據(jù)庫(kù)正在使用,所以無法獲得對(duì)數(shù)據(jù)庫(kù)的獨(dú)占訪問權(quán)。 (Microsoft.SqlServer.SmoExtended)

原因分析:

在SqlServer2008r2中在還原數(shù)據(jù)庫(kù)時(shí),在執(zhí)行備份操作的時(shí)候,如果有正在訪問的用戶或者沒有關(guān)閉的數(shù)據(jù)庫(kù)鏈接,則還原失敗。

解決方案

解決方案1.

如果你使用管理工具還原數(shù)據(jù)庫(kù)并且在Microsoft SQL Server Management Studio 2016或以上版本的話,可以在還原的時(shí)候勾選"關(guān)閉到目標(biāo)數(shù)據(jù)庫(kù)的現(xiàn)有鏈接"

解決方案2.

如果你的SqlServer Management Studio的版本比較低,可以設(shè)置數(shù)據(jù)庫(kù)為單用戶模式,執(zhí)行完還原操作后,恢復(fù)為多用戶模式

設(shè)置方式:選中要還原的數(shù)據(jù)庫(kù)-->屬性-->選項(xiàng)-->限制訪問
該值從MULTI_USER修改為SINGLE_USER,此時(shí)該數(shù)據(jù)庫(kù)就會(huì)顯示為單用戶模式
這是GUI的模式,語(yǔ)句的辦法比較簡(jiǎn)單

---設(shè)置數(shù)據(jù)庫(kù)為單用戶模式
USE MASTER
GO
ALTER DATABASE eol_tcgroup SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
---設(shè)置數(shù)據(jù)庫(kù)為多用戶模式
USE MASTER
GO
ALTER DATABASE eol_tcgroup SET MULTI_USER WITH ROLLBACK IMMEDIATE;
GO

圖文教程:

1.選中無法還原的數(shù)據(jù)庫(kù),右鍵屬性

2.選擇選項(xiàng)-狀態(tài)-限制訪問-SINGLE_USER

解決方案3:

完全使用T-Sql的方式,執(zhí)行備份數(shù)據(jù)庫(kù)操作

use master
go
---聲明變量
declare @dbName nvarchar(max)='Mvc_HNHZ';
declare @dbFullName nvarchar(max)='E:\NewWork\Web\backup\test1.bak';
--1.1修改為單用模式
exec(N'ALTER DATABASE '+@dbName+' SET SINGLE_USER WITH ROLLBACK IMMEDIATE');
--1.2結(jié)束鏈接進(jìn)程
DECLARE @kid varchar(max)
SET @kid=''
SELECT @kid=@kid+'KILL '+CAST(spid as Varchar(10)) FROM master..sysprocesses
WHERE dbid=DB_ID(@dbName) ;
EXEC(@kid) ;
--2.執(zhí)行還原語(yǔ)句
restore database @dbName from disk=@dbFullName
with replace --覆蓋現(xiàn)有的數(shù)據(jù)庫(kù)
--3.重置數(shù)據(jù)庫(kù)為多用戶模式
exec(N'ALTER DATABASE '+@dbName+' SET MULTI_USER WITH ROLLBACK IMMEDIATE');

解決方案四:

出現(xiàn)這一問題的原因很可能是因?yàn)樵嘉募男袛?shù)據(jù)和日志文件沒有更改,需要更改。

1.在還原數(shù)據(jù)庫(kù)期間,從選項(xiàng)界面修改原始文件的行數(shù)據(jù)和日志文件。
點(diǎn)擊右側(cè)“…”按鈕,選擇路徑。根據(jù)界面上顯示的路徑找到具體位置。
此為博主博主電腦上的路徑舉例:“C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA”

2.根據(jù)數(shù)據(jù)庫(kù)對(duì)應(yīng)的名稱,選擇.mdf文件和.ldf文件

問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號(hào)又微信號(hào))右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡(jiǎn)潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對(duì)《免責(zé)聲明》全部?jī)?nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請(qǐng)勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請(qǐng)聯(lián)系站長(zhǎng)并出示版權(quán)證明以便刪除。 敬請(qǐng)諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評(píng)論,如有謬誤,請(qǐng)聯(lián)系指正;轉(zhuǎn)載請(qǐng)注明出處: » 還原Sql server數(shù)據(jù)庫(kù)失敗提示“數(shù)據(jù)庫(kù)正在使用,無法獲得對(duì)數(shù)據(jù)庫(kù)的獨(dú)占訪問權(quán)”的解決辦法

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護(hù);網(wǎng)站開發(fā)修改及維護(hù); 各財(cái)務(wù)軟件安裝調(diào)試及注冊(cè)服務(wù)(金蝶,用友,管家婆,速達(dá),星宇等);同時(shí)也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情