本文介紹基于Microsoft SQL Server軟件,實現數據庫創建、分離、附加、删除與備份的方法。
空間數據庫同樣是GIS行業中至關重要的一部分。因此,本系列博客就将基于Microsoft SQL Server軟件,對數據庫基礎知識與實際操作、代碼含義等加以細緻梳理與介紹。
系列文章專欄:數據庫基礎_瘋狂學習GIS的博客-CSDN博客。
系列文章中示例數據來源于《SQL Server實驗指導(2005版)》一書。尊重版權,因此遺憾不能将相關示例數據一并提供給大家;但是依據本系列文章的思想與對操作步驟、代碼的詳細解釋,大家用自己手頭的數據,可以将相關操作與分析過程加以完整重現。
1 交互式創建數據庫(1) 啟動Microsoft SQL Server 2008 R2軟件;
(2) 在 “對象資源管理器”中,右鍵“數據庫”按鈕,選擇“新建數據庫”選項,即可彈出“新建數據庫”窗口,如下圖;
(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數據庫,如下圖;
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!