SQL資料庫完全複製

來源:互聯網
上載者:User

標籤:style   使用   os   strong   檔案   資料   for   工作   

很少摸 Windows 環境下的東西,最近被個 MS SQL Server 的資料庫搞得頭大。實在不像 MySQL 那樣用起來輕車熟路, OrZ ...

本來以為企業管理器裡面既然提供了 DTS 資料匯入/匯出 的功能,直接使用 DTS 指定源和目標庫就可以完全複製資料庫到遠程伺服器上了。結果發現除了表的基本結構和資料,欄位約束、索引值、預設值等都沒過去。最終還是要靠直接磁碟拷貝資料檔案了事。

如果資料庫服務可以停下來的話,最快的方法是直接拷貝對應的 .mdf 和 .ldf 檔案(在企業管理器選擇資料庫右鍵看屬性的“資料檔案”項確定檔案名稱);然後執行T-SQL命令(比如新的目標資料庫名為 test ):

-- 如果 test 資料庫已經存在,需要先把其分離。
-- 如果已經有應用串連到該資料庫的話,使用以下語句強制斷開現有串連
ALTER DATABASE test

 
      SET SINGLE_USER 
      WITH ROLLBACK IMMEDIATE; 
-- 分離tst資料庫
EXEC sp_detach_db 
      @dbname = ‘test‘,
      @skipchecks = ‘true‘

-- 把拷貝出來的 .mdf 檔案和 .ldf 檔案作為 test 資料庫的資料檔案掛上去
EXEC sp_attach_db

 
      @dbname = ‘test‘, 
      @filename1 = ‘e:\db\test.mdf‘, 
      @filename2 = ‘e:\db\test.ldf‘

-- 如果不想使用原來的 .ldf 檔案,也可以單獨掛 .mdf 檔案
EXEC sp_attach_single_file_db

 
      @dbname = ‘test‘, 
      @physname = ‘e:\db\test.mdf‘

 

如果當前資料庫處於生產環境不允許關閉服務的話,可以使用 BACKUP / RESTORE 的方法來完成複製工作:

 

-- 把資料庫名為realdb的Database Backup到指定的磁碟檔案
-- 用 WITH FORMAT 參數對bak檔案進行格式化,以便進行完整重寫
BACKUP DATABASE realdb TO DISK = ‘E:\db\BAK_FOR_realdb.bak‘ WITH FORMAT
-- 用 RESTORE FILELISTONLY 命令查看Database Backup檔案裡面的
-- 資料檔案和記錄檔的邏輯名稱,用於下一步的命令
RESTORE FILELISTONLY FROM DISK = ‘E:\db\BAK_FOR_realdb.bak‘

-- 使用備份檔案建立一個新的資料庫, realdb_dat 和 realdb_log
-- 分別是上面使用 RESTORE FILELISTONLY 命令查出的資料檔案邏輯
-- 名稱
RESTORE DATABASE test
    FROM DISK = ‘E:\db\BAK_FOR_realdb.bak‘
    WITH MOVE ‘realdb_dat‘ TO ‘E:\db\test.mdf‘,
    MOVE ‘realdb_log‘ TO ‘E:\db\test.ldf‘
GO

 

 

 

聯繫我們

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