国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql server 還原數據庫時提示數據庫正在使用,無法進行操作的解決方法

2024-08-31 00:56:24
字體:
來源:轉載
供稿:網友

這個問題的原因在于有用戶連接了當前要做還原的數據庫,這里的用戶甚至包括當前要做還原的用戶。解決辦法就是關閉與要還原數據庫的所有連接。

①先切換數據庫到master數據庫。執行語句

select * from master..sysprocesses where dbid=db_id( '數據庫名稱')

②然后逐步運行語句 exec kill spid(上一步結果集中的數據),

問題就解決了。哈哈

今天在還原數據庫的時候,提示"因為數據庫正在使用,所以無法獲得對數據庫的獨占訪問權",無論我是重啟數據庫,還是重啟計算機,都不能解決問題,多番嘗試后,終于解決了該問題。現將引發該問題的原因與解決方案寫出來,有不對的地方歡迎大家提出來。

引發原因:是因為我在還原數據庫的時候,還有其他的用戶正在使用數據庫,所以就會出現以上提示。

解決方法:

1,設置數據庫在單用戶模式下工作。

設置方法:在需要還原的數據庫上右擊,在右鍵菜單命令上選擇"屬性"- >"選項"- >"狀態"- >"限制訪問"- >"Single"。這是SQLSERVER2005的菜單命令,其它版本請自己查找。

2,利用SQL語句,殺死正在使用該數據庫的所有進程,自己以前在做一個SQL SERVER操作小工具的時候有寫過該功能的SQL,貼出來供大家參考:

復制代碼 代碼如下:


declare @dbname varchar(50)
set @dbname='數據庫名稱'
declare @sql varchar(50)
declare cs_result cursor local for select 'kill '+cast(spid as varchar(50)) from sys.sysprocesses where db_name(dbid)=@dbname
open cs_result
fetch next from cs_result into @sql
while @@fetch_status=0
begin
execute(@sql)
fetch next from cs_result into @sql
end
close cs_result
deallocate cs_result

該SQL語句利用游標循環所有正在使用該數據庫的進程,并通過kill命令殺死進程。

3,利用SQL語句,斷開所有用戶鏈接,并回滾所有事務,具體SQL語句如下:

復制代碼 代碼如下:


ALTER DATABASE [數據庫名稱]
SET OFFLINE WITH ROLLBACK IMMEDIATE

注意:在使用方法2與3時,不要在需要的還原的數據庫下執行,建議在master數據庫下面執行。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都兰县| 青阳县| 凌源市| 武陟县| 临西县| 河池市| 永城市| 双鸭山市| 宜川县| 仪陇县| 焉耆| 中卫市| 宜都市| 秦安县| 淳化县| 河东区| 安庆市| 东阳市| 锡林郭勒盟| 蒙城县| 玉树县| 钟山县| 银川市| 玉山县| 葵青区| 苍溪县| 乌拉特中旗| 博白县| 萨迦县| 乌拉特中旗| 原阳县| 土默特右旗| 平南县| 呼玛县| 肇东市| 济宁市| 台湾省| 靖远县| 和静县| 阿拉善左旗| 淮安市|