當前位置:首頁 » 編程語言 » 還原提示正在使用sql2000
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

還原提示正在使用sql2000

發布時間: 2022-07-22 19:53:41

sql Server 2000在還原資料庫時,提示「超時已過期」

如果多次報超時錯,而電腦運行其它程序並無明顯緩慢跡象,應該查找其它方面原因。

1.首先觀察系統分區和資料庫所在分區的硬碟剩餘空間,建議硬碟剩餘空間在該分區空間的10%以上。如果資料庫分區剩餘空間過小,有可能無法還原資料庫。

2.如果排除了硬碟空間問題,可先將使用資料庫解掛或備份,然後刪除SQL Server 2000,從系統的Program Files下刪除Microsoft SQL Server文件夾,然後再重新安裝Microsoft SQL Server,最後還原或附加資料庫。

② SQL2000資料庫恢復操作提示錯誤

把伺服器重啟一下,再回復,因為現在資料庫正在使用中,所以沒法回復,重啟時你最好先把伺服器的網線拔下來,因為別人有可能還會連這個資料庫,這樣的話你還是無法恢復資料庫

③ sql server2000還原資料庫 提示正在被使用

可能是你要還原的這個資料庫正在使用,你必須離線或者關閉連接才可以的

④ SQL SERVER 2000創建資料庫提示文件正在使用如何處理

說明已存在一個名字為T 的資料庫了哇。你再的創建那肯定會出錯嘛。你應該是不止一次運行這條語句了。可以把T改個名字,或者把原來存在的資料庫先刪除掉。

⑤ 我要還原一資料庫A 用的是SQL SERVER2000,還原中提示版本過低,要用2005,可我不想用2005,還有其他辦法

地址已經更新,你重新打開看看吧!
sql2005中的備份要在sql2000中還原,首先在sql2005中還原,然後選擇兼容sql2000(80),備份後再在sql2000種還原。

可以的,我試過一種方法你可以參考一下!

相信你能看懂的!

⑥ sql資料庫恢復失敗,正在使用 怎麼回事

<a href=".windbi/showtopic-35.aspx" rel=nofollow>.windbi/showtopic-35.aspx</a>備份一個資料庫,並恢復為其他名稱的資料庫--王成輝原創,轉貼請註明出自微軟BI開拓者<a href=".windbi" rel=nofollow>.windbi</a>--備份
BACKUP DATABASE OldDataBase
TO DISK = 'C:\OldDataBase.bak'--驗證RESTORE FILELISTONLY
FROM DISK = 'C:\OldDataBase.bak'--恢復RESTORE DATABASE NewDataBase
FROM DISK = 'C:\OldDataBase.bak'
with replace,
MOVE 'OldDataBase_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\data\NewDataBase_Data.MDF',
MOVE 'OldDataBase_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\data\NewDataBase_Log.LDF'
--更改邏輯名

⑦ SQL SEVER 2000 備份還原問題

消息正文
因為資料庫正在使用,所以未能獲得對資料庫的排它訪問權。

解釋
如果在用戶正訪問資料庫時試圖裝載備份,則發生該錯誤。該錯誤會在使用 RESTORE DATABASE 或 RESTORE LOG 時發生。當包括您自己在內的任何用戶正在使用資料庫時,無法使用 RESTORE DATABASE 語句。
辦法:
等待所有用戶都已使用完畢資料庫後,再使用 RESTORE DATABASE 語句。在發出 RESTORE DATABASE 語句時,確保未使用正在裝載的資料庫。

⑧ 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資料庫下面執行。

⑨ 用SQL Server2000還原資料庫,提示資料庫正在使用,未能獲得對資料庫的排他訪問權,資料庫無法離線

分離資料庫後試試看。

⑩ sql2000關於資料庫還原

前提必須你的數據是完整日誌。這是必須的

然後按照下面的步驟來恢復資料庫

從日誌回復資料庫 :
--創建測試資料庫
CREATE DATABASE Db
GO
--對資料庫進行備份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
GO
--創建測試表
CREATE TABLE Db.dbo.TB_test(ID int)
--延時1秒鍾,再進行後面的操作(這是由於SQL Server的時間精度最大為百分之三秒,不延時的話,可能會導致還原到時間點的操作失敗)
WAITFOR DELAY '00:00:01'
GO
--假設我們現在誤操作刪除了 Db.dbo.TB_test 這個表
DROP TABLE Db.dbo.TB_test
--保存刪除表的時間
SELECT dt=GETDATE() INTO #
GO
--在刪除操作後,發現不應該刪除表 Db.dbo.TB_test
--下面演示了如何恢復這個誤刪除的表 Db.dbo.TB_test
--首先,備份事務日誌(使用事務日誌才能還原到指定的時間點)
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
GO
--接下來,我們要先還原完全備份(還原日誌必須在還原完全備份的基礎上進行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
GO
--將事務日誌還原到刪除操作前(這里的時間對應上面的刪除時間,並比刪除時間略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM # --獲取比表被刪除的時間略早的時間
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
GO
--查詢一下,看錶是否恢復
SELECT * FROM Db.dbo.TB_test

/*--結果:
ID
-----------

(所影響的行數為 0 行)
--*/

--測試成功
GO

--最後刪除我們做的測試環境
DROP DATABASE Db
DROP TABLE #