您当前的位置:首页 > 常见问答

创建数据库的t-sql语句是什么

作者:远客网络

创建数据库的T-SQL语句是CREATE DATABASE [数据库名称]。以下是在创建数据库时可选的参数:

  1. 数据库名称:用于指定要创建的数据库的名称。例如,CREATE DATABASE MyDatabase;

  2. 文件名:可以指定要为数据库使用的数据文件和日志文件的名称和路径。例如,CREATE DATABASE MyDatabase ON (NAME = 'MyDatabase_Data', FILENAME = 'C:DataMyDatabase.mdf') LOG ON (NAME = 'MyDatabase_Log', FILENAME = 'C:DataMyDatabase.ldf');

  3. 文件大小和增长:可以使用参数来指定数据文件和日志文件的初始大小和自动增长选项。例如,CREATE DATABASE MyDatabase ON (NAME = 'MyDatabase_Data', FILENAME = 'C:DataMyDatabase.mdf', SIZE = 100MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10%) LOG ON (NAME = 'MyDatabase_Log', FILENAME = 'C:DataMyDatabase.ldf', SIZE = 50MB, MAXSIZE = 100MB, FILEGROWTH = 5MB);

  4. 数据库选项:可以使用参数来指定数据库的一些选项,如恢复模式、自动关闭等。例如,CREATE DATABASE MyDatabase SET RECOVERY SIMPLE, AUTO_CLOSE OFF;

  5. 权限和安全性:可以使用参数来指定数据库的所有者和权限。例如,CREATE DATABASE MyDatabase AUTHORIZATION dbo;

创建数据库的T-SQL语句是CREATE DATABASE [数据库名称],并可以使用其他参数来指定文件名、文件大小和增长、数据库选项以及权限和安全性。

创建数据库的T-SQL语句是CREATE DATABASE。它的基本语法如下:

CREATE DATABASE database_name
[ON
[PRIMARY
(
NAME = logical_file_name,
FILENAME = 'os_file_name',
SIZE = size,
MAXSIZE = max_size,
FILEGROWTH = growth
)
]
[, FILEGROUP filegroup_name
(
NAME = logical_file_name,
FILENAME = 'os_file_name',
SIZE = size,
MAXSIZE = max_size,
FILEGROWTH = growth
)
]

]
[LOG ON
(
NAME = logical_file_name,
FILENAME = 'os_file_name',
SIZE = size,
MAXSIZE = max_size,
FILEGROWTH = growth
)

]
[COLLATE collation_name]
[WITH
{RESTRICTED_USER | SINGLE_USER | MULTI_USER}
[, DEFAULT_LANGUAGE = language_name]
[, DEFAULT_FULLTEXT_LANGUAGE = language_name]
[, ALLOW_SNAPSHOT_ISOLATION]
[, READ_COMMITTED_SNAPSHOT]
[, RECOVERY { FULL | BULK_LOGGED | SIMPLE }]
[, AUTO_CLOSE { ON | OFF }]
[, AUTO_SHRINK { ON | OFF }]
[, AUTO_CREATE_STATISTICS { ON | OFF }]
[, AUTO_UPDATE_STATISTICS { ON | OFF }]
[, PAGE_VERIFY { NONE | TORN_PAGE_DETECTION | CHECKSUM }]
[, PARAMETERIZATION { SIMPLE | FORCED }]
[, READ_WRITE_FILEGROUPS { PRIMARY | filegroup_name | … }]
[, READ_ONLY_FILEGROUPS { PRIMARY | filegroup_name | … }]
[, FILESTREAM { ON | OFF } [NON_TRANSACTED_ACCESS = { FULL | OFF }]]
[, TARGET_RECOVERY_TIME = { n | OFF }]
[, DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }]
[, MAXDOP = { n | MAX }]
[, QUERY_STORE { ON | OFF }]
[, EDITION = { 'edition_name' | 'azureedition_name' }]
[, SERVICE_OBJECTIVE = { service_objective | elastic_pool_name }]
[, ELASTIC_POOL = elastic_pool_name]
[, RESOURCE_GOVERNOR = { ON | OFF }]
[, DATABASE_SOURCE_GUID = 'source_guid']
[, DATABASE_SOURCE_DATABASE_GUID = 'source_database_guid']
[, SECONDARY]
[, FILESTREAM_ON = { 'directory_name' | 'non_transacted_access' }]
[, SPARSE]
[, ENCRYPTION { ON | OFF | DROP }]
[, PARTNER = 'partner_server']
[, FAILOVER_MODE = { OFF | MANUAL | AUTOMATIC }]
[, PRIMARY_ROLE]
[, SECONDARY_ROLE]
[, ADDITIONAL_FILE_GROUPS = (file_group_name, …)]
[, HADR]
[, MIRRORING]
[, AGGREGATE_BACKUP_COMPRESSION = { ON | OFF | PRIMARY }]
[, AGGREGATE_BACKUP_COMPRESSION_THRESHOLD = integer_value]
[, TARGET_RECOVERY_TIME_UNIT = SECONDS | MINUTES | HOURS | DAYS]
[, MEMORY_OPTIMIZED_DATA = { ON | OFF }]
[, DURABILITY = { SCHEMA_AND_DATA | SCHEMA_ONLY }]
[, REMOTE_DATA_ARCHIVE = { ON | OFF } ]
[, REMOTE_DATA_ARCHIVE_DATABASE = 'archive_database_name']
[, REMOTE_DATA_ARCHIVE_SECURITY_TRIMMING = { ON | OFF } ]
[, REMOTE_DATA_ARCHIVE_MOVE_POLICY = { NONE | BASELINE | AUTO }]
[, REMOTE_DATA_ARCHIVE_MOVE_POLICY_STATE = { ON | OFF } ]
[, REMOTE_DATA_ARCHIVE_STATE = { ON | OFF } ]
[, REMOTE_DATA_ARCHIVE_DATABASE_GUID = 'archive_database_guid']
[, REMOTE_DATA_ARCHIVE_CREDENTIAL = 'archive_credential_name']
[, REMOTE_DATA_ARCHIVE_CREDENTIAL_GUID = 'archive_credential_guid']
[, REMOTE_DATA_ARCHIVE_NETWORK_PATH = 'network_path']
[, REMOTE_DATA_ARCHIVE_FILE_PROVIDER = 'provider_name']
[, REMOTE_DATA_ARCHIVE_FILE_SHARE = 'file_share_name']
[, REMOTE_DATA_ARCHIVE_FILE_PATH = 'file_path']
[, REMOTE_DATA_ARCHIVE_FILE_GROWTH = { NONE | SIZE | AUTOGROW_ALL_FILES }]
[, REMOTE_DATA_ARCHIVE_FILE_SIZE = file_size]
[, REMOTE_DATA_ARCHIVE_ON = { PRIMARY | SECONDARY }]
[, REMOTE_DATA_ARCHIVE_FILESTREAM_DIRECTORY = 'filestream_directory' ]]

