SQL Server 數(shù)據(jù)庫分離與附加 就這么簡單!
一、概述
SQL Server提供了“分離/附加”數(shù)據(jù)庫、“備份/還原”數(shù)據(jù)庫、復(fù)制數(shù)據(jù)庫等多種數(shù)據(jù)庫的備份和恢復(fù)方法。這里介紹一種學(xué)習(xí)中常用的“分離/附加”方法,類似于大家熟悉的“文件拷貝”方法,即把數(shù)據(jù)庫文件(.MDF)和對應(yīng)的日志文件(.LDF)拷貝到其它磁盤上作備份,然后把這兩個(gè)文件再拷貝到任何需要這個(gè)數(shù)據(jù)庫的系統(tǒng)之中。比如,在實(shí)驗(yàn)教學(xué)過程中,同學(xué)們常常想把自己在學(xué)校實(shí)驗(yàn)室計(jì)算機(jī)中創(chuàng)建的數(shù)據(jù)庫搬遷到自己的計(jì)算機(jī)中而不想重新創(chuàng)建該數(shù)據(jù)庫,就可以使用這種簡單的方法。但由于數(shù)據(jù)庫管理系統(tǒng)的特殊性,需要利用SQL Server提供的工具才能完成以上工作,而直接的文件拷貝是行不通的。
這個(gè)方法涉及到SQL Server分離數(shù)據(jù)庫和附加數(shù)據(jù)庫這兩個(gè)互逆操作工具。
1、分離數(shù)據(jù)庫就是將某個(gè)數(shù)據(jù)庫(如student_Mis)從SQL Server數(shù)據(jù)庫列表中刪除,使其不再被SQL Server管理和使用,但該數(shù)據(jù)庫的文件(.MDF)和對應(yīng)的日志文件(.LDF)完好無損。分離成功后,我們就可以把該數(shù)據(jù)庫文件(.MDF)和對應(yīng)的日志文件(.LDF)拷貝到其它磁盤中作為備份保存。
2、附加數(shù)據(jù)庫就是將一個(gè)備份磁盤中的數(shù)據(jù)庫文件(.MDF)和對應(yīng)的日志文件(.LDF)拷貝到需要的計(jì)算機(jī),并將其添加到某個(gè)SQL Server數(shù)據(jù)庫服務(wù)器中,由該服務(wù)器來管理和使用這個(gè)數(shù)據(jù)庫。
二、分離數(shù)據(jù)庫
1. 在啟動SSMS并連接到數(shù)據(jù)庫服務(wù)器后,在對象資源管理器中展開服務(wù)器節(jié)點(diǎn)。在數(shù)據(jù)庫對象下找到需要分離的數(shù)據(jù)庫名稱,這里以student_Mis數(shù)據(jù)庫為例。右鍵單擊student_Mis數(shù)據(jù)庫,在彈出的快捷菜單中選擇屬性。
2. 在“數(shù)據(jù)庫屬性”窗口左邊“選擇頁”下面區(qū)域中選定“選項(xiàng)”對象,然后右邊區(qū)域的“其它選項(xiàng)”列表中找到“狀態(tài)”項(xiàng),單擊“限制訪問”文本框,在其下拉列表中選擇“SINGLE_USER”。
3. 在上圖中單擊“確定”按鈕后將出現(xiàn)一個(gè)消息框,通知我們此操作將關(guān)閉所有與這個(gè)數(shù)據(jù)庫的連接,是否繼續(xù)這個(gè)操作(如下圖)。注意:在大型數(shù)據(jù)庫系統(tǒng)中,隨意斷開數(shù)據(jù)庫的其它連接是一個(gè)危險(xiǎn)的動作,因?yàn)槲覀儫o法知道連接到數(shù)據(jù)庫上的應(yīng)用程序正在做什么,也許被斷開的是一個(gè)正在對數(shù)據(jù)復(fù)雜更新操作、且已經(jīng)運(yùn)行較長時(shí)間的事務(wù)。
4. 單擊“是”按鈕后,數(shù)據(jù)庫名稱后面增加顯示“單個(gè)用戶”(如下圖)。右鍵單擊該數(shù)據(jù)庫名稱,在快捷菜單中選擇“任務(wù)”的二級菜單項(xiàng)“分離”。出現(xiàn)下圖所示的“分離數(shù)據(jù)庫”窗口。
5. 在下圖的分離數(shù)據(jù)庫窗口中列出了我們要分離的數(shù)據(jù)庫名稱。請選中“更新統(tǒng)計(jì)信息”復(fù)選框。若“消息”列中沒有顯示存在活動連接,則“狀態(tài)”列顯示為“就緒”;否則顯示“未就緒”,此時(shí)必須勾選“刪除連接”列的復(fù)選框。
6. 分離數(shù)據(jù)庫參數(shù)設(shè)置完成后,單擊底部的”確定”按鈕,就完成了所選數(shù)據(jù)庫的分離操作。這時(shí)在對象資源管理器的數(shù)據(jù)庫對象列表中就見不到剛才被分離的數(shù)據(jù)庫名稱student_Mis了(如下圖)。
三、附加數(shù)據(jù)庫
1. 將需要附加的數(shù)據(jù)庫文件和日志文件拷貝到某個(gè)已經(jīng)創(chuàng)建好的文件夾中。出于教學(xué)目的,我們將該文件拷貝到安裝SQL Server時(shí)所生成的目錄DATA文件夾中。
2. 在下圖窗口中,右擊數(shù)據(jù)庫對象,并在快捷菜單中選擇“附加”命令,打開“附加數(shù)據(jù)庫”窗口。
3. 在“附加數(shù)據(jù)庫”窗口中,單擊頁面中間的“添加”按鈕,打開定位數(shù)據(jù)庫文件的窗口,在此窗口中定位剛才拷貝到SQL Server的DATA文件夾中的數(shù)據(jù)庫文件目錄(數(shù)據(jù)文件不一定要放在“DATA”目錄中),選擇要附加的數(shù)據(jù)庫文件(后綴.MDF,如下圖)。
4. 單擊“確定”按鈕就完成了附加數(shù)據(jù)庫文件的設(shè)置工作。這時(shí),在附加數(shù)據(jù)庫窗口中列出了需要附加數(shù)據(jù)庫的信息(如下圖)。如果需要修改附加后的數(shù)據(jù)庫名稱,則修改“附加為”文本框中的數(shù)據(jù)庫名稱。我們這里均采用默認(rèn)值,因此,單擊確定按鈕,完成數(shù)據(jù)庫的附加任務(wù)。
完成以上操作,我們在SSMS的對象資源管理器中就可以看到剛剛附加的數(shù)據(jù)庫student_Mis (如下圖)。
以上操作可以看出,如果要將某個(gè)數(shù)據(jù)庫遷移到同一臺計(jì)算機(jī)的不同SQL Server實(shí)例中或其它計(jì)算機(jī)的SQL Server系統(tǒng)中,分離和附加數(shù)據(jù)庫的方法是很有用的。
相關(guān)文章
基于Microsoft SQL Server實(shí)現(xiàn)編寫漢字轉(zhuǎn)拼音函數(shù)
在搜索應(yīng)用中,我們一般會提供一個(gè)搜索框,輸入關(guān)健字,點(diǎn)擊查詢按鈕以獲取結(jié)果數(shù)據(jù),大部分情況我們會提供模糊查詢的形式以在一個(gè)或多個(gè)字段進(jìn)行搜索以獲取結(jié)果,本文給大家就介紹了基于Microsoft SQL Server實(shí)現(xiàn)編寫漢字轉(zhuǎn)拼音函數(shù),需要的朋友可以參考下2024-03-03sqlserver isnull在數(shù)據(jù)庫查詢中的應(yīng)用
isnull在數(shù)據(jù)庫查詢中的應(yīng)用,特別是再語句連接的時(shí)候需要用到2011-11-11sql 語句 取數(shù)據(jù)庫服務(wù)器上所有數(shù)據(jù)庫的名字
sql 語句 取數(shù)據(jù)庫服務(wù)器上所有數(shù)據(jù)庫的名字,一般作者自己是沒問題了。2009-02-02拯救你的數(shù)據(jù) 通過日志恢復(fù)MSSQL數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何通過日志恢復(fù)MSSQL數(shù)據(jù)的具體步驟,感興趣的小伙伴們可以參考一下2016-05-05Sql Server2012 使用IP地址登錄服務(wù)器的配置圖文教程
最近在使用NFineBase框架+c#做一個(gè)系統(tǒng)的時(shí)候,在使用sql server 2012 連接數(shù)據(jù)庫的時(shí)候,在使用過程中遇到了幾個(gè)問題,下面小編給大家分享Sql Server2012 使用IP地址登錄服務(wù)器的配置圖文教程,一起學(xué)習(xí)吧2017-07-07SQL Server下幾個(gè)危險(xiǎn)的擴(kuò)展存儲過程
MSSQL數(shù)據(jù)庫存在幾個(gè)危險(xiǎn)的擴(kuò)展存儲過程,默認(rèn)Public組可執(zhí)行權(quán)限,SQL注入者可利用此讀取文件目錄及用戶組,并可通過先寫入數(shù)據(jù)庫然后導(dǎo)出為文件的方法往服務(wù)器寫入危險(xiǎn)腳本進(jìn)一步提權(quán),或直接使用某些存儲過程執(zhí)行命令,如xp_cmdshell。2008-08-08解析SQL Server中SQL日期轉(zhuǎn)換出錯(cuò)的原因
這篇文章主要介紹了SQL Server中日期轉(zhuǎn)換出錯(cuò)的原因,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01在程序中壓縮sql server2000的數(shù)據(jù)庫備份文件的代碼
在程序中壓縮sql server2000的數(shù)據(jù)庫備份文件的代碼...2007-03-03