SQL Server 資料庫分離與附加

来源:http://www.cnblogs.com/gallen-n/archive/2016/08/15/5771804.html
-Advertisement-
Play Games

一、概述 SQL Server提供了“分離/附加”資料庫、“備份/還原”資料庫、複製資料庫等多種資料庫的備份和恢復方法。這裡介紹一種學習中常用的“分離/附加”方法,類似於大家熟悉的“文件拷貝”方法,即把資料庫文件(.MDF)和對應的日誌文件(.LDF)拷貝到其它磁碟上作備份,然後把這兩個文件再拷貝到 ...


一、概述

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系統中,分離和附加資料庫的方法是很有用的。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 寫在前面本人才是開始學習前端的菜鳥有很多不懂的忘大神指點 html全名Hyper TextMarkup Language 下麵說說常用的到的html的元素標簽 h1 h2 h3 h4 h5 h6 6級的標題標簽 ul 無序列表標簽 子元素用 li ol 有序列表標簽 子元素用 li a 超鏈接標簽 ...
  • 1. 說明 管道用來轉換模板顯示的內容,應用程式中經常出現獲取數據,轉換數據,顯示數據的邏輯。管道就是用來在轉換數據階段起作用的。主要存在兩種類型的管道,pure pipe和impure pipe 2. Pure Pipe Pure Pipe,stateless,關註於純粹對象的變更,檢測到輸入值發 ...
  • 理解Method Swizzling是學習runtime機制的一個很好的機會。在此不多做整理,僅翻譯由Mattt Thompson發表於nshipster的Method Swizzling一文。 Method Swizzling是改變一個selector的實際實現的技術。通過這一技術,我們可以在運行 ...
  • 1、TableView頭視圖不隨視圖移動,頭視圖出現錯位 錯誤原因:tableView的 UITableViewStyle 沒有明確的聲明 解決方法:在tableView聲明的時候明確為 UITableViewStyleGrouped 2、分組表視圖頂部空白高度調整 實現方式: 方式一(推薦使用): ...
  • + (instancetype)createSark { return [self new];}// callerSark *sark = [Sark createSark];編譯器改寫成了形如下麵的代碼:+ (instancetype)createSark { id tmp = [self new... ...
  • Objective-C語言是一門動態語言,它將很多靜態語言在編譯和鏈接時期做的事放到了運行時來處理。這種動態語言的優勢在於:我們寫代碼時更具靈活性,如我們可以把消息轉發給我們想要的對象,或者隨意交換一個方法的實現等。 這種特性意味著Objective-C不僅需要一個編譯器,還需要一個運行時系統來執行 ...
  • 本文主要介紹在Ubuntu下Android開發環境的搭建,所使用的IDE為Eclipse(Android Studio同理,且可省去配置SDK以及安裝adt插件的步驟)。 1.安裝JDK (1)JDK8下載地址:http://www.oracle.com/technetwork/java/javas ...
  • swift 申明變數 var name = "Hello" //name會被自動識別成String 類型 或者指定變數類型: var name :String = "Hello" swift中用 + 做字元串連接 ,但是不可 + int 型。如果要加int 型,可採用如下的方法: var i = 2 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...