在上述语法中,以下是一些常用的参数:

  • database_name:要创建的数据库的名称。
  • logical_file_name:逻辑文件名,用于标识数据库文件的名称。
  • os_file_name:操作系统文件名,用于指定数据库文件在物理磁盘上的位置。
  • size:数据库文件的初始大小。
  • max_size:数据库文件的最大大小。
  • growth:指定数据库文件的增长率。

除了上述参数外,CREATE DATABASE语句还可以使用其他可选参数,如文件组、日志文件、排序规则、恢复模式、自动关闭、自动收缩、参数化、文件流、数据库目标恢复时间等。

需要注意的是,CREATE DATABASE语句只能在sysadmin或dbcreator固定服务器角色的成员权限下执行。

下面是一个示例:

CREATE DATABASE MyDatabase
ON
(NAME = MyDatabaseData,
FILENAME = 'C:MyDatabaseData.mdf',
SIZE = 10GB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1GB)
LOG ON
(NAME = MyDatabaseLog,
FILENAME = 'C:MyDatabaseLog.ldf',
SIZE = 1GB,
MAXSIZE = 2GB,
FILEGROWTH = 10%)
COLLATE Latin1_General_CI_AS;

创建数据库的T-SQL语句是使用CREATE DATABASE语句。下面是创建数据库的T-SQL语句的一般格式:

CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON { <file_definition> [ ,...n ] | FILEGROUP | DEFAULT } ]
[ LOG ON { <file_definition> [ ,...n ] | FILEGROUP | DEFAULT } ]
[ COLLATE collation_name ]
[ FOR { ATTACH | ATTACH_REBUILD_LOG | CREATE_INSTANCE } ]
[ WITH <option_name> [ ,...n ] ]

下面是对上述语句中各个参数的解释:

  1. database_name:要创建的数据库的名称。
  2. CONTAINMENT:指定数据库的隔离级别。可以是NONE(默认)或PARTIAL。
  3. ON:指定数据库的文件位置。可以使用来指定文件的路径、大小等信息,也可以使用FILEGROUP来指定文件组,或使用DEFAULT来使用默认的文件位置。
  4. LOG ON:指定数据库的事务日志文件的位置。与ON参数类似,可以使用、FILEGROUP或DEFAULT来指定位置。
  5. COLLATE:指定数据库的排序规则。
  6. FOR:指定数据库的创建方式。可以是ATTACH(附加已有数据库)、ATTACH_REBUILD_LOG(附加并重建日志文件)或CREATE_INSTANCE(创建数据库实例)。
  7. WITH:指定其他选项,如文件初始化、文件增长等。

下面是一个示例,展示如何使用CREATE DATABASE语句创建一个名为"mydatabase"的数据库:

CREATE DATABASE mydatabase

这将创建一个名为"mydatabase"的数据库,并使用默认的文件位置和排序规则。