您的位置:首页 > 数据库

SQL server2014学习记录 实验一:创建数据库与管理数据库

2019-03-12 14:09 288 查看

一.创建数据库

数据库:一个数据库中只有一个主数据文件.mdf,可以有多个次数据文件 .ndf,可以有多个日志文件.ldf。任何一个数据库至少有两个文件,一个是主数据文件,一个是日志文件。

使用T-SQL命令完成数据库的创建

1.创建名为论坛数据库BBS,所有文件保存在D:\project下,数据文件名称BBS_data,文件初始大小为10MB,数据文件大小不受限制,日志文件名称为BBS_log, 初始大小为3mb,最大尺寸为20mb。

[code]CREATE DATABASE BBS /*新创建的数据库的名称*/
ON PRIMARY /*将创建数据库产生的数据文件放在主文件组*/
(
NAME='BBS_date',
FILENAME='D:\project\BBS_date.mdf',
SIZE=10MB, --数据库文件初始大小
MAXSIZE=UNLIMITED /*UNLIMITED表示文件的容量可以不断增加,直到整个磁盘满为止*/
)
LOG ON --创建日志文件
(
NAME='BBS_log',
FILENAME='D:\project\BBS_log.ldf',
SIZE=3MB,
MAXSIZE=20MB
)
GO

2.创建一个网吧计费用的数据库,数据库名称为NetBar,数据文件位置为D:\ project,主数据文件NetBar_data初始大小为5MB。自动增长方式为每次增加5MB,最大数据容量无限制;次数据文件NetBar_data1初始大小为5MB;日志文件NetBar_log初始大小为3MB,自动增长方式为每次增加1MB,最大数据容量为50MB。

[code]CREATE DATABASE NetBar
ON PRIMARY
(
NAME='NetBar_date',
FILENAME='D:\project\NetBar_date.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=5MB
),
(
NAME='NetBar_date1',
FILENAME='D:\project\NetBar_date1.ndf',
SIZE=5MB
)
LOG ON
(
NAME='NetBar_log',
FILENAME='D:\project\NetBar_log.ldf',
SIZE=3MB,
MAXSIZE=50MB,
FILEGROWTH=1MB
)
GO

 

二.管理数据库

1.创建数据库EMIS,所有文件保存在D:\DATABASE 下,数据文件名称emis,文件初始大小为10MB,数据文件大小不受限制,自动增长方式为每次增长50%; 日志文件名称为emis_log, 初始大小为5mb,最大尺寸为200mb。

[code]CREATE DATABASE EMIS
ON PRIMARY
(
NAME='EMIS',
FILENAME='D:\DATABASE\emis.mdf',
SIZE=10MB,
MAXSIZE=unlimited,
FILEGROWTH=50%
)
LOG ON
(
NAME='emis_log',
FILENAME='D:\DATABASE\emis_log.ldf',
SIZE=5MB,
MAXSIZE=200MB,
FILEGROWTH=3MB
)
GO

2.修改emis数据库,为emis数据库添加一个数据文件,该数据文件名为emis_data1,该数据文件存储在D盘database文件夹中,文件初始大小为5mb。

修改emis数据库,为emis数据库添加一个日志文件,该日志文件名为emis_log2,该数据文件存储在D盘database文件夹中,文件初始大小为3mb,文件最大容量为无限制。

[code]USE EMIS --跳转到需要操作的数据库
GO
ALTER DATABASE EMIS /*要修改的数据库名称*/
ADD FILE /*向数据库中添加文件*/
(
NAME=emis_date1, --数据库文件的逻辑名
FILENAME='D:\DATABASE\emis_date1', --数据库物理文件名(绝对路径)
SIZE=5MB --数据库文件初始大小
);
GO
ALTER DATABASE EMIS
ADD LOG FILE  /*添加日志文件*/
(
NAME=emis_log2,
filename='d:\DATABASE\emis_log2',
size=3mb,
maxsize=unlimited /*无限*/
)
GO

以上参考语法 ps:管理数据库见第二栏

