sql server 還原數(shù)據(jù)庫時(shí)提示數(shù)據(jù)庫正在使用,無法進(jìn)行操作的解決方法_Mssql數(shù)據(jù)庫教程
推薦:MSSQL 2005/2008 日志壓縮清理方法小結(jié)本教程會詳細(xì)介紹下MSSQL 2005和MSSQL 2008刪除或壓縮數(shù)據(jù)庫日志的方法,感興趣的朋友可以參考下哈,希望可以幫助到你
這個(gè)問題的原因在于有用戶連接了當(dāng)前要做還原的數(shù)據(jù)庫,這里的用戶甚至包括當(dāng)前要做還原的用戶。解決辦法就是關(guān)閉與要還原數(shù)據(jù)庫的所有連接。
①先切換數(shù)據(jù)庫到master數(shù)據(jù)庫。執(zhí)行語句
select * from master..sysprocesses where dbid=db_id( '數(shù)據(jù)庫名稱')
②然后逐步運(yùn)行語句 exec kill spid(上一步結(jié)果集中的數(shù)據(jù)),
問題就解決了。哈哈
今天在還原數(shù)據(jù)庫的時(shí)候,提示"因?yàn)閿?shù)據(jù)庫正在使用,所以無法獲得對數(shù)據(jù)庫的獨(dú)占訪問權(quán)",無論我是重啟數(shù)據(jù)庫,還是重啟計(jì)算機(jī),都不能解決問題,多番嘗試后,終于解決了該問題。現(xiàn)將引發(fā)該問題的原因與解決方案寫出來,有不對的地方歡迎大家提出來。
引發(fā)原因:是因?yàn)槲以谶原數(shù)據(jù)庫的時(shí)候,還有其他的用戶正在使用數(shù)據(jù)庫,所以就會出現(xiàn)以上提示。
解決方法:
1,設(shè)置數(shù)據(jù)庫在單用戶模式下工作。
設(shè)置方法:在需要還原的數(shù)據(jù)庫上右擊,在右鍵菜單命令上選擇"屬性"- >"選項(xiàng)"- >"狀態(tài)"- >"限制訪問"- >"Single"。這是SQLSERVER2005的菜單命令,其它版本請自己查找。
2,利用SQL語句,殺死正在使用該數(shù)據(jù)庫的所有進(jìn)程,自己以前在做一個(gè)SQL SERVER操作小工具的時(shí)候有寫過該功能的SQL,貼出來供大家參考:
declare @dbname varchar(50)
set @dbname='數(shù)據(jù)庫名稱'
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語句利用游標(biāo)循環(huán)所有正在使用該數(shù)據(jù)庫的進(jìn)程,并通過kill命令殺死進(jìn)程。
3,利用SQL語句,斷開所有用戶鏈接,并回滾所有事務(wù),具體SQL語句如下:
ALTER DATABASE [數(shù)據(jù)庫名稱]
SET OFFLINE WITH ROLLBACK IMMEDIATE
注意:在使用方法2與3時(shí),不要在需要的還原的數(shù)據(jù)庫下執(zhí)行,建議在master數(shù)據(jù)庫下面執(zhí)行。
分享:真正高效的SQLSERVER分頁查詢(多種方案)Sqlserver數(shù)據(jù)庫分頁查詢一直是Sqlserver的短板,分頁查詢每頁30條,查詢第1500頁(即第45001-45030條數(shù)據(jù))進(jìn)行測試,分析出最高效的查詢,感興趣的朋友可以參考下哈
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 揭秘SQL Server視圖使用中4個(gè)限制條件
- 怎樣利用SQL Server 2005中的模板參數(shù)
- 怎樣從SQL Server備份文件導(dǎo)入現(xiàn)存數(shù)據(jù)庫
- 詳解SQL命令大全--中文翻譯
- 用JavaBean編寫SQL Server數(shù)據(jù)庫連接類
- 如何在SAN上創(chuàng)建SQL Server群集
- 精通數(shù)據(jù)庫系列之入門——基礎(chǔ)篇1
- 解讀五種查詢數(shù)據(jù)庫中重復(fù)記錄的方法
- 怎樣利用SQL Server復(fù)制技術(shù)實(shí)現(xiàn)數(shù)據(jù)同步更新
- shp2sqlserver 用法簡析
猜你也喜歡看這些
- JDBC數(shù)據(jù)庫的使用操作總結(jié)
- 解決MYSQL出現(xiàn)Can''t create/write to file ''#sql_5c0_0.MYD''的問題
- 通過mysqladmin遠(yuǎn)程管理mysql的方法
- mysql 數(shù)據(jù)庫 (基礎(chǔ)) 筆記
- 如何通過SQL找出2個(gè)表里值不同的列的方法
- 把視頻文件直接存儲到mysql數(shù)據(jù)庫的方法
- MySQL筆記之子查詢使用介紹
- MySQL筆記之函數(shù)查詢的使用
- MySQL 關(guān)于表復(fù)制 insert into 語法的詳細(xì)介紹
- MySQL筆記之連接查詢詳解
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索sql server 還原數(shù)據(jù)庫時(shí)提示數(shù)據(jù)庫正在使用,無法進(jìn)行操作的解決方法
- 教程說明:
Mssql數(shù)據(jù)庫教程-sql server 還原數(shù)據(jù)庫時(shí)提示數(shù)據(jù)庫正在使用,無法進(jìn)行操作的解決方法。