1.创建数据库简介在创建数据库之前,需要确定数据库的名称、所有者、大小、文件和文件组。数据库所有者:创建数据库的用户。通常,大多数产品对象都归数据库所有者所有。2、创建数据库注意事项创建数据库需要有CREATEDATABASE、CREATEANYDATABASE或ALTERANYDATABASE权限。创建数据库的用户成为数据库的所有者。一个SQLServer实例最多可以创建32767个数据库。数据库名称必须遵循为标识符指定的规则。创建新数据库时,model数据库中的所有用户定义对象都被复制到新创建的数据库中。您可以将任何常用对象(如表、视图、存储过程和数据类型)添加到模型数据库中,然后将这些对象复制到已创建的数据库中的新创建的数据库中。3、创建数据库的语法格式如下:CREATEDATABASEdatabase_name[ON[PRIMARY][[,...n][,[,...n]][LOGON{[,...n]}]][COLLATEcollat??ion_name]][;]参数说明:database_name:数据库名称。ON:指定以明确定义的方式指定存储数据库数据部分的数据文件。PRIMARY:指定列表中的主文件。项目中的第一个文件将是主文件。如果未指定PRIMARY,则默认的第一个文件将是数据库主文件。LOGON:指定用于存储数据库日志的日志文件。LOGON后跟以逗号分隔的定义日志文件的项目列表。如果未指定LOGON,将自动创建一个日志文件,文件大小为数据库中所有数据文件总和的1/4或512KB,以较大者为准。COLLATEcollat??ion_name:指定数据库的默认排序规则。排序规则名称包括Windows排序规则和SQL排序规则名称。如果未指定排序规则,则将SQLServer实例的默认排序规则指定为数据库的排序规则。有些主要是用来控制文件属性的,语法格式如下: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:指定文件的初始大小。如果不指定主文件的大小,数据库引擎将使用模型数据库中主文件的大小。如果指定了辅助数据文件或日志文件,但未指定文件大小,则数据库引擎将使用1MB作为文件大小。可以使用千字节(KB)、兆字节(MB)、千兆字节(GB)或太字节(TB)后缀,默认单位为MB。max_size:指定文件可以增长到的最大值。您可以使用KB、MB、GB和TB后缀。默认单位是MB。UNLIMITED:指定文件可以增长直到磁盘空间已满。在SQLServer中,指定为无限增长的日志文件的最大大小为2TB,数据文件的最大大小为16TB。growth_increment:指定每次需要新空间时要添加到文件的空间量。growth_increment值不能超过MAXSIZE设置值。该值可以以MB、KB、GB、TB或百分比(%)为单位指定。默认值为MB。growth_increment的值为0表示禁用自动增长并且不允许额外空间。如果未指定FILEGROWTH,则数据文件的默认值为1MB,日志文件的默认值为10%,最小值为64KB。部分主要用于控制文件组属性,语法格式如下:FILEGROUPfilegroup_name[DEFAULT][,...n]filegroup_name:在数据库中必须唯一,不能为PRIMARY和PRIMARY_LOG名称由系统提供。DEFAULT:指定文件组为数据库中的默认文件组。四、创建数据库实例1、最简单的创建数据库实例createdatabaseTestDB会根据SQLServer的默认设置(文件存放位置、文件增加大小等)创建数据库。2.指定数据和事务日志文件的数据库示例IFDB_ID(N'TestDB')isnotnull--判断数据库是否存在,存在则删除DROPDATABASETestDBGOCREATEDATABASETestDBON(NAME=TestDB,--逻辑数据库文件名FILENAME='D:\TestDB.mdf',SIZE=10,MAXSIZE=200,FILEGROWTH=5)LOGON(NAME=TestDB_log,--逻辑数据库日志文件名FILENAME='D:\TestDB_log.ldf',SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=5MB);3.指定多个数据文件和事务日志文件示例USEmasterGOIFDB_ID(N'TestDB')isnotnull--判断数据库是否存在,如果存在则删除DROPDATABASETtestDBGOCREATEDATABASETestDBONPRIMARY(NAME=TestDB1,FILENAME='d:\TestDB1.mdf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=TestDB2,FILENAME='d:\TestDB2.ndf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)LOGON(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。USEmasterGOIFDB_ID(N'TestDB')isnotnull--判断数据库是否存在,如果存在则删除DROPDATABASETtestDBGOCREATEDATABASETestDBONPRIMARY--数据库主文件(NAME=TestDB1,FILENAME='d:\TestDB1.mdf',SIZE=20,MAXSIZE=100,FILEGROWTH=10%),(NAME=TestDB2,FILENAME='d:\TestDB2.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5%),FILEGROUPDBGroup1(NAME=TestDB3,FILENAME='d:\TestDB3.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5),(NAME=TestDB4,FILENAME='d:\TestDB4.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5),FILEGROUPDBGroup2(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)LOGON(NAME=TestDB_log,FILENAME='d:\TestDB_log.ldf',SIZE=50MB,MAXSIZE=500MB,FILEGROWTH=10MB);