[code]语法格式如下:
CREATE DATABASE database_name  
[ ON  
    [PRIMARY]  < filespec > [ ,...n ]  
    [ , < filegroup > [ ,...n ] ]  
    [ LOG ON  < filespec > [ ,...n ] ]  
]  
<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 | % ] ]  
)  

<filegroup> ::= FILEGROUP filegroup name <filespec> [ ,...n ] 

database_name:新创建的数据库的名称,不能与SQL Server中现有的数据库实例名称相冲突,最多可以包含128个字符。

ON:用于显式定义存储数据库数据部分的主数据文件、次要数据文件和文件组。

PRIMARY:指明主文件组中的主数据文件。一个数据库中只能有一个主数据文件,如果缺省PRIMARY关键字,则系统指定语句中的第一个文件为主数据文件。

LOG ON:指明事务日志文件的明确定义。如果不指定,系统会自动创建一个日志文件,其大小为该数据库所有数据文件大小综合的25%或512KB,取两者中的较大者。

NAME = logical_file_name:指定数据文件或日志文件的逻辑文件名。

FILENAME = 'os_file_name':指定数据文件或日志文件的物理文件名,即创建文件时,由操作系统使用的路径和文件名。

SIZE = size:指定数据文件或日志文件的初始大小,默认单位为MB。如果没有为主数据文件提供SIZE,则数据库引擎使用model数据库中的主数据文件的大小;如果为主数据文件提供了SIZE,则该SIZE值应大于或等于model数据库中的主数据文件的大小,否则系统报错。

MAXSIZE = { max_size | UNLIMITED }:指定数据文件或日志文件可以增长到的最大容量,默认单位为MB。如果缺省该项或指定为UNLIMITED,则文件的容量可以不断增加,直到整个磁盘满为止。

FILEGROWTH = growth_increment:指定数据文件或日志文件的增长幅度,默认单位为MB。0值表示不增长,即自动增长被设置为关闭,不允许增加空间。增幅既可以用具体的容量表示,也可以用文件大小的百分比表示。如果没有指定该项,系统默认按文件大小的10%增长。

[code]ALTER DATABASE database_name /*database_name:要修改的数据库名称*/
{ 
MODIFY NAME =new_database_name --MODIFY NAME:指定新的数据库名称。

|ADD FILE <filespec> [,...n] [TO FILEGROUP filegroup_name] 
--ADD FILE:向数据库中添加文件。
/*TO FILEGROUP{filegroup_name}:将指定文件添加到新的文件组*/
/*filegroup_name为文件组名称*/
| ADD LOG FILE  <filespec> [,...n] --ADD LOG FILE:将要添加的日志文件添加到指定的数据库
| REMOVE FILE logical_file_name --REMOVE FILE logical_file_name:从SQL Server的实例中删除逻辑文件并删除物理文件。除非文件为空,否则无法删除文件
| ADD FILEGROUP  filegroup_name --创建文件组
| REMOVE FILEGROUP filegroup_name --删除文件组
| MODIFY FILE < filespec >
}
< filespec >::=
(
NAME = logical_file_name
[,  NEWNAME  = new_logical_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|%] ]
[,  OFFLINE]
);

•database_name:要修改的数据库名称。

•MODIFY NAME: 指定新的数据库名称。

•ADD FILE:向数据库中添加文件。

•TO FILEGROUP{filegroup_name}:将指定文件添加到新的文件组。filegroup_name为文件组名称。

•ADD LOG FILE:将要添加的日志文件添加到指定的数据库

•REMOVE FILE logical_file_name:从SQL Server的实例中删除逻辑文件并删除物理文件。除非文件为空,否则无法删除文件。logical_file_name是在SQL Server中引用文件时所用的逻辑名称。

•MODIFY FILE:指定应修改的文件。必须在<filespec>中指定NAME,以标识要修改的文件。如果制定了SIZE,那么新大小必须比文件当前指定的数值要大。

删除数据库

DROP DATABASE database_name[ ,...n ];

•database_name:要删除的数据库名称。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: