`
sakakokiya
  • 浏览: 507236 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在SQL Server中创建数据库主要有那种方式?

阅读更多
在SQL Server中创建数据库主要有两种方法,第一种是在SQL Server Management Studio中使用向导创建数据库;第二种是执行Transact-SQL语句创建数据库。下面我们分别进行介绍。
(1)使用SQL Server Management Studio创建数据库
在SQL Server Management Studio中,可以使用向导创建数据库,步骤如下:
1.  打开SQL Server Management Studio。
2.     右击“数据库”对象,在弹出式菜单中选择“新建数据库”菜单项,打开“新建数据库”对话框
3.  在“常规”页,可以定义数据库的名称为EAMS、数据库文件、数据库的所有者、排序规则、恢复模型,以及是否使用全文索引。
4.    在“选项”页,可以定义数据库的一些选项,包括自动选项、游标选项、混杂选项、恢复选项、行级版本选项和状态选项
5.    在“文件组”页,显示文件组和文件的统计信息,同时还可以设置是否采用默认值
6.  在“扩展属性”页,可以定义数据库的一些扩展属性,如图5所示。
7.  当完成各个选项的定义之后,单击【OK】按钮,SQL Server数据库引擎会创建所定义的数据库。
(2)使用Transact-SQL创建数据库
Transact-SQL提供了创建数据库的语句:CREATE DATABASE,其语法格式如下:
CREATE DATABASE database_name
[ ON
[ <filespec> [ ,...n ] ]
[ , <filegroup> [ ,...n ] ]
]
[
[ LOG  ON { <filespec> [ ,...n ] } ]
[ COLLATE collation_name ]
[ FOR { ATTACH [ WITH <service_broker_option> ]
| ATTACH_REBUILD_LOG } ]
[ WITH <external_access_option> ]
]
[;]
<filespec> ::=
[ PRIMARY ]
(
[ 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 | % ] ]
) [ ,...n ]
<filegroup> ::=
FILEGROUP filegroup_name
<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
[;]
参数说明如下:
l         database_name,新数据库的名称。数据库名称在服务器中必须唯一,并且符合标识符的规则。database_name 最多可以包含 128 个字符,除非没有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则SQL Server会通过向 database_name 追加后缀来生成逻辑名。该操作要求 database_name 在 123 个字符之内,以便生成的日志文件逻辑名少于 128 个字符。
l         ON,指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 <filegroup> 项列表(可选),<filegroup> 项用以定义用户文件组及其文件。
l         N,占位符,表示可以为新数据库指定多个文件。
l         LOG ON,指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 <filespec> 项列表,<filespec> 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。
l         FOR LOAD,支持该子句是为了与早期版本的 SQL Server 兼容。数据库在打开 dbo use only 数据库选项的情况下创建,并且将其状态设置为正在装载。
l         FOR ATTACH,指定从现有的一组操作系统文件中附加数据库。必须有指定第一个主文件的 <filespec> 条目。至于其它 <filespec> 条目,只需要与第一次创建数据库或上一次附加数据库时路径不同的文件的那些条目。必须为这些文件指定 <filespec> 条目。附加的数据库必须使用与 SQL Server 相同的代码页和排序次序创建。应使用 sp_attach_db 系统存储过程,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必须指定 16 个以上的 <filespec> 项目时,才需要使用 CREATE DATABASE FOR ATTACH。 如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。
l         collation_name,指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。
l         PRIMARY,指定关联的 <filespec> 列表定义主文件。主文件组包含所有数据库系统表。还包含所有未指派给用户文件组的对象。主文件组的第一个 <filespec> 条目成为主文件,该文件包含数据库的逻辑起点及其系统表。一个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的第一个文件将成为主文件。
l         NAME,为由 <filespec> 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。
l         logical_file_name,用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。logical_file_name 在数据库中必须唯一,并且符合标识符的规则。该名称可以是字符或 Unicode 常量,也可以是常规标识符或定界标识符。
l         FILENAME,为 <filespec> 定义的文件指定操作系统文件名。
l         os_file_name,操作系统创建 <filespec> 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩文件系统中的目录。如果文件在原始分区上创建,则 os_file_name 必须只指定现有原始分区的驱动器字母。每个原始分区上只能创建一个文件。原始分区上的文件不会自动增长;因此,os_file_name 指定原始分区时,不需要指定 MAXSIZE 和 FILEGROWTH 参数。
l         SIZE,指定 <filespec> 中定义的文件的大小。如果主文件的 <filespec> 中没有提供 SIZE 参数,那么 SQL Server 将使用 model 数据库中的主文件大小。如果次要文件或日志文件的 <filespec> 中没有指定 SIZE 参数,则 SQL Server 将使文件大小为 1 MB。
l         Size,<filespec> 中定义的文件的初始大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。size 的最小值为 512 KB。如果没有指定 size,则默认值为 1 MB。为主文件指定的大小至少应与 model 数据库的主文件大小相同。
l         MAXSIZE,指定 <filespec> 中定义的文件可以增长到的最大大小。
l         max_size,<filespec> 中定义的文件可以增长到的最大大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。如果没有指定 max_size,那么文件将增长到磁盘变满为止。
l         UNLIMITED,指定 <filespec> 中定义的文件将增长到磁盘变满为止。
l         FILEGROWTH,指定 <filespec> 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置。
l         growth_increment,每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0 值表示不增长。该值可以 MB、KB、GB、TB 或百分比 (%) 为单位指定。如果未在数量后面指定 MB、KB 或 %,则默认值为 MB。如果指定 %,则增量大小为发生增长时文件大小的指定百分比。如果没有指定 FILEGROWTH,则默认值为 10%,最小值为 64 KB。指定的大小舍入为最接近的 64 KB 的倍数。
l         <filegroup>,控制文件组的属性。文件组不能在数据库快照上定义。
l         FILEGROUP,定义文件组的逻辑名。
l         filegroup_name,表示在创建数据库之后,在Transact-SQL语句中引用文件组的名称。filegroup_name在数据库中必须唯一,不能是系统提供的名称,如PRIMARY和PRIMARY_LOG。名称必须同标识符的规则保持一致。
l         default,定义文件组为特定文件组类型的默认数据库文件组。
l         DB_CHAINING { ON | OFF },当设置为ON的时候,数据库可以为交叉数据库所有者关系链中的源或者目标。当设置为OFF的时候,数据库不能参与交叉数据库所有者关系链,对于用户数据库,可以修改这个选项,但是不能修改系统数据库的该选项。默认值为OFF。
l         TRUSTWORTHY { ON | OFF },当设置为ON的时候,数据库模块(如视图、用户自定义函数或者存储过程)允许访问数据库外的资源。当设置为OFF的时候,数据库模块不能访问数据库之外的资源。默认值为OFF。
l         <service_broker_options> ,当授予FOR ATTACH子句的时候,才能设置Service Broker选项。
l         ENABLE_BROKER,定义数据库是否启用Service Broker。
l         NEW_BROKER,在sys数据库中和恢复数据库中创建新的service_broker_guid。
l         ERROR_BROKER_CONVERSATIONS,终止所有发生错误的会话。
l         database_snapshot_name,定义新数据库的快照名。
l         ON (NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ] ,对于创建一个数据库快照,在源数据库中定义文件列表。
l         AS SNAPSHOT OF source_database_name,定义创建的数据库为一个源数据库的数据库快照。
分享到:
评论

相关推荐

    SQL Server 中创建数据库和地理数据库(SDE)

    SQL Server 中创建数据库和地理数据库(SDE) sqlserver配置,arcgis SDE创建,sqlserver与arcgis连接

    SQL SERVER 创建数据库SQL SERVER 创建数据库SQL SERVER 创建数据库

    SQL Server 创建数据库是指在 SQL Server 中创建一个新的数据库,以便存储和管理数据。以下是创建数据库的知识点: 1. 创建数据库的步骤: - 定义数据库:定义数据库的名字、大小、文件路径等信息。 - 创建文件组...

    SQL Server 2005创建数据库

    SQL Server 2005创建数据库详细教程,有截图,简单易学

    sql server 2008 创建数据库 详解

    在SQL Server 2008中,创建数据库是管理和存储数据的第一步,是构建数据库管理系统的基础。本章详细讲解了如何在SQL Server 2008中创建和管理数据库,涵盖了数据库的基本概念、常用数据库对象及其操作。 首先,了解...

    SQL SERVER连接oracle数据库几种方法

    在 SQL Server 中,我们可以创建一个链接服务器,以便连接到 Oracle 数据库。下面是一个示例代码: ```sql EXEC sp_addlinkedserver @server = 'GE160', @srvproduct = 'Oracle', @provider = 'MSDAORA', @datasrc ...

    C# 开发SQLSERVER数据库自动建表

    标签“C# SQLServer 自创建表”确认了主要使用的编程语言和数据库系统,以及自动化建表的核心功能。通过结合C#的编程能力和SQL Server的数据库功能,我们可以构建一个高效、灵活的自动化建表工具,尤其适合处理包含...

    sql server 2008数据库转sql server 2005数据库

    4. 配置脚本生成选项,包括编写数据的脚本、编写 Use DataBase 的脚本、编写创建数据库的脚本等。 5. 生成脚本后,可以将其导入到 SQL Server 2005 数据库中。 方法二:SQL Server 2008R2 数据库降级为 SQL Server ...

    kepserver读取SQL Server数据库

    通过这种方式,KEPServer充当了一个桥梁,使PLC能够实时访问和操作SQL Server数据库中的数据,这对于实现基于数据库的自动化控制策略至关重要。例如,可以使用PLC读取数据库中的状态信息,根据这些信息执行控制逻辑...

    SQL Server 2008 R2 主从数据库同步

    4. 配置 SQLServer 日志传送:在主数据库服务器上配置日志传送,包括配置安全性、服务器身份验证模式和服务器代理帐户等。 5. 配置从数据库服务器:在从数据库服务器上配置辅助数据库实例和数据库,包括初始化辅助...

    SQLSERVER远程访问Access数据库

    在 SQLSERVER 中,我们需要创建一个链接服务器来访问远程的 Access 数据库。我们可以使用以下语句来创建链接服务器: exec sp_addlinkedserver 'sqltoaccess', 'Access', 'Microsoft.Jet.OLEDB.4.0', 'Z:\Northwind...

    sqlserver数据库SSH配置1

    在 Java 应用程序中,需要使用 JDBC 驱动来连接 SQLServer 数据库。JDBC 驱动需要配置 SSH tunnelling,以便通过 SSH 服务器连接数据库。 4. 配置 Hibernate Hibernate 是一个流行的 ORM 框架,用于将 Java 对象...

    获得SQLServer所有数据库名称

    “数据库名称”是指在SQL Server中,每个数据存储和处理的逻辑单元都有一个唯一的标识符,即数据库名称。用户可以通过这个名称来访问或操作相应的数据库。例如,“master”是系统数据库,用于存储SQL Server的系统...

    在SQL Server中创建用户角色及授权(使用SQL语句) .pdf

    这篇文档主要讲述了如何使用SQL语句在SQL Server中创建用户角色并进行授权。首先,我们从创建登录账户开始,然后创建数据库用户,接着将登录账户与数据库用户关联,并通过加入数据库角色来赋予用户特定的权限。 1. ...

    SQL Server数据库的创建

    本篇文章将详细讲解如何在SQL Server中创建数据库,以及涉及的相关技术,如XML、ASP.NET和C#。 首先,创建SQL Server数据库的基本步骤如下: 1. **启动SQL Server Management Studio (SSMS)**:这是与SQL Server...

    SQL SERVER自动导出Word数据库文档

    在SQL SERVER环境中,有时我们需要将数据库的信息以报告的形式呈现,比如导出为Word文档,方便阅读和分享。"SQL SERVER自动导出Word数据库文档"这一功能就满足了这样的需求。这个功能主要应用于SQL SERVER 2000、...

    Delphi SQL Server数据库备份程序_delphi_SQL_ServerDelphi_sqlserver_

    在描述中提到的“sqlserver 程序化备份”,意味着我们需要在Delphi应用程序中编写代码来执行SQL Server的备份任务。这可以通过以下步骤实现: 1. 连接数据库:使用ADOConnection组件,配置适当的连接字符串(如...

    无法升级数据库因为此版本的 SQL Server 不支持该数据库的非发布版本(539) 解决方案-kaic.docx

    在SQL Server数据库管理系统中,有时会遇到升级数据库时遭遇错误提示“无法升级数据库因为此版本的 SQL Server 不支持该数据库的非发布版本(539)”。这个问题通常出现在尝试使用新版本的SQL Server(例如SQL Server ...

    Kepserver通过ODBC 读写SQL数据库

    KEPServerEX是一款强大的工业数据连接软件,它允许设备与应用程序之间进行通信,提供了一种方式来通过ODBC(Open Database Connectivity)接口读写SQL数据库,如SQL Server。本篇文章将详细阐述如何利用KEPServerEX...

    SQLSERVER2000数据库例子

    标签中的"SQLSERVER 2000"强调了这是关于SQL Server 2000的信息,"数据库"是指其核心功能是存储和管理数据,而"实例"则指的是在SQL Server服务中运行的一个独立的数据库服务器进程,每个实例可以管理一个或多个...

Global site tag (gtag.js) - Google Analytics