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