注意:如果要将新建的库放在指定的文件夹中,应首先在指定盘建立文件夹,如在D盘建立,D:LCA,

如果是默认的安装路径一定是:C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATA\

英文状态录入。用代码方式,首先点"新建查询”,然后录入代码,点“执行”。按F5(许多时候可以不用,特别是笔记本),或点“刷新”,一般情况下要多点几次。
如果执行成功,可以看到在对象资源管理器中有显示。在指定位置会生成数据库与日志文件。执行不成功,检查代码所指示的行与错误信息是什么。

2.4 使用T-SQL操作数据库
2.4.1 创建数据库
CREATE DATABASE语句格式如下。
CREATE DATABASE 数据库名
[ON [PRIMARY]
{([NAME=数据文件的逻辑名称,]
FILENAME= '数据文件的物理名称' ,
[SIZE=数据文件的初始大小,]
[MAXSIZE=数据文件的最大容量,]
[FILEGROWTH=数据文件的增长量])}[ ,…n]
LOG ON
{([NAME=事务日志文件的逻辑名称,]
FILENAME = '事务日志文件的物理名称',
[SIZE=事务日志文件的初始大小,]
[MAXSIZE=事务日志文件的最大容量 ,]
[FILEGROWTH =事务日志文件的增长量])}[ ,…n]
[COLLATE数据库的排序方式]
FOR {ATTACH | ATTACH_REBUILD_LOG}

如果默认属性创建数据库,只需要用CREATE DATABASE Manage就可以了。
如果同时要改变大小、位置等也可以用以下代码完成。
【任务2.6】
CREATE DATABASE Manage
ON PRIMARY
(NAME=Manage_data,
FILENAME='D:dataManage_data.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
LOG ON
(NAME=Manage_log,
FILENAME='D:dataManage_log.ldf',
MAXSIZE=100,
FILEGROWTH=1MB)
GO

CREATE DATABASE t

     ON   PRIMARY 
      (  NAME=t,FILENAME='d:\t.mdf',
         SIZE=5 , MAXSIZE=10 , FILEGROWTH=10% ),
      (  NAME=t2,FILENAME='d:\t2.ndf',
      SIZE=4 , MAXSIZE=10 , FILEGROWTH=10% ),
     FILEGROUP  t_group
      (  NAME=t3,FILENAME='d:\t3.ndf',
      SIZE=4, MAXSIZE=10,FILEGROWTH=10% ) 
   LOG  ON
      (  NAME=t_log, FILENAME='d:\t_log.ldf',
         SIZE=1,MAXSIZE=5, FILEGROWTH=1)

例如:
CREATE DATABASE Manage
ON PRIMARY
(NAME=Manage_data,
FILENAME='d:lcaManage_data.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%)
LOG ON
(NAME=Manage_log,
FILENAME='d:lcaManage_log.ldf',
MAXSIZE=100,
FILEGROWTH=1MB)
GO

如果同时还要增加次数据库只需要在代码中增加对应的命令即可。
例如:
create database testdb
on primary
( name=td1, filename= ‘e:sqltd1.mdf ‘ ,

size=5, maxsize=20, filegrowth=10% ),

( name=td2, filename= ‘e:sqltd2.ndf ‘ ,

size=10, maxsize=30, filegrowth=2 ),

filegroup user1
( name=td3, filename= ‘e:sqltd3.ndf ‘ ,

size=5, maxsize=unlimited, filegrowth=2 )

log on
( name=tlog, filename= ‘e:sqltlog.ldf ‘ ,

size=4, maxsize=unlimited, filegrowth=20% )

CREATE DATABASE Manage001
ON PRIMARY
(NAME=Manage001_data,
FILENAME='D:dataManage001_data.mdf',
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=2MB),
(NAME=Manage001_data1,
FILENAME='D:dataManage001_data1.ndf',
SIZE=6MB,
MAXSIZE=60MB,
FILEGROWTH=1MB),
(NAME=Manage001_data2,
FILENAME='D:dataManage001_data2.ndf',
SIZE=6MB,
MAXSIZE=60MB,
FILEGROWTH=1MB)

LOG ON
(NAME=Manage001_log,
FILENAME='D:dataManage001_log.1df',
MAXSIZE=100,
FILEGROWTH=1MB),
(NAME=Manage001_data2_log,
FILENAME='D:dataManage001_data2_log.1df',
MAXSIZE=100,
FILEGROWTH=1MB)
GO

2.4.2 切换(或使用)数据库

USE语句的基本语法格式如下。
USE数据库名[;]
打开新的数据库就会关闭前一数据库。正在使用和打开的数据库不能删除、分离等操作。
【任务2.7】
USE Manage
GO

2.4.3 修改数据库

ALTER DATABASE语句的基本语法格式如下。
ALTER DATABASE数据库名
ADD FILE <文件格式> [TO FILEGROUP文件组]
| ADD LOG FILE <文件格式>
| REMOVE FILE逻辑文件名
| ADD FILEGROUP文件组名
| REMOVE FILEGROUP文件组名
| MODIFY FILE <文件格式>
| MODIFY FILEGROUP文件组名,文件组属性
| MODIFY NAME=数据库新名称
| SET数据库功能选项[,…n] [WITH终止符]
| COLLATE数据库的排序方式[;]

【任务2.8】
ALTER DATABASE Manage
ADD FILE
(NAME=Manage_add,
FILENAME='D:DATAManage_add.ndf',
SIZE=3MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10)
TO FILEGROUP newfilegroup
GO

对于已创建好的数据库要在其中增加文件组和次数据文件,可以通过以下代码实现:
例如:
ALTER DATABASE Manage
ADD FILEGROUP newfilegroup
GO

ALTER DATABASE Manage
ADD FILE
(NAME=Manage_add,
FILENAME='C:LCAManage_add.ndf',
SIZE=3MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10)
TO FILEGROUP newfilegroup
GO

给原有数据库改名: alter database 数据库名

                               modify name= 新数据库名

实例8:将数据库db1的名字修改为gl:
alter database db1

modify name= gl

例如:给原有数据库改名,原有如叫KK,改为HH,代码如下
ALTER DATABASE kk
MODIFY NAME=hh

给组改名:
例如我们建立一个数据库DB1,并在其下加一个组g2,现在要将其改为g3,如何操作?
代码如下:
create database db1

在数据库db1上右键刷新,查看属性有无文件组,然后执行如下代码:
alter database db1

add  filegroup   g2

在数据库db1上右键刷新,查看属性有无文件组,然后执行如下代码看是否改名:
alter database db1

modify  filegroup  g2  name=XXXXg3

删除数据库db1中的文件组XXXXg3,代码如下:
alter database db1

remove  filegroup  XXXXg3

实例9:在数据库db1中增加如下文件:
在主文件组中增加数据文件data4,初始大小为1MB,最大为5MB,增长幅度为1MB。在次文件组g1中增加数据文件data5,属性同data4。增加日志文件log2,属性同data4。
代码如下:
ALTER DATABASE Manage001
ADD FILEGROUP h2
GO

alter database Manage001

add  file
(name=data4, filename='d:\data\db1_data4.ndf',
 size=1, maxsize=5, filegrowth=1),
(name=data5, filename='d:\data\db1_data5.ndf',
 size=1, maxsize=5, filegrowth=1)to  filegroup  h2

alter database Manage001

add  log  file
(name=log3, filename='d:\data\db1_log3.ldf',
 size=1, maxsize=5, filegrowth=1)

实例10:将数据库db1中的数据文件data2的初始大小改为10MB,最大容量为20MB,增长幅度为10%。
alter database db1

modify  file
(name=data2,
     size=10, maxsize=20, filegrowth=10%)

删除数据文件和日志文件:
实例11:删除数据库db1中的数据文件data4和日志文件log2。
alter database db1

remove  file  data4

alter database db1

remove  file  log2

2.4.4 删除数据库(讲的时候可以先查看再删除)

T-SQL提供了DROP DATABASE命令来删除数据库,该语句的基本语法格式如下。DROP DATABASE数据库名[;]
要删除数据库当前数据库不能被使用!可以切换到另一个数据库后再进行删除这个数据库,删除完成后刷新,可查看文件夹中所有的都没有了。
例如:还有新建的XSGL数据库,前面打开了Manage,可以先切换到XSGL
use XSGL
go
然后去执行以下命令:
【任务2.9】
DROP DATABASE Manage
GO

2.4.5 管理数据库信息

在T-SQL中查看数据库信息可使用sp_helpdb系统存储过程,基本语法格式如下。
[EXECUTE] sp_helpdb [数据库名]

【任务2.10】
EXEC sp_helpdb Manage
GO

如果查看所有当前数据库信息:
select *from sysdatabases

如果在机房是有还原的,或者是其它存在危险不安全的地方使用的,可以将数据库进行分离后拷贝走,需要使用时再复制回来,进行附加即可!
2.4.6 直接复制文件的数据库分离与附加
1.实现数据库分离的语法格式
sp_detach_db 数据库名[, TRUE | FALSE]
当前不能被使用,打开状态的。可以先切换到另一个数据库,然后再分离,分离后不再显示,但库还在原来的位置。可以再附加回来。
例如:可以先创建一个数据库,KK,其默认存储在安装文件夹中的!
sp_detach_db kk

2.实现数据库附加的语法格式
sp_attach_db 数据库名, 数据库文件名[, …16]
例如:
sp_attach_db kk,'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAkk.mdf'

完成书上P50的实训要求,方法如同我们本次讲的!
实训名称
创建并管理学生信息管理数据库(Students)。
实训任务
(1) 使用SSMS对学生信息管理数据库(Students)进行创建、修改与删除等操作。
(2) 使用T-SQL命令对学生信息管理数据库(Students)进行创建、修改与删除等操作。
实训目的
(1) 规划学生信息管理数据库(Students)的主数据文件、辅助数据文件与日志文件的名称、大小、增长方式与存储路径等属性。
(2) 在SSMS中完成学生信息管理数据库(Students)从创建、修改、分离、附加,直到删除的完整过程。
(3) 使用T-SQL语句完成学生信息管理数据库(Students)的创建、修改与删除等操作。
实训环境
Windows Server平台及SQL Server 2008系统。
实训内容
Students数据库,该数据库包含一个主数据文件逻辑名‘StuInfodata1’,物理名‘C:DATAStuInfodata1.mdf’,初始容量3MB,最大容量10MB,每次增长量为15%;一个辅助数据文件逻辑名‘StuInfodata2’物理名‘D:DATAStuInfodata2.ndf ’,初始默认,最大容量不受限,每次增长量为2MB;一个事务日志文件逻辑名‘StuInfolog’物理名 ‘D:DATAStuInfolog.ldf ’,其他参数默认。
(1) 使用SSMS创建该数据库,创建完成后即可在通过SSMS对其进行删除。
(2) 使用T-SQL语句创建该数据库,可使用最简单的语句实现以上功能。
(3) 使用T-SQL语句对该数据库进行修改,创建一个新的文件组newgroup,并在其中添加一个辅助数据文件,逻辑名为‘StuInfoAdd’,与前一数据文件放在同一目录下,初始大小为5M;添加一个事务日志文件,逻辑名为‘StuInfoLogAdd’,与前一日志文件放在同一目录下。
(4) 使用系统存储过程查看数据库信息。
(5) 使用系统存储过程修改数据库设置信息,将“自动收缩(AUTO SHRINK)”属性设置为TRUE。
(6) 使用SSMS和T-SQL两种方式对数据库进行分离操作。
(7) 用最简单的T-SQL语句创建数据库CeShi,创建成功后对数据库进行删除操作。
实训步骤
操作具体步骤略,请参考相应案例。
实训结果
在本次实训操作结果的基础上,分析总结并撰写实训报告。

参考答案
(2)
create database Students on
(name= StuInfodata1, filename='C:DATAStuInfodata1.mdf', size=3, maxsize=10MB, filegrowth=15%),
(name= StuInfodata2, filename='D:DATAStuInfodata2.ndf',filegrowth=2)
log on
(name= StuInfolog, filename='D:DATAStuInfolog.ldf')
go
(3)
--1
alter database Students add filegroup newgroup
go
--2
alter database Students add file
(name=StuInfoAdd, filename='D:DATAStuInfoAdd.ndf',size=5) to filegroup newgroup
go
--3
alter database Students add log file
(name=StuInfoLogAdd, filename='D:DATAStuInfoLogAdd.ldf')
Go
(4) EXEC sp_helpdb Students
(5) EXEC sp_dboption Students, AUTOSHRINK, TRUE

标签: none

用户注册

添加新评论