程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> sql server 復原數據庫時提醒數據庫正在應用,沒法停止操作的處理辦法

sql server 復原數據庫時提醒數據庫正在應用,沒法停止操作的處理辦法

編輯:MSSQL

sql server 復原數據庫時提醒數據庫正在應用,沒法停止操作的處理辦法。本站提示廣大學習愛好者:(sql server 復原數據庫時提醒數據庫正在應用,沒法停止操作的處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是sql server 復原數據庫時提醒數據庫正在應用,沒法停止操作的處理辦法正文


這個成績的緣由在於有效戶銜接了以後要做復原的數據庫,這裡的用戶乃至包含以後要做復原的用戶。處理方法就是封閉與要復原數據庫的一切銜接。

小編推舉的一個辦法:到辦事外面重啟下sqlserver辦事便可。

成績一描寫:SQL Server數據庫備份復原後,在數據庫稱號後會湧現“受限制拜訪”字樣

成績二描寫:在對SQL Server數據庫停止復原時,提醒:System.Data.SqlClient.SqlError:由於數據庫正在應用,所以沒法取得對數據庫的獨有拜訪權。(Microsoft.SqlServer.Smo)。湧現此成績的緣由是在復原數據庫時,有其他用戶正在應用數據庫。復原數據庫請求數據庫任務在單用戶形式。平日就是DBA在操作時,不許可其他用戶銜接數據庫。

成績一處理方法:

右鍵點擊數據庫 -> 屬性 -> 選項 -> 狀況 -> 限制拜訪 -> 選擇Multiple -> 肯定。

成績二處理方法:

辦法一(最便利):右鍵點擊數據庫 -> 屬性 -> 選項 -> 狀況 -> 限制拜訪 -> 選擇Single-> 肯定。然後復原。
辦法二(最直接):斷開數據庫銜接
辦法三(最暴力):刊出/重啟數據庫辦事器
辦法四(最費事):寫代碼修正數據庫相干屬性,固然費事,有的時刻照樣要用到,那就用到的時刻再研討。

①先切換數據庫到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數據庫上面履行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved