首页 置换 选车 估价 问答 生活 经销商 车管所 汽车资讯 汽车销量 车牌查询 今日油价 天气预报
您的位置: 首页 > 生活 > 科技 > SQLServer创建数据库详解(SQLServer创建数据库详解)
SQLServer创建数据库详解(SQLServer创建数据库详解)
更新时间:2024-07-09 07:56:05

SQLServer创建数据库详解(SQLServer创建数据库详解)1

1、创建数据库介绍

在创建数据库之前,需要先确定数据库的名称、所有者、大小、存储该数据库的文件和文件组。

数据库所有者:创建数据库的用户。一般情况下,大多数产品对象由数据库所有者拥有。

2、创建数据库注意事项
  • 创建数据库需要拥有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE权限。
  • 创建数据库的用户将成为该数据库的所有者。
  • 针对一个SQL Server实例,最多可以创建32767个数据库。
  • 数据库名称必须遵循为标识符指定的规则。
  • 在创建新数据库同时,model数据库中的所有用户定义对象都会复制到新创建的数据库中。可以向model数据库中添加任何通用的对象(如表、视图、存储过程和数据类型),然后在创建的数据库可以将这些对象复制到新创建的数据库当中。
3、创建数据库的语法格式

语法格式如下:

CREATE DATABASE database_name [ ON [ PRIMARY ] [ <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON { <filespec> [ ,...n ] } ] ] [ COLLATE collation_name ] ][;]

参数说明:

database_name:数据库名称。

ON:指定以显式定义方式指定存储数据库数据部分的数据文件。

PRIMARY:指定<filespec>列表中的主文件。在<filespec>项中的第一个文件将成为主文件。如果没有指定PRIMARY则默认第一个文件将成为数据库主文件。

LOG ON:指定存储数据库日志的日志文件。LOG ON后跟着以逗号分隔的用于定义日志文件的<filespec>项列表。不指定LOG ON,将自动创建一个日志文件,文件大小为该数据库的所有数据文件大小总和的1/4或512 KB,取两者之中的较大者。

COLLATE collation_name:指定数据库的默认排序规则。排序规则名称包括Windows排序规则、SQL排序规则名称。未指定排序规则,则将SQL Server实例的默认排序规则分配为数据库的排序规则。

<filespec>部分主要用于控制文件属性,语法格式如下:

( 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 | GB | TB | % ] ] ) [ ,...n ]

logical_file_name:指定文件的逻辑名称。logical_file_name必须在数据库中唯一,必须符合规定的标识符规则。

' os_file_name ':指定操作系统(物理)文件名称。执行创建数据库语句前,指定文件路径必须存在。如果指定了UNC(通用命名约定)路径,则无法设置SIZE、MAXSIZE和FILEGROWTH参数。

size:指定文件的初始大小。未指定主文件指定size,数据库引擎将使用model数据库中的主文件的大小。如果指定了辅助数据文件或日志文件,但未指定该文件的size,则数据库引擎将以1 MB作为该文件的大小。

可以使用千字节(KB)、兆字节(MB)、千兆字节(GB)或兆兆字节(TB)后缀,默认单位为MB。

max_size:指定文件可增大到的最大值,可以使用KB、MB、GB和TB后缀,默认单位为MB。

UNLIMITED:指定文件可以增长到磁盘空间已满。在SQL Server中,指定为不限制增长的日志文件的最大值为2 TB,而数据文件的最大值为16 TB。

growth_increment:指定每次需要新空间时为文件添加的空间量。growth_increment值不能超过MAXSIZE设置值。该值可以使用MB、KB、GB、TB或百分比(%)为单位指定。默认值为MB。growth_increment值为0时表明自动增长被关闭,不允许增加空间。

如果未指定FILEGROWTH,则数据文件的默认值为1 MB,日志文件的默认增长比例为10%,并且最小值为64 KB。

<filegroup>部分主要用于控制文件组属性,语法格式如下:

FILEGROUP filegroup_name [ DEFAULT ] <filespec> [ ,...n ]

filegroup_name:必须在数据库中唯一,不能是系统提供的名称PRIMARY和PRIMARY_LOG。

DEFAULT:指定文件组为数据库中的默认文件组。

4、 创建数据库示例
  1. 最简单的创建数据库示例

create database TestDB

会根据SQLServer默认设置(文件存储位置、文件增加大小等)创建数据库。

SQLServer创建数据库详解(SQLServer创建数据库详解)2

2.指定数据和事务日志文件的数据库示例

