|
创建数据库是对数据库进行操作的前提。在SQL Server中有两种创建的方式,一种是通过界面方式创建,另一种是通过命令方式(T-SQL 语句)创建。
首先要明确,能够创建数据库的用户必须是系统管理员,或者是被授权使用“CREATE DATABASE”语句的用户。
对于新创建的数据库,系统对数据库的默认值为:初始大小3MB;最大大小不限制;允许数据库自动增长,增量为1MB。对于日志文件的默认值为:初始大小1MB;最大大小不限制;允许日志文件自动增长,增量方式为按10%比例增长。
在这里,我们只讲解使用SQL语句创建数据库。接下来将通过例子讲解。
例:创建商品销售管理数据库shop,要求有两个文件组,主文件组primary包括文件shop_data1和shop_data2;第二个文件组名为shopgroup包括shop_data3和shop_data4.其中shop_data1是主数据文件,初始大小为5MB,最大容量为9MB,按1MB增长;shop_data2采用系统默认值;shop_data3初始大小为2MB,最大大小不限,按1MB增长;shop_data4初始大小为2MB,最大大小不限,按10%增长。该数据库有2个日志文件,shop_log1.ldf和shop_log2.ldf,初始大小,最大大小,和文件增长幅度均采用系统默认值。所有文件存放在D:\SQL Server数据库 文件夹中。
源代码如下:
create database shop
on primary
(
name='shop_data1',
filename='D:\SQL Server数据库\shop_data1.mdf',
size=9mb,
maxsize=7mb,
filegrowth=1mb
),
(
name='shop_data2',
filename='D:\SQL Server数据库\shop_data2.ndf'
),
filegroup shopgroup
(
name='shop_data3',
filename='D:\SQL Server数据库\shop_data3.ndf',
size=2mb,
filegrowth=1mb
),
(
name='shop_data4',
filename='D:\SQL Server数据库\shop_data4.ndf',
size=2mb,
filegrowth=10%
)
log on
(
name='shop_log1',
filename='D:\SQL Server数据库\shop_log1.ldf'
),
(
name='shop_log2',
filename='D:\SQL Server数据库\shop_log2.ldf'
)按F5或者点击执行,即可完成数据库的创建。
数据库的维护
命令操作基础知识
批处理:批处理是包含一个或多个T-SQL 语句的组,从应用程序一次性地发送到 SQL Server进行执行。SQL Server 将批处理的语句编译为一个可执行单元,称为执行计划。执行计划中 的语句每次执行一条。编译错误(如语法错误)可使执行计划无法编译,因此未执行批处理 中的任何语句。
(1)CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE,CREATE TRIGGER 和 CREATE VIEW 语句不能在批处理中与其他语句组合使用。批处理必须以CREATE 语句开始。所有跟在该批处理后的其他语句将被解释为第一个 CREATE 语句定义的一部分。
(2)不能在同一个批处理中更改表,然后引用新列。
(3)如果 EXECUTE 语句是批处理中的第一句,则不需要 EXECUTE 关键字。如果 EXECUTE 语句不是批处理中的第一条语句,则需要 EXECUTE 关键字。 GO命令:使用GO命令作为批结束的信号,GO 是一个不需任何权限的实用工具命令,它可以由任何用户执行。但 GO 不是 T-SQL 语句。GO命令不能与SQL语句在同一行,但是可以在GO中包含注释。
打开或切换数据库的命令:use database
数据库的修改
数据库被创建后,数据文件名和日志文件名就不能改变了。可以进行修改的有:
(1)增加或删除数据文件
(2)改变文件的大小和增长方式
(3)改变日志文件的大小和增长方式
(4)增加和删除日志文件
(5)增加或删除文件组
(6)数据库的重命名
在这里只讲解用SQL语句对数据库的修改操作。使用“alter database”命令对数据库进行修改。
T-SQL语句格式为:
ALTER DATABASE database_name
{ ADD FILE <filespec> [ , … n][ TO FILEGROUP { filegroup_name | DEFAULT} ] /*在文件组中增加数据文件*/
| ADD LOG FILE <filespec> [, … n] /*增加日志文件*/
| REMOVE FILE logical_file_name /*删除数据文件*/
| ADD FILEGROUP filegroup_name /*增加文件组*/
| REMOVE FILEGROUP filegroup_name /*删除文件组*/
| MODIFY FILE <filespec> /*更改文件属性*/
| MODIFY NAME = new_dbname /*数据库更名*/
| MODIFY FILEGROUP filegroup_name {filegroup_property | DEFAULT | NAME = new_filegroup_name }
| COLLATE < collation_name > /*指定数据库排序规则*/
}
[;]
<filespec>::=
( NAME = logical_file_name
[ , NEWNAME = new_logical_name ]
[ , FILENAME = &#39;os_file_name&#39; ]
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ]
[ , OFFLINE ]
)参数说明:
(1)TO FILEGROUP { filegroup_name | DEFAULT}添加到文件组
(2)logical_file_name :在 SQL Server 中引用文件时所用的逻辑名称。
(3)在删除文件组的时候,应该先将文件组中所有的文件都删除
数据库的删除
在这里只讲解用SQL语句对数据库的删除操作。使用“drop database”命令对数据库进行修改。
语法格式:DROP DATABASE {database_name} [, … n] [;]
数据库的分离和附加
数据库的附加和分离可以在需要更换数据库物理存放地址时使用。
(1)数据库的分离:分离数据库实际上只是删除数据库的连接,使该数据库的数据和事务日志文件能从当前的数据库服务器分离下来。
分离的操作:在对象资源管理器中找到“数据库”项,右键需要分离的数据库,在出现的快捷菜单中选择“任务”→“分离”菜单项, 弹出“分离数据库”对话框。如下图所示:

勾选删除连接,确定即可。
默认情况下,数据库的 mdf 与 ldf 文件的位置,一般在 SQL Server的安装文件夹的\MSSQL.1\MSSQL\Data 下(用户数据库文件的位置是在创建时确定的)。分离出来的数据文件与事务日志文件可移动或复制到其他的目录或其他的计算机中。
(2)附加数据库:
附加数据库有两种方法:方法一:在对象资源管理器中找到“数据库”项,右击鼠标,选择附加,弹出“附加数据库”对话框。如下图所示:

选择需要附加的.mdf文件,单击确定即可。
方法二(不做重点):
CREATE DATABASE database_name
ON <filespec> [ , ... n ]
FOR { ATTACH | ATTACH_REBUILD_LOG }
[;]
<filespec> ::= /*指定数据库文件的属性*/
( FILENAME = &#39;os_file_name&#39; ) [ ,...n ]参数说明:
(1)FILENAME &#39; os_file_name &#39;:指定物理文件名称(路径和文件名)
(2)FOR ATTACH:指定通过附加一组现有的操作系统文件来创建数据库。必须有一个指定主文件的项。
(3)FOR ATTACH_REBUILD_LOG:指定通过附加一组现有的操作系统文件来创建数据 库。该选项只限于读/写数据库。如果缺少一个或多个事务日志文件,将重新生成日志文件。必须有一个指定主文件的项。 |
|