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

疯狂学习GIS發表於2024-04-24

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

目錄
  • 1 互動式建立資料庫
  • 2 Transact-SQL指定引數建立資料庫
  • 3 互動式分離資料庫testbase1
  • 4 使用系統儲存過程分離資料庫testbase2
  • 5 資料庫檔案備份:分離資料庫再複製其物理檔案
  • 6 資料庫檔案備份:停止SQL Server 2008服務再複製資料庫物理檔案
  • 7 互動式附加資料庫
  • 8 使用系統儲存過程附加資料庫
  • 9 互動式刪除資料庫
  • 10 Transact-SQL刪除資料庫

  空間資料庫同樣是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資料庫,如下圖;

至此,大功告成。

相關文章