SQL Server實戰一:創建、分離、附加、刪除、備份資料庫

来源:https://www.cnblogs.com/fkxxgis/p/18154698
-Advertisement-
Play Games

本文介紹基於Microsoft SQL Server軟體,實現資料庫創建、分離、附加、刪除與備份的方法。 目錄1 互動式創建資料庫2 Transact-SQL指定參數創建資料庫3 互動式分離資料庫testbase14 使用系統存儲過程分離資料庫testbase25 資料庫文件備份:分離資料庫再複製其 ...


  本文介紹基於Microsoft SQL Server軟體,實現資料庫創建、分離、附加、刪除備份的方法。

目錄

  空間資料庫同樣是GIS行業中至關重要的一部分。因此,本系列博客就將基於Microsoft SQL Server軟體,對資料庫基礎知識與實際操作、代碼含義等加以細緻梳理與介紹。

  系列文章中示例數據來源於《SQL Server實驗指導(2005版)》一書。依據本系列文章的思想與對操作步驟、代碼的詳細解釋,大家用自己手頭的數據,可以將相關操作與分析過程加以完整重現。

1 互動式創建資料庫

(1) 啟動Microsoft SQL Server 2008 R2軟體;

(2) 在 “對象資源管理器”中,右鍵“資料庫”按鈕,選擇“新建資料庫”選項,即可彈出“新建資料庫”視窗,如下圖;

image

(3) 在所彈出的“新建資料庫”視窗中“資料庫名”一欄內輸入“jxsk”;在“資料庫文件”列表中,選擇資料庫數據文件的存儲“路徑”右側的省略號按鈕,並將路徑設置為“G:\sql\chutianjia sql”;選擇資料庫日誌文件的存儲“路徑”右側的省略號按鈕,將路徑設置為“G:\sql\chutianjia sql”,同時可在此處查看其他相關數據的設置;點擊“確定”按鈕,資料庫創建完成。在“對象資源管理器”一欄處刷新後可以看到所建立的資料庫已存在;

(4) 在“對象資源管理器”中,右鍵選擇jxsk,選擇“屬性”項目,打開“資料庫屬性”視窗,在左側 “選擇頁”中,選擇“文件”一欄,即可查看資料庫文件屬性,如下圖;

(5) 單擊選擇數據文件行中“自動增長”單元格右側的省略號按鈕,即可彈出更改自動增長設置對話框;在“文件增長”項目中,選擇“按MB(M)”勾選框,併在其右側文本框中輸入4;在“最大文件大小”一欄中,選擇“限制文件增長(MB)”勾選框,併在其右側文本框中輸入100;單擊“確定”,即可實現對資料庫屬性的更改。

2 Transact-SQL指定參數創建資料庫

(1) 創建資料庫“testbase”

i. 單擊屏幕上方工具欄中的“新建查詢”按鈕,打開“查詢編輯器”視窗,併在查詢編輯器視窗中輸入以下T-SQL語句,如下圖:

CREATE DATABASE testbase1
ON
(NAME=testbase1_data,
FILENAME='G:\sql\chutianjia sql\testbase_data.mdf')
LOG ON
(NAME=taetbase1_log,
FILENAME='G:\sql\chutianjia sql\testbase_data.ldf')
GO

ii. 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;若語句存在問題,將會在下方的提示視窗中顯示問題所在;

iii. 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已存在通過上述方法新建立的testbase1資料庫;

iv. 在“對象資源管理器”中,右擊資料庫testbase1,選擇快捷菜單中的“屬性”選項,打開資料庫testbase1屬性對話框視窗,即可分別查看“常規”“文件”“文件組”等屬性頁內容,結果分別如以下三圖所示;

(2) 指定多個參數創建資料庫“testbase2”

i. 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”視窗,併在“查詢編輯器”視窗中輸入以下T-SQL語句:

