您好,登錄后才能下訂單哦!
本篇內容介紹了“SQL Server創建數據庫的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在創建數據庫之前,需要先確定數據庫的名稱、所有者、大小、存儲該數據庫的文件和文件組。
數據庫所有者:創建數據庫的用戶。一般情況下,大多數產品對象由數據庫所有者擁有。
創建數據庫需要擁有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE權限。
創建數據庫的用戶將成為該數據庫的所有者。
針對一個SQL Server實例,最多可以創建32767個數據庫。
數據庫名稱必須遵循為標識符指定的規則。
在創建新數據庫同時,model數據庫中的所有用戶定義對象都會復制到新創建的數據庫中。可以向model數據庫中添加任何通用的對象(如表、視圖、存儲過程和數據類型),然后在創建的數據庫可以將這些對象復制到新創建的數據庫當中。
語法格式如下:
CREATE DATABASE database_name [ ON [ PRIMARY ] [ <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON { <filespec> [ ,...n ] } ] ] [ COLLATE collation_name ] ][;]
參數說明:
database_name:數據庫名稱。
ON:指定以顯式定義方式指定存儲數據庫數據部分的數據文件。
PRIMARY:指定
LOG ON:指定存儲數據庫日志的日志文件。LOG ON后跟著以逗號分隔的用于定義日志文件的
COLLATE collation_name:指定數據庫的默認排序規則。排序規則名稱包括Windows排序規則、SQL排序規則名稱。未指定排序規則,則將SQL Server實例的默認排序規則分配為數據庫的排序規則。
( NAME = logical_file_name , FILENAME = 'os_file_name' [ , SIZE = size [ KB | MB | GB | TB ] ] [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ] ) [ ,...n ]
logical_file_name:指定文件的邏輯名稱。logical_file_name必須在數據庫中唯一,必須符合規定的標識符規則。
' os_file_name ':指定操作系統(物理)文件名稱。執行創建數據庫語句前,指定文件路徑必須存在。如果指定了UNC(通用命名約定)路徑,則無法設置SIZE、MAXSIZE和FILEGROWTH參數。
size:指定文件的初始大小。未指定主文件指定size,數據庫引擎將使用model數據庫中的主文件的大小。如果指定了輔助數據文件或日志文件,但未指定該文件的size,則數據庫引擎將以1 MB作為該文件的大小。
可以使用千字節(KB)、兆字節(MB)、千兆字節(GB)或兆兆字節(TB)后綴,默認單位為MB。
max_size:指定文件可增大到的最大值,可以使用KB、MB、GB和TB后綴,默認單位為MB。
UNLIMITED:指定文件可以增長到磁盤空間已滿。在SQL Server中,指定為不限制增長的日志文件的最大值為2 TB,而數據文件的最大值為16 TB。
growth_increment:指定每次需要新空間時為文件添加的空間量。growth_increment值不能超過MAXSIZE設置值。該值可以使用MB、KB、GB、TB或百分比(%)為單位指定。默認值為MB。growth_increment值為0時表明自動增長被關閉,不允許增加空間。
如果未指定FILEGROWTH,則數據文件的默認值為1 MB,日志文件的默認增長比例為10%,并且最小值為64 KB。
FILEGROUP filegroup_name [ DEFAULT ] <filespec> [ ,...n ]
filegroup_name:必須在數據庫中唯一,不能是系統提供的名稱PRIMARY和PRIMARY_LOG。
DEFAULT:指定文件組為數據庫中的默認文件組。
1.最簡單的創建數據庫示例
create database TestDB
會根據SQLServer默認設置(文件存儲位置、文件增加大小等)創建數據庫。
2.指定數據和事務日志文件的數據庫示例
IF DB_ID (N'TestDB') is not null -- 判斷數據庫是否存在如果存在則先刪除 DROP DATABASE TestDB GO CREATE DATABASE TestDB ON ( NAME = TestDB,-- 邏輯數據庫文件名 FILENAME = 'D:\TestDB.mdf', SIZE = 10, MAXSIZE = 200, FILEGROWTH = 5 ) LOG ON ( NAME = TestDB_log,-- 邏輯數據庫日志文件名 FILENAME = 'D:\TestDB_log.ldf', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 5MB ) ;
3.指定多個數據文件和事務日志文件示例
USE master GO IF DB_ID (N'TestDB') is not null -- 判斷數據庫是否存在如果存在則先刪除 DROP DATABASE TestDB GO CREATE DATABASE TestDB ON PRIMARY (NAME = TestDB1, FILENAME = 'd:\TestDB1.mdf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = TestDB2, FILENAME = 'd:\TestDB2.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) LOG ON (NAME = TestDB_log1, FILENAME = 'd:\TestDB_log1.ldf', SIZE = 30MB, MAXSIZE = 100, FILEGROWTH = 10), (NAME = TestDB_log2, FILENAME = 'd:\TestDB_log2.ldf', SIZE = 100MB, MAXSIZE = 500, FILEGROWTH = 50) ;
4.創建具有文件組的數據庫下面的語句將創建數據庫Sales,該數據庫具有以下文件組。
USE master GO IF DB_ID (N'TestDB') is not null -- 判斷數據庫是否存在如果存在則先刪除 DROP DATABASE TestDB GO CREATE DATABASE TestDB ON PRIMARY -- 數據庫主文件 ( NAME = TestDB1, FILENAME = 'd:\TestDB1.mdf', SIZE = 20, MAXSIZE = 100, FILEGROWTH = 10% ), ( NAME = TestDB2, FILENAME = 'd:\TestDB2.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5% ), FILEGROUP DBGroup1 ( NAME = TestDB3, FILENAME = 'd:\TestDB3.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = TestDB4, FILENAME = 'd:\TestDB4.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), FILEGROUP DBGroup2 ( NAME = DB1_Group2, FILENAME = 'd:\DB1_Group2.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = DB2_Group2, FILENAME = 'd:\DB2_Group2.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = TestDB_log, FILENAME = 'd:\TestDB_log.ldf', SIZE = 50MB, MAXSIZE = 500MB, FILEGROWTH = 10MB ) ;
“SQL Server創建數據庫的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。