IF DB_ID (N'TestDB') is not null -- 判断数据库是否存在如果存在则先删除 DROP DATABASE TestDB GO CREATE DATABASE TestDB ON ( NAME = TestDB,-- 逻辑数据库文件名 FILENAME = 'D:\TestDB.mdf', SIZE = 10, MAXSIZE = 200, FILEGROWTH = 5 ) LOG ON ( NAME = TestDB_log,-- 逻辑数据库日志文件名 FILENAME = 'D:\TestDB_log.ldf', SIZE = 5MB, MAXSIZE = 50MB, FILEGROWTH = 5MB ) ;

SQLServer创建数据库详解(SQLServer创建数据库详解)3

3.指定多个数据文件和事务日志文件示例

USE master GO IF DB_ID (N'TestDB') is not null -- 判断数据库是否存在如果存在则先删除 DROP DATABASE TestDB GO CREATE DATABASE TestDB ON PRIMARY (NAME = TestDB1, FILENAME = 'd:\TestDB1.mdf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20), ( NAME = TestDB2, FILENAME = 'd:\TestDB2.ndf', SIZE = 100MB, MAXSIZE = 200, FILEGROWTH = 20) LOG ON (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) ;

SQLServer创建数据库详解(SQLServer创建数据库详解)4

4.创建具有文件组的数据库下面的语句将创建数据库Sales,该数据库具有以下文件组。

USE master GO IF DB_ID (N'TestDB') is not null -- 判断数据库是否存在如果存在则先删除 DROP DATABASE TestDB GO CREATE DATABASE TestDB ON PRIMARY -- 数据库主文件 ( NAME = TestDB1, FILENAME = 'd:\TestDB1.mdf', SIZE = 20, MAXSIZE = 100, FILEGROWTH = 10% ), ( NAME = TestDB2, FILENAME = 'd:\TestDB2.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5% ), FILEGROUP DBGroup1 ( NAME = TestDB3, FILENAME = 'd:\TestDB3.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), ( NAME = TestDB4, FILENAME = 'd:\TestDB4.ndf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ), FILEGROUP DBGroup2 ( 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 ) LOG ON ( NAME = TestDB_log, FILENAME = 'd:\TestDB_log.ldf', SIZE = 50MB, MAXSIZE = 500MB, FILEGROWTH = 10MB ) ;

SQLServer创建数据库详解(SQLServer创建数据库详解)5

,
相关推荐RECOMMEND
官方狼人杀怎么可以升2级(狼人杀明日新版本上线)
​新版本明日就要上线啦快和小丘一起看看关于更新的详细介绍吧~页面调整信息预览新旧页面对比图(左旧右新)首先大家看到的当然是主页下方导航栏发生了变化。狼队友们一定会疑惑:门派、师徒还有血月秘宝去哪里了?...
华为手机有几个功能键(华为手机的实体键)
之前有朋友问我华为手机的三个按键就只能加减音量和关机吗?其实手机按键不只是赋予他们这些简单的功能的,三个按键组合起来可以实现是许多快捷操作。华为手机上的三个实体按键除了开关机、加减音量以外还有5大功能...
vps是否安全(关于天下数据菲律宾vps云主机租用的一些问题)
1.菲律宾VPS云主机总体介绍天下数据菲律宾vps云主机机房位于菲律宾马尼拉市中心的IPC数据中心,是一个真正的运营商中立、电信级、高安全性的全球互联网数据中心,由IPC拥有和运营,拥有来自领先的本地...
说唱姜云升厉害吗(姜云升一个邪门)
一、永远不要挑战姜云升的专业能力在综艺节目《说唱新世代》第二期游戏环节中,黄子韬信心满满地说,“我运气从来没输过”,姜云升说,“我是个道士”。结果姜云升连赢三把,黄子韬瞬间蒙了,就连马伯骞也觉得诧异,...
考特尼卡戴珊被网友骂(卡戴珊生孩子曝光)
近日,一组卡戴珊大姐考特尼·卡戴珊在真人秀里直播生孩子的片段在微博爆火。在视频中,一群紧张的医护人员围着少有的素颜出镜的考特尼满脸风淡云轻,仿佛不是在生孩子,只是在经历一场美甲,看上去比普通人便秘还要...
路由器设置通俗易懂(无线路由器参数看着懵圈)
无线路由器大家都很熟悉,但看着路由器上的参数估计都是一脸懵圈。接下来让用通俗易懂的语言帮助大家理解这些关键参数。先通过例子看下经无线路由器的上网整个流程:上网请求:手机发送上网请求----》路由器天线...