CREATE DATABASE testbase2
ON
PRIMARY
(NAME=testbase2_prim_sub_dat1,
FILENAME='G:\sql\chutianjia sql\testbase2_prim_sub_dat.mdf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),
(NAME=testbase2_prim_sub_dat2,
FILENAME='G:\sql\chutianjia sql\testbase2_prim_sub_dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),
FILEGROUP testbase2_group1
(NAME=testbase2_group1_sub1,
FILENAME='G:\sql\chutianjia sql\testbase2_group1_sub1.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=5MB),
(NAME=testbase2_group1_sub2,
FILENAME='G:\sql\chutianjia sql\testbase2_group1_sub2.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=5MB),
FILEGROUP testbase2_group2
(NAME=testbase2_group2_sub1,
FILENAME='G:\sql\chutianjia sql\testbase2_group2_sub1.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=15%),
(NAME=testbase2_group2_sub2,
FILENAME='G:\sql\chutianjia sql\testbase2_group2_sub2.dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=15%)
LOG ON
(NAME=testbase2_testbase2_log,
FILENAME='G:\sql\chutianjia sql\testbase2_log_file.idf',
SIZE=20MB,
MAXSIZE=500MB,
FILEGROWTH=10MB)
GO

ii. 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;若語句存在問題,將會在下方的提示視窗中顯示問題所在;

iii. 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已存在通過上述方法新建立的testbase2資料庫,如下圖;

iv. 在“對象資源管理器”窗格中,右擊資料庫testbase2,選擇快捷菜單中的“屬性”選項,打開資料庫testbase1屬性對話框視窗,即可分別查看“常規”“文件”“文件組”等屬性頁內容,結果分別如以下三圖所示;

3 互動式分離資料庫testbase1

(1) 在“對象資源管理器”中,右擊資料庫testbase1,選擇快捷菜單中的“屬性”選項,打開資料庫testbase1屬性對話框視窗,在“選擇頁”一欄中,選擇“文件”按鈕,即可查詢對應資料庫文件名和物理文件路徑名;

(2) 在“對象資源管理器”中,右擊資料庫testbase1,在彈出的視窗中選擇“任務”→分離”;

(3) 在彈出的視窗中,若“狀態”選項為“就緒”字樣,則表明該資料庫testbasel目前正處於非活動連接狀態;此時選擇“確定”按鈕即可完成資料庫的分離操作;而如果上述“狀態”一欄為“非就緒”字樣,表明該資料庫目前正處於活動連接狀態,即正在被使用中,則需選中“刪除連接”字樣處的覆選框,再單擊“確定”按鈕即可完成分離,如下圖;

(4) 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已不存在通過上述方法新建立的testbase1資料庫,如下圖。

4 使用系統存儲過程分離資料庫testbase2

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”視窗,併在“查詢編輯器”視窗中輸入以下T-SQL語句:

EXEC sp_detach_db testbase2,true

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

(3) 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已不存在通過上述方法新建立的testbase2資料庫,如下圖。

5 資料庫文件備份:分離資料庫再複製其物理文件

(1) 在“對象資源管理器”中,右擊資料庫testbase1,選擇快捷菜單中的“屬性”選項,打開資料庫testbase1屬性對話框視窗,在“選擇頁”一欄中,選擇“文件”按鈕,即可查詢對應資料庫文件名和物理文件路徑名;

(2) 在“對象資源管理器”中,右擊資料庫testbase1,在彈出的視窗中選擇“任務”→分離”;

(3) 在資源管理器中,打開文件夾“G:\sql\chutianjia sql”,將資料庫文件testbase_data.mdf、testbase_data.ldf複製到可移動磁碟“G:\sql”文件目錄下,如下圖;

6 資料庫文件備份:停止SQL Server 2008服務再複製資料庫物理文件

(1) 選擇“開始”→“Microsoft SQL Server 2008 R2”→“SQL Server 配置管理器”→“SQL Server服務”,右擊選擇“SQL Server(MSSQLSERVER)”,選擇“停止”,如以下兩圖;

(2) 打開“對象資源管理器”窗格,發現(local)左側的資料庫標記增加了一個紅色的點狀符號,說明服務已停止;

(3) 在資源管理器中,打開文件夾“G:\sql\chutianjia sql”,將資料庫文件testbase_data.mdf、testbase_data.ldf複製到可移動磁碟“G:\sql”文件目錄下,如下圖。

7 互動式附加資料庫

(1) 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“附加”選項;

(2) 選擇需要加以附加的資料庫物理文件,選擇定位文件夾“G:\sql\chutianjia sql”並選擇對應資料庫的物理文件並選擇“確定”按鈕,再次選擇“確定”即可;

(3) 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已存在通過上述方法新建立的testbase2資料庫,如下圖。

8 使用系統存儲過程附加資料庫

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”視窗,併在“查詢編輯器”視窗中輸入以下T-SQL語句:

EXEC sp_attach_single_file_db @dbname='testbase1',
@physname='G:\sql\chutianjia sql\testbase_data.mdf'

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

(3) 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已存在通過上述方法新建立的資料庫。

9 互動式刪除資料庫

(1) 在“對象資源管理器”中,右擊資料庫testbase1,選擇快捷菜單中的“刪除”選項,如下圖;

(2) 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已不存在testbase1資料庫。

10 Transact-SQL刪除資料庫

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”視窗,併在“查詢編輯器”視窗中輸入以下T-SQL語句:

drop database testbase2

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

(3) 在“對象資源管理器”窗格中,在“資料庫”處右鍵,在彈出的菜單中選擇“刷新”選項,可見其所示內容中已不存在testbase2資料庫,如下圖;

至此,大功告成。


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

-Advertisement-
Play Games
更多相關文章
  • 本文分享自天翼雲開發者社區《linux shell 腳本調試技巧》,作者:g****n 1.bash -x 加腳本 這是最常用的調試手段,終端會列印出,腳本執行過程中的每一個命令。 a. 查看腳本流程有無錯誤 b.查看變數值有無錯誤 c.查看退出位置是否符合預期 例如腳本 small_test.sh ...
  • 雙向鏈表 雙向鏈表的原理與應用 如果想要提高單向鏈表或者單向迴圈鏈表的訪問速度,則可以在鏈表中的結點中再添加一個指針域,讓新添加的指針域指向當前結點的直接前驅的地址,也就意味著一個結點中有兩個指針域(prev + next),也被稱為雙向鏈表(Double Linked List)。 單向迴圈鏈表實 ...
  • 單向迴圈鏈表(其一) 單向迴圈鏈表的原理與應用: 單向迴圈的鏈表的使用規則和普通的單向鏈表沒有較大的區別,需要註意:*單向迴圈鏈表的尾結點的指針域中必須指向鏈表的首結點的地址*,由於帶頭結點的單向迴圈鏈表更加容易進行管理,如下圖所示: 上圖所示的就是一個典型的單向迴圈鏈表的結構,可以發現單向迴圈鏈表 ...
  • Lab2: system calls 預備知識 執行一次系統調用的流程: USER MODE step1:系統調用聲明 user/user.h:系統調用函數(如 int fork(void)) step2:ecall 進入內核態 user/usys.S(該文件由 user/usys.pl 生成,後續 ...
  • 18.鏈表只能一個接著一個遍歷,不允許通過隨機訪問 7.鏈表的地址是連續的,通過內部的指針來進行訪問 //假設該鏈表只給出了頭指針 head。在不改變鏈表的前提下,請設計一個儘可能高效的演算法, //查找鏈表中倒數第k(k為正整數)個位置上的結點。若查找成功,演算法輸出該結點的 data值,並返回 1; ...
  • 轉載自天地風雷水火山澤 目的 因為我們的數倉數據源是Kafka,離線數倉需要用Flume採集Kafka中的數據到HDFS中。 在實際項目中,我們不可能一直在Xshell中啟動Flume任務,一是因為項目的Flume任務很多,二是一旦Xshell頁面關閉Flume任務就會停止,這樣非常不方便,因此必須 ...
  • 本文分享自華為雲社區《對接HiveMetaStore,擁抱開源大數據》,作者:睡覺是大事。 1. 前言 適用版本:9.1.0及以上 在大數據融合分析時代,面對海量的數據以及各種複雜的查詢,性能是我們使用一款數據處理引擎最重要的考量。而GaussDB(DWS)服務有著強大的計算引擎,其計算性能優於MR ...
  • 近日,以“Data+AI,構建新質生產力”為主題的袋鼠雲春季發佈會圓滿落幕,大會帶來了一系列“+AI”的數字化產品與最新行業沉澱,旨在將數據與AI緊密結合,打破傳統的生產力邊界,賦能企業實現更高質量、更高效率的數字化發展。會上,袋鼠雲業務總經理申杭帶來了以“指標+AI:邁向智能化,讓指標應用更高效” ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...