官术网_书友最值得收藏!

2.3 創建數據庫

數據庫的創建過程實際上就是數據庫的邏輯設計到物理實現過程。在SQL Server中創建數據庫有兩種方法:在SQL Server管理器(SSMS)中使用對象資源管理器創建和使用T-SQL代碼創建。這兩種方法在創建數據庫的時候,有各自的優缺點,可以根據自己的喜好,靈活選擇使用不同的方法,對于不熟悉T-SQL語句命令的用戶來說,可以使用SSMS管理器提供的生成向導來創建。下面將向各位讀者介紹這兩種方法的創建過程。

2.3.1 使用對象資源管理器創建數據庫

在使用對象資源管理器創建之前,首先要啟動SSMS,然后使用賬戶登錄到數據庫服務器。SQL Server安裝成功之后,默認情況下數據庫服務器會隨著系統自動啟動;如果沒有啟動,則用戶在連接時,服務器也會自動啟動。

數據庫連接成功之后,在左側的【對象資源管理器】窗口中打開【數據庫】節點,可以看到服務器中的【系統數據庫】節點,如圖2-1所示。

在創建數據庫時,用戶要提供與數據庫有關的如下信息:數據庫名稱、數據存儲方式、數據庫大小、數據庫的存儲路徑和包含數據庫存儲信息的文件名稱。下面介紹創建過程。

右擊【數據庫】節點文件夾,在彈出的快捷菜單中選擇【新建數據庫】菜單命令,如圖2-2所示。

圖2-1 【數據庫】節點

圖2-2 【新建數據庫】菜單命令

打開【新建數據庫】窗口,在該窗口中左側的【選擇頁】中有3個選項,默認選擇的是【常規】選項,右側列出了【常規】選項卡中數據庫的創建參數,輸入數據庫的名稱和初始大小等參數,如圖2-3所示。

圖2-3 【新建數據庫】窗口

(1)數據庫名稱:mytest為輸入的數據庫名稱。

(2)所有者:這里可以指定任何一個擁有創建數據庫權限的賬戶。此處為默認賬戶(default),即當前登錄到SQL Server的賬戶。用戶也可以修改此處的值,如果使用Windows系統身份驗證登錄,這里的值將會是系統用戶ID;如果使用SQL Server身份驗證登錄,這里的值將會是連接到服務器的ID。

(3)使用全文索引:如果想讓數據庫具有搜索特定內容的字段,需要選擇此選項。

(4)邏輯名稱:引用文件時使用的文件名稱。

(5)文件類型:表示該文件存放的內容,行數據表示這是一個數據庫文件,其中存儲了數據庫中的數據;日志文件中記錄的是用戶對數據進行操作。

(6)文件組:為數據庫中的文件指定文件組,可以指定的值有:PRIMARY和不適用,數據庫中必須有一個主文件組(PRIMARY)。

(7)初始大小:該列下的兩個值分別表示數據庫文件的初始大小為8MB,日志文件的初始大小為8MB。

(8)自動增長:當數據庫文件超過初始大小時,文件大小增加的速度,這里數據文件是每次增加;默認情況下,在增長時不限制文件的增長極限,即不限制文件增長,這樣可以不必擔心數據庫的維護,但在數據庫出現問題時磁盤空間可能會被完全占滿。因此在應用時,要根據需要設置一個合理的文件增長的最大值。

(9)路徑:數據庫文件和日志文件的保存位置,默認的路徑值為G:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA。如果要修改路徑,單擊路徑右邊帶省略號的按鈕,打開一個【定位文件夾】的對話框,讀者選擇想要保存數據的路徑之后,單擊【確認】按鈕返回。

(10)文件名:將滾動條向右拉到最后,該值用來存儲數據庫中數據的物理文件名稱,默認情況下,SQL Server使用數據庫名稱加上_Data后綴來創建物理文件名,例如這里是test_Data。

(11)添加按鈕:添加多個數據文件或者日志文件,在單擊【添加】按鈕之后,將新增一行,在新增行的【文件類型】列的下拉表中可以選擇文件類型,分別是【行數據】或者【日志】。

(12)刪除按鈕:刪除指定的數據文件和日志文件。用鼠標選定想要刪除的行,然后單擊【刪除】按鈕,注意主數據文件不能被刪除。

提示

文件類型為【日志】的行與【行數據】的行所包含的信息基本相同,對于日志文件,【文件名】列的值是通過在數據庫名稱后面加_log后綴而得到的,并且不能修改【文件組】列的值。

數據庫名稱中不能包含以下Windows不允許使用的非法字符:“"” “'” “*” “/”“?” “:” “\” “<” “>” “-”。

在【選擇頁】列表中選擇【選項】選項,【選項】選項卡可以設置的內容如圖2-4所示。

圖2-4 【選項】選項卡

(1)恢復模式

  • 完整:允許發生錯誤時恢復數據庫,在發生錯誤時,可以即時地使用事務日志恢復數據庫。
  • 大容量日志:當執行操作的數據量比較大時,只記錄該操作事件,并不記錄插入的細節。例如,向數據庫插入上萬條記錄數據,此時只記錄了該插入操作,而對于每一行插入的內容并不記錄。這種方式可以在執行某些操作時提高系統性能,但是當服務器出現問題時,只能恢復到最后一次備份的日志中的內容。
  • 簡單:每次備份數據庫時清除事務日志,該選項表示根據最后一次對數據庫的備份進行恢復。

(2)兼容性級別

兼容級別:是否允許建立一個兼容早期版本的數據庫,如要兼容早期版本的SQL Server,則新版本中的一些功能將不能使用。

