Transact—SQL数据定义语言.doc
文本预览下载声明
Transact—SQL数据定义语言
创建数据库
CREATE DATABASE
创建一个新数据库及存储该数据库的文件,或从先前创建的数据库的文件中附加数据库。
说明??有关与 DISK INIT 向后兼容性的更多信息,请参见Microsoft? SQL Server? 向后兼容性详细信息中的 HYPERLINK JavaScript:hhobj_1.Click() 设备(级别 3)。
语法
CREATE DATABASE database_name [ ON ????[ filespec [ ,...n ] ] ????[ , filegroup [ ,...n ] ] ] [ LOG ON { filespec [ ,...n ] } ] [ COLLATE collation_name ][ FOR LOAD | FOR ATTACH ]
filespec ::=
[ PRIMARY ]( [ NAME = logical_file_name , ]????FILENAME = os_file_name????[ , SIZE = size ]????[ , MAXSIZE = { max_size | UNLIMITED } ]????[ , FILEGROWTH = growth_increment ] ) [ ,...n ]
filegroup ::=
FILEGROUP filegroup_name filespec [ ,...n ]
参数
database_name
新数据库的名称。数据库名称在服务器中必须唯一,并且符合标识符的规则。database_name 最多可以包含 128 个字符,除非没有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则 Microsoft? SQL Server? 会通过向 database_name 追加后缀来生成逻辑名。该操作要求 database_name 在 123 个字符之内,以便生成的日志文件逻辑名少于 128 个字符。
ON
指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 filespec 项列表,filespec 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 filegroup 项列表(可选),filegroup 项用以定义用户文件组及其文件。
n
占位符,表示可以为新数据库指定多个文件。
LOG ON
指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 filespec 项列表,filespec 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。
FOR LOAD
支持该子句是为了与早期版本的 Microsoft SQL Server 兼容。数据库在打开 dbo use only 数据库选项的情况下创建,并且将其状态设置为正在装载。SQL Server 7.0 版中不需要该子句,因为 RESTORE 语句可以作为还原操作的一部分重新创建数据库。
FOR ATTACH
指定从现有的一组操作系统文件中附加数据库。必须有指定第一个主文件的 filespec 条目。至于其它 filespec 条目,只需要与第一次创建数据库或上一次附加数据库时路径不同的文件的那些条目。必须为这些文件指定 filespec 条目。附加的数据库必须使用与 SQL Server 相同的代码页和排序次序创建。应使用 sp_attach_db 系统存储过程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必须指定 16 个以上的 filespec 项目时,才需要使用 CREATE DATABASE FOR ATTACH。
如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。
collation_name
指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。
有关 Windows 和 SQL 排序规则名称的更多信息,请参见 HYPERLINK /imagesnew/software/tsql/ts_ca-co_5z55.htm COLLATE。
PRIMARY
指定关联的 filespec 列表定义主文件。主文件组包含所有数据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第一个
显示全部