SQL2000中用backup 備份資料庫

來源:互聯網
上載者:User
SQL2000中用backup 備份資料庫但在用restore命令恢複時,用只備份一次的bak檔案恢複可以,但如果是儲存的幾次備份資料的bak檔案則出錯,為什麼會出錯?怎麼解決?

問題補充:我的備份語句,backup database test to disk='f:\1.bak'
在查詢分析器中執行一次成功,1.bak為1M,再執行一次,1.bak變為2M,
我用 restore database test from disk='f:\1.bak'還原時
系統提示:
伺服器: 訊息 3201,層級 16,狀態 2,行 1
無法開啟備份裝置 'f:\1.bak'。裝置出現錯誤或裝置離線。詳細資料請參閱 SQL Server 錯誤記錄檔。
伺服器: 訊息 3013,層級 16,狀態 1,行 1
RESTORE DATABASE 操作異常終止。

請問這是什麼原因?

    首先確保你在備份的時候沒有使用with Format或with init對現有備份檔案進行覆蓋操作。
對於一個備份檔案有多個備份組的情況,在還原的時候沒有指定還原哪個備份組,預設是還原最早的備份組。
在還原之前,使用如下命令查看備份組情況
restore headeronly from disk='備份的完整路徑'
結果集中Postion就表示的備份組的備份先後順序,一般後備份的postion的值比較的。
這時候在restore命令裡加上with file=檔案號(就是postion的值),就還原相應的備份組了。
比如還原postion為2的備份組
restore database 資料庫名 from disk='備份的完整路徑' with file=2    --資料庫複寫還原模板(1)
RESTORE DATABASE 資料庫名
FROM DISK='***.dmp' --dump檔案路徑
WITH MOVE '資料庫名_Data' TO '***.mdf', --待恢複資料庫的mdf檔案路徑
MOVE '資料庫名_Log' TO '***.ldf' --待恢複資料庫的ldf檔案路徑

--資料庫複寫還原模板(2)
RESTORE DATABASE 資料庫名
FROM DISK='***.DMP'

--查看裝置的邏輯檔案名稱
RESTORE FILELISTONLY FROM DISK='***.DMP'

--備份資料庫到裝置
BACKUP DATABASE 資料庫名
TO DISK='***.DMP' --帶備份的資料庫dump檔案路徑

--清掉資料庫日誌
DUMP TRAN 資料庫名 WITH NO_LOG

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.