--1.你備份的時候選擇了多個目標路徑
--3.解決辦法,你還原的時候把兩個備份文件一起添加進來再還原或者備份的時候不要備份在兩個個文件中
㈡ 還原資料庫失敗怎麼辦
備份的資料庫版本高於還原的版本。可嘗試在要還原資料庫的電腦上更新SQLSERVER的版本;也可在備份機將資料庫或表轉成其它格式導入新資料庫,但限於簡單的。供參考!
㈢ SQL2008資料庫在重裝還原之後連不上主機資料庫了怎麼辦
您好,您先檢查一下您的sa賬戶密碼是否正確,或者是查看資料庫配置內是否禁用了遠程登錄
㈣ 資料庫還原出現錯誤,是什麼原因要怎麼處理
出現這個問題一般只有兩個原因,一可能是.bak文件損壞,二可能你用高版本的備分SQL Server 資料庫 的.bak文件想在低版本的SQL Server 上還原。
有時候你裝了多個版本的SQL Server 在同一台機子上,你想用高版的SQL Server 還原打開SQL Server Management Studio時連接卻是低版本的SQL Server 服務,這種情況也無法還原成功,也是由於上面列的第二個原因,我機子上做了SQL Server 2008 和 SQL Server 2005,當時用SQL 2008的SQL Server Management Studio 連接時伺服器名是默認名「XXXX-PC\SQLEXPRESS」時連接的總是SQL 2005的服務實例,.bak也因此始終會彈」媒體簇的結構不正確「無法處理的錯誤,後來將連接時伺服器名直接改為」XXXX-PC「就好了,當然這取決於你的安裝SQL 2008 時服務設置。
㈤ 使用SQL還原資料庫時不能還原怎麼解決
重啟SQL服務後試試還原
資料庫在使用中的時候可能會出現等待的情況.但大多數等待都是停止了還原
㈥ 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資料庫下面執行。