下面的【其他選項】中還有許多其他可設置參數,這里直接使用默認值即可,在SQL Server的學習過程中,讀者會逐步理解這些值的作用。

在【文件組】選項卡中,可以設置或添加數據庫文件和文件組的屬性,例如是否為只讀,是否有默認值,如圖2-5所示。

圖2-5 【文件組】選項卡

設置完上面的參數,單擊【確定】按鈕,開始創建數據庫的工作,SQL Server 2016在執行創建過程中將對數據庫進行檢驗,如果存在一個相同名稱的數據庫,則創建操作失敗,并提示錯誤信息,創建成功之后,回到SSMS窗口中,在【對象資源管理器】看到新建立的名稱為mytest的數據庫,如圖2-6所示。

圖2-6 創建的數據庫

2.3.2 使用Transact-SQL創建數據庫

SSMS是一個非常實用、方便的圖形化(GUI)管理工具,實際上前面進行的創建數據庫的操作,SSMS執行的就是T-SQL語言腳本,根據設定的各個選項的值在腳本中執行創建操作的過程。接下來的內容,將向讀者介紹實現創建數據庫對象的T-SQL語句。SQL Server中創建一個新數據庫,以及存儲該數據庫文件的基本Transact-SQL語法格式如下:

上述語句分析如下。

  • database_name:數據庫名稱,不能與SQL Server中現有的數據庫實例名稱相沖突,最多可以包含128個字符。
  • ON:指定顯示定義用來存儲數據庫中數據的磁盤文件。
  • PRIMARY:指定關聯的<filespec>列表定義的主文件,在主文件組<filespec>項中指定的第一個文件將生成主文件,一個數據庫只能有一個主文件。如果沒有指定PRIMARY,那么CREATE DATABASE語句中列出的第一個文件將成為主文件。
  • LOG ON:指定用來存儲數據庫日志的日志文件。LOG ON后跟以逗號分隔的用以定義日志文件的<filespec>項列表。如果沒有指定LOG ON,將自動創建一個日志文件,其大小為該數據庫的所有數據文件大小總和的25%或512 KB,取兩者之中的較大者。
  • NAME:指定文件的邏輯名稱。指定FILENAME時,需要使用NAME,除非指定FOR ATTACH子句之一。無法將FILESTREAM文件組命名為PRIMARY。
  • FILENAME:指定創建文件時由操作系統使用的路徑和文件名,執行CREATE DATABASE語句前,指定路徑必須存在。
  • SIZE:指定數據庫文件的初始大小,如果沒有為主文件提供size,數據庫引擎將使用model數據庫中的主文件的大小。
  • MAXSIZE:指定文件可增大到的最大大小。可以使用KB、MB、GB和TB做后綴,默認值為MB。max_size是整數值。如果不指定max_size,則文件將不斷增長直至磁盤被占滿。UNLIMITED表示文件一直增長到磁盤裝滿。
  • FILEGROWTH:指定文件的自動增量。文件的FILEGROWTH設置不能超過MAXSIZE設置。該值可以MB、KB、GB、TB或百分比(%)為單位指定,默認值為MB。如果指定%,則增量大小為發生增長時文件大小的指定百分比。值為0時表明自動增長被設置為關閉,不允許增加空間。

【例2.1】創建一個數據庫sample_db,該數據庫的主數據文件邏輯名為sample_db,物理文件名稱為sample.mdf,初始大小為5MB,最大尺寸為30MB,增長速度為5%;數據庫日志文件的邏輯名稱為sample_log,保存日志的物理文件名稱為sample.ldf,初始大小為1MB,最大尺寸為8MB,增長速度為128KB。具體操作步驟如下。

啟動SSMS,選擇【文件】|【新建】|【使用當前連接的查詢】菜單命令,如圖2-7所示。

圖2-7 【使用當前連接的查詢】菜單命令

在查詢編輯器窗口中打開一個空的.sql文件,將下面的T-SQL語句輸入到空白文檔中,如圖2-8所示。

圖2-8 輸入相應的語句

輸入完成之后,單擊【執行】命令,命令執行成功之后,刷新SQL Server 2016中的數據庫節點,可以在子節點中看到新創建的名稱為sample_db的數據庫,如圖2-9所示。

圖2-9 新創建sample數據庫

提示

如果刷新SQL Server 2016中的數據庫節點后,仍然看不到新建的數據庫,可以重新連接對象資源管理器,即可看到新建的數據庫。

選擇新建的數據庫后右擊,在彈出的快捷菜單中選擇【屬性】菜單命令,打開【數據庫屬性】窗口,選擇【文件】選項,即可查看數據庫的相關信息。可以看到,這里各個參數值與T-SQL代碼中指定的值完全相同,說明使用T-SQL代碼創建數據庫成功,如圖2-10所示。

圖2-10 【數據庫屬性】窗口

主站蜘蛛池模板: 镇巴县| 江山市| 蚌埠市| 启东市| 德江县| 临漳县| 柘荣县| 泰安市| 瑞金市| 谷城县| 牟定县| 麦盖提县| 惠安县| 仁化县| 西吉县| 太仓市| 囊谦县| 广安市| 新和县| 延边| 色达县| 黄龙县| 昌平区| 景宁| 霍林郭勒市| 昌邑市| 静海县| 廉江市| 舟曲县| 平和县| 桂林市| 沈阳市| 和静县| 双牌县| 密山市| 麻江县| 通化县| 荣昌县| 溧水县| 花垣县| 吉林省|