使⽤SQL语句创建基本数据库
SQL语句代码:CREATE DATABASE 语句。
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:\SQL SERVER 2008\Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(基本的sql语句有哪些
NAME = Epiphany,
FILENAME = 'E:\SQL SERVER 2008\Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
可以⽤这个模板,红⾊字体⾃⼰添加就好了。
CREATE DATABASE Epiphany
ON
(
NAME = Epiphany,
FILENAME = 'E:\SQL SERVER 2008\Epiphany_data.mdf',
SIZE = 5MB,
MAXSIZE = 20,
FILEGROWTH = 20
)
LOG ON
(
NAME = Epiphany,
FILENAME = 'E:\SQL SERVER 2008\Epiphany_log.ldf',
SIZE = 2MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB
);
完毕!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL联机丛书内容:
创建⼀个新数据库及存储该数据库的⽂件,创建⼀个数据库快照,或从先前创建的数据库的已分离⽂件中附加数据库。
Transact-SQL 语法约定
语法
CREATE DATABASE database_name
[ ON
[ PRIMARY ] [ <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON { <filespec> [ ,...n ] } ]
]
[ COLLATE collation_name ]
[ WITH <external_access_option> ]
]
[;]
To attach a database
CREATE DATABASE database_name
ON <filespec> [ ,...n ]
FOR { ATTACH [ WITH <service_broker_option> ]
| ATTACH_REBUILD_LOG }
[;]
<filespec> ::=
{
(
NAME = logical_file_name ,
FILENAME = { 'os_file_name' | 'filestream_path' }
[ , SIZE = size [ KB | MB | GB | TB ] ]
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]        [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ] ) [ ,...n ]
}
<filegroup> ::=
{
FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]    <filespec> [ ,...n ]
}
<external_access_option> ::=
{
[ DB_CHAINING { ON | OFF } ]
[ , TRUSTWORTHY { ON | OFF } ]
}
<service_broker_option> ::=
{
ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}
Create a database snapshot
CREATE DATABASE database_snapshot_name
ON
(
NAME = logical_file_name,
FILENAME = 'os_file_name'
) [ ,...n ]
AS SNAPSHOT OF source_database_name
[;]
参数
database_name
新数据库的名称。数据库名称在 SQL Server 的实例中必须唯⼀,并且必须符合标识符规则。
除⾮没有为⽇志⽂件指定逻辑名称,否则 database_name 最多可以包含 128 个字符。如果未指定逻辑⽇志⽂件名称,则SQL Server 将通过向 database_name 追加后缀来为⽇志⽣成 logical_file_name 和 os_file_name。这会将
database_name 限制为 123 个字符,从⽽使⽣成的逻辑⽂件名称不超过 128 个字符。
如果未指定数据⽂件的名称,则 SQL Server 使⽤ database_name 作为 logical_file_name 和 os_file_
name。
ON
指定显式定义⽤来存储数据库数据部分的磁盘⽂件(数据⽂件)。当后⾯是以逗号分隔的、⽤以定义主⽂件组的数据⽂件的<filespec> 项列表时,需要使⽤ ON。主⽂件组的⽂件列表可后跟以逗号分隔的、⽤以定义⽤户⽂件组及其⽂件的 <filegroup>项列表(可选)。
PRIMARY
指定关联的 <filespec> 列表定义主⽂件。在主⽂件组的 <filespec> 项中指定的第⼀个⽂件将成为主⽂件。⼀个数据库只能有⼀个主⽂件。有关详细信息,请参阅⽂件和⽂件组体系结构。
如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第⼀个⽂件将成为主⽂件。
LOG ON
指定显式定义⽤来存储数据库⽇志的磁盘⽂件(⽇志⽂件)。LOG ON 后跟以逗号分隔的⽤以定义⽇志⽂件的 <filespec> 项列表。如果没有指定 LOG ON,将⾃动创建⼀个⽇志⽂件,其⼤⼩为该数据库的所有数据⽂件⼤⼩总和的 25% 或 512 KB,取两者之中的较⼤者。不能对数据库快照指定 LOG ON。
COLLATE collation_name
指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则分配为数据库的排序规则。不能对数据库快照指定排序规则名称。
不能使⽤ FOR ATTACH 或 FOR ATTACH_REBUILD_LOG ⼦句指定排序规则名称。有关如何更改附加数据库的排序规则的信息,请访问此 。
有关 Windows 和 SQL 排序规则名称的详细信息,请参阅 COLLATE (Transact-SQL)。
FOR ATTACH [ WITH <service_broker_option> ]
指定通过附加⼀组现有的操作系统⽂件来创建数据库。必须有⼀个指定主⽂件的 <filespec> 项。⾄于其他 <filespec> 项,只需要指定与第⼀次创建数据库或上⼀次附加数据库时路径不同的⽂件的那些项即可。必须有⼀个 <filespec> 项指定这些⽂件。
FOR ATTACH 具有以下要求:
所有数据⽂件(MDF 和 NDF)都必须可⽤。
如果存在多个⽇志⽂件,这些⽂件都必须可⽤。
如果⼀个可读/写数据库具有⼀个当前不可⽤的⽇志⽂件,并且进⾏附加操作前在没有使⽤⽤户或打开的事务的情况下关闭了该数据库,那么 FOR ATTACH 会⾃动重新⽣成⽇志⽂件并更新主⽂件。相⽐之下,对于只读数据库,由于主⽂件不能更新,将不能重新⽣成⽇志。因此,如果附加⼀个⽇志不可⽤的只读数据库,必须在 FOR ATTACH ⼦句中提供⽇志⽂件或⽂件。
注意:
⽆法在早期版本的 SQL Server 中附加由较新版本的 SQL Server 创建的数据库。源数据库的版本必须⾄少为 80 (SQL Server 2000),才能附加到 SQL Server 2008。附加兼容级别低于 80 的 SQL Server 2000 或 SQL Server 2005 数据库时,会将其兼容级别设置为 80。
在 SQL Server 中,作为待附加数据库的组成部分的所有全⽂⽂件也将随之⼀起附加。若要指定全⽂⽬录的新路径,请指定不带全⽂操作系统⽂件名的新位置。有关详细信息,请参阅“⽰例”部分。
不能对数据库快照指定 FOR ATTACH。
如果数据库使⽤ Service Broker,请在 FOR ATTACH ⼦句中使⽤ WITH <service_broker_option>:
<service_broker_option>
控制 Service Broker 消息传递和数据库的 Service Broker 标识符。仅当使⽤ FOR ATTACH ⼦句时,才能指定
Service Broker 选项。
ENABLE_BROKER
指定对指定的数据库启⽤ Service Broker。也就是说,启动了消息传递,并且在 sys.databases ⽬
录视图中将 is_broker_enabled 设置为 true。数据库保留现有的 Service Broker 标识符。
NEW_BROKER
在 sys.databases 和还原数据库中都创建⼀个新的 service_broker_guid 值,并通过清除结束所有
会话端点。Broker 已启⽤,但未向远程会话端点发送消息。必须使⽤新标识符重新创建任何引⽤旧
Service Broker 标识符的路由。
ERROR_BROKER_CONVERSATIONS
结束所有会话,并产⽣⼀个错误指出数据库已附加或还原。Broker ⼀直处于禁⽤状态直到此操作完
成,然后再将其启⽤。数据库保留现有的 Service Broker 标识符。
有关详细信息,请参阅管理 Service Broker 标识。
有关分离或附加数据库时设置的⽂件权限的信息,请参阅保护数据和⽇志⽂件的安全。
当您附加已复制的数据库⽽不是分离的数据库时,请注意以下事项:
如果将数据库附加到与原始数据库相同的服务器实例和版本,则不需要执⾏其他步骤。
如果您将数据库附加到同⼀个服务器实例,但是版本已升级,则必须执⾏ sp_vupgrade_replication 才能在附加操作完成后升级复制。
如果您将数据库附加到不同的服务器实例,⽽不考虑版本,则必须执⾏ sp_removedbreplication 才能在附加操作完成后删除复制。
注意:
附加使⽤ vardecimal 存储格式,但 SQL Server 数据库引擎 必须⾄少升级到 SQL Server 2005 Service Pack 2。⽆法将使⽤
Vardecimal 存储格式的数据库附加到早期版本的 SQL Server。有关 vardecimal 存储格式的详细信息,请参阅将 Decimal 数据存储为可变长度类型。
有关如何使⽤附加来升级数据库的信息,请参阅如何使⽤分离和附加来升级数据库 (Transact-SQL)。
安全说明:
建议您不要附加未知或不可信源中的数据库。此类数据库可能包含恶意代码,这些代码可能会执⾏⾮预期的 Transact-SQL 代码,或者通过修改架构或物理数据库结构导致错误。使⽤来⾃未知源或不可信源的数据库前,请在⾮⽣产服务器上针对数据库运⾏ DBCC CHECKDB,然后检查数据库中的代码,例如存储过程或其他⽤户定义代码。
FOR ATTACH_REBUILD_LOG
指定通过附加⼀组现有的操作系统⽂件来创建数据库。该选项只限于读/写数据库。如果缺少⼀个或多个事务⽇志⽂件,将重新⽣成⽇志⽂件。必须有⼀个指定主⽂件的 <filespec> 项。
注意:
如果⽇志⽂件可⽤,数据库引擎将使⽤这些⽂件,⽽不会重新⽣成⽇志⽂件。
FOR ATTACH_REBUILD_LOG 具有以下要求:
完全关闭数据库。
所有数据⽂件(MDF 和 NDF)都必须可⽤。
重要提⽰:
该操作会中断⽇志备份链。建议在完成该操作后执⾏完整数据库备份。有关详细信息,请参阅 BACKUP (Transact-SQL)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。