SQL Server 資料庫分離與附加

2021-09-07 21:56:29 字數 2585 閱讀 3626

sql server提供了「分離/附加」資料庫、「備份/還原」資料庫、複製資料庫等多種資料庫的備份和恢復方法。這裡介紹一種學習中常用的「分離/附加」方法,類似於大家熟悉的「檔案拷貝」方法,即把資料庫檔案(.mdf)和對應的日誌檔案(.ldf)拷貝到其它磁碟上作備份,然後把這兩個檔案再拷貝到任何需要這個資料庫的系統之中。比如,在實驗教學過程中,同學們常常想把自己在學校實驗室計算機中建立的資料庫搬遷到自己的計算機中而不想重新建立該資料庫,就可以使用這種簡單的方法。但由於資料庫管理系統的特殊性,需要利用sql server提供的工具才能完成以上工作,而直接的檔案拷貝是行不通的。

這個方法涉及到sql server分離資料庫和附加資料庫這兩個互逆操作工具。

1、分離資料庫就是將某個資料庫(如student_mis)從sql server資料庫列表中刪除,使其不再被sql server管理和使用,但該資料庫的檔案(.mdf)和對應的日誌檔案(.ldf)完好無損。分離成功後,我們就可以把該資料庫檔案(.mdf)和對應的日誌檔案(.ldf)拷貝到其它磁碟中作為備份儲存。

2、附加資料庫就是將乙個備份磁碟中的資料庫檔案(.mdf)和對應的日誌檔案(.ldf)拷貝到需要的計算機,並將其新增到某個sql server資料庫伺服器中,由該伺服器來管理和使用這個資料庫。

1. 在啟動ssms並連線到資料庫伺服器後,在物件資源管理器中展開伺服器節點。在資料庫物件下找到需要分離的資料庫名稱,這裡以student_mis資料庫為例。右鍵單擊student_mis資料庫,在彈出的快捷選單中選擇屬性。

2. 在「資料庫屬性」視窗左邊「選擇頁」下面區域中選定「選項」物件,然後右邊區域的「其它選項」列表中找到「狀態」項,單擊「限制訪問」文字框,在其下拉列表中選擇「single_user」。

3. 在上圖中單擊「確定」按鈕後將出現乙個訊息框,通知我們此操作將關閉所有與這個資料庫的連線,是否繼續這個操作(如下圖)。注意:在大型資料庫系統中,隨意斷開資料庫的其它連線是乙個危險的動作,因為我們無法知道連線到資料庫上的應用程式正在做什麼,也許被斷開的是乙個正在對資料複雜更新操作、且已經執行較長時間的事務。

4. 單擊「是」按鈕後,資料庫名稱後面增加顯示「單個使用者」(如下圖)。右鍵單擊該資料庫名稱,在快捷選單中選擇「任務」的二級選單項「分離」。出現下圖所示的「分離資料庫」視窗。

5. 在下圖的分離資料庫視窗中列出了我們要分離的資料庫名稱。請選中「更新統計資訊」核取方塊。若「訊息」列中沒有顯示存在活動連線,則「狀態」列顯示為「就緒」;否則顯示「未就緒」,此時必須勾選「刪除連線」列的核取方塊。

6. 分離資料庫引數設定完成後,單擊底部的」確定」按鈕,就完成了所選資料庫的分離操作。這時在物件資源管理器的資料庫物件列表中就見不到剛才被分離的資料庫名稱student_mis了(如下圖)。

1. 將需要附加的資料庫檔案和日誌檔案拷貝到某個已經建立好的資料夾中。出於教學目的,我們將該檔案拷貝到安裝sql server時所生成的目錄data資料夾中。

2. 在下圖視窗中,右擊資料庫物件,並在快捷選單中選擇「附加」命令,開啟「附加資料庫」視窗。

3. 在「附加資料庫」視窗中,單擊頁面中間的「新增」按鈕,開啟定位資料庫檔案的視窗,在此視窗中定位剛才拷貝到sql server的data資料夾中的資料庫檔案目錄(資料檔案不一定要放在「data」目錄中),選擇要附加的資料庫檔案(字尾.mdf,如下圖)。

4. 單擊「確定」按鈕就完成了附加資料庫檔案的設定工作。這時,在附加資料庫視窗中列出了需要附加資料庫的資訊(如下圖)。如果需要修改附加後的資料庫名稱,則修改「附加為」文字框中的資料庫名稱。我們這裡均採用預設值,因此,單擊確定按鈕,完成資料庫的附加任務。

完成以上操作,我們在ssms的物件資源管理器中就可以看到剛剛附加的資料庫student_mis (如下圖)。

以上操作可以看出,如果要將某個資料庫遷移到同一臺計算機的不同sql server例項中或其它計算機的sql server系統中,分離和附加資料庫的方法是很有用的。

SQL Server 資料庫分離錯誤

sql server 資料庫分離指的是將資料庫從sql server中解除安裝掉,這樣,不但該資料庫文在sql server的企業管理器中看不到,而且該資料庫的資料檔案與日誌檔案也可以被刪除,但是今天我在做這個操作的時候發現,在進行資料庫分離的時候總是失敗,提示的出錯資訊表示該資料庫正在使用,查了一...

SQL Server 2000 資料庫分離與附加

sp detach db 從伺服器分離資料庫,並可以選擇在分離前在所有的表上執行 update statistics。語法sp detach db dbname dbname skipchecks skipchecks 引數 dbname dbname 要分離的資料庫名稱。dbname 的資料型別為...

資料庫分離和附加 SQL Server

分離唯讀資料庫將會丟失有關差異備份的差異基準的資訊。有關詳細資訊,請參閱 差異備份 sql server 分離資料庫時生成的錯誤會阻止完全關閉資料庫和重新生成事務日誌。收到錯誤訊息後,請執行下列更正操作 重新附加與資料庫關聯的所有檔案,而不僅僅是主檔案。解決導致生成錯誤訊息的問題。再次分離資料庫。您...