首頁 > 軟體

SQL Server資料庫分離和附加資料庫的操作步驟

2022-10-28 14:04:36

1. 概述

若要將資料庫移動或更改到同一計算機的不同 SQL Server 範例,分離和附加資料庫會很有用;使用者可以分離資料庫的資料和事務紀錄檔檔案,再將它們重新附加到同一或其他 SQL Server 範例中;

在 64 位和 32 為環境中,SQL Server 磁碟儲存格式均相同,所以,能將 32 位環境中的資料庫附加到 64 位環境中,反過來也行;

從執行在某個環境中的伺服器範例上分離的資料庫可以附加到執行在另一個環境的伺服器範例;

注意: 不要從未知或不可信源附加或還原資料庫;此類資料庫可能包含執行非預期 T-SQL 程式碼的惡意程式碼,或通過修改架構或物理資料庫結構導致錯誤;在使用未知源或不可信源中的資料庫之前,在非生產伺服器中對資料庫執行 DBCC CHECKDB,同時檢查資料庫中的程式碼;

2. 分離資料庫

分離資料庫 指從 SQL Server 範例中刪除,但使資料庫在其資料檔案和事物紀錄檔檔案保持不變;之後,就能使用這些檔案將資料庫附加到任何 SQL Server 範例,包括分離該資料庫的伺服器;

若存在以下任何情況,就不能分離資料庫;

  1. 已複製並行布的資料庫;若進行復制,資料庫就必須是未釋出的,必須通過執行 sp_replicationdboption 禁用釋出後,才能分離資料庫;
  2. 資料庫中存在資料庫快照,必須先刪除所有資料庫快照,才能分離資料庫;
  3. 該資料庫正在某個資料庫映象對談中進行映象,不終止該對談,就不能分離該資料庫;
  4. 資料庫處於可疑狀態;
  5. 該資料庫是系統資料庫;

2.1 分離資料庫的步驟

  1. 在 SSMS 物件資源管理器中連線到 SQL Server 資料庫引擎的範例,展開該範例;
  2. 展開資料庫,選擇要分離的使用者資料庫名稱;
  3. 右擊資料庫 → 任務 → 分離

4.分離資料庫對話方塊,確定;

3. 附加資料庫

通過 SSMS ,使用者同樣能附加複製的或分離的 SQL Server 資料庫;

注意: 附加資料庫時,該資料庫必須已分離且所有資料檔案(MDF 檔案或 NDF 檔案)都必須可用;

附加紀錄檔檔案的要求在某些方面取決於是讀寫還是唯讀的;

若讀寫資料庫具有單個紀錄檔檔案,且沒有為該紀錄檔檔案指定新位置,附加操作將在舊位置中查詢該檔案;

若找到了該就紀錄檔檔案,無論資料庫上次是否完全關閉,都會使用該檔案;但是,若未找到舊檔案紀錄檔,資料庫上次是完全關閉且現在沒有活動紀錄檔鏈,則附加操作將嘗試為資料建立新的紀錄檔檔案;

反之,若附加的主資料檔案是唯讀的,則資料庫引擎假定該資料庫也是唯讀的;對於唯讀資料庫,紀錄檔檔案在資料庫中指定的位置上必須可用;

從上述內容能看出,使用者嘗試附加 SQL Server 資料庫前,必須具備一定的先決條件,如下所示:

  1. 必須先分離資料庫,任何嘗試附加未分離的資料庫都將返回錯誤;
  2. 附加資料庫時,所有資料檔案(MDF 檔案和 LDF 檔案)都必須可用;若任何資料檔案路徑不同於首次建立資料庫或上次附加資料庫時的路徑,則必須指定檔案的當前路徑;
  3. 在附加資料庫時,若 MDF 和 LDF 檔案位於不同目錄且其中一條路徑包含 ?GlobalRoot,該操作將失敗;

3.1 附加資料的操作步驟

附加資料庫到指定目標上,操作步驟如下:

1.右擊資料庫附加

2.附加資料庫對話方塊中,若要指定要附加的資料庫,可單擊新增,在定位資料庫檔案中選擇資料庫所在的磁碟驅動器並展開目錄,以查詢並選擇資料的**.mdf** 資料庫檔案;

總結 

到此這篇關於SQL Server資料庫分離和附加資料庫的文章就介紹到這了,更多相關SQLServer分離和附加資料庫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com