SQLSERVERDatabase Backup後無法還原的解決辦法

來源:互聯網
上載者:User
有時候為了考慮資料安全我們都會備份資料庫,sqlserver的備份格式一般都是bak結尾的,但覆蓋時容易出問題,這裡簡單介紹下,需要的朋友可以參考下 有時候完全備份, 當還原的時候說不時資料庫檔案不讓還原, 解決辦法:
可以直接複製資料庫檔案, xxx.mdf 和 xxx.ldf (實際複製過程中需要先停止sqlserver服務才可以)

用 sp_attach_db 預存程序 就能搞定.

樣本
下面的樣本將 pubs 中的兩個檔案附加到當前伺服器。

EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf',
@filename2 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs_log.ldf'


N 表示Unicode的含義,就象類型中有varchar和nvarchar一樣,一個Unicode字元佔兩個位元組.使用N'的情況主要是在雙位元組系統環 境中強制系統對每個字元用Unicode標準來解釋,否則如果你的資料庫.mdf檔案是中文名而又不加N'的話,資料庫載入後名稱可能就變成亂碼,因為系 統按單位元組處理字元造成!


............................................................


如果確認是SQL SERVER無法啟動,請按照下面步驟操作:
1.重裝SQL SERVER(注意要保留原來資料庫的資料庫檔案,記錄檔可不要)
2.在SQL Analysis中用sp_attach_db將資料庫加到伺服器

sp_attach_db用法:
sp_attach_db
將資料庫附加到伺服器。

文法
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]

參數
[@dbname =] 'dbname'

要附加到伺服器的資料庫的名稱。該名稱必須是唯一的。dbname 的資料類型為 sysname,預設值為 NULL。

[@filename1 =] 'filename_n'

數 據庫檔案的實體名稱,包括路徑。filename_n 的資料類型為 nvarchar(260),預設值為 NULL。最多可以指定 16 個檔案名稱。參數名稱以 @filename1 開始,遞增到 @filename16。檔案名稱列表至少必須包括主檔案,主檔案包含指向資料庫中其它檔案的系統資料表。該列表還必須包括資料庫分離後所有被移動的檔案。

傳回碼值
0(成功)或 1(失敗)

結果集


注釋
只應對以前使用顯式 sp_detach_db 操作從資料庫伺服器分離的資料庫執行 sp_attach_db。如果必須指定多於 16 個檔案,請使用帶有 FOR ATTACH 子句的 CREATE DATABASE。

如果將資料庫附加到的伺服器不是該資料庫從中分離的伺服器,並且啟用了分離的資料庫以進行複製,則應該運行 sp_removedbreplication 從資料庫刪除複製。

許可權
只有 sysadmin 和 dbcreator 固定伺服器角色的成員才能執行本過程。 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.