█ 创建数据库
一个比较典型的例子:
创建一个含有多个数据文件和多个日志文件的数据库。数据库名称为Student,主数据文件逻辑名称为stu,属于primary文件组;辅助数据文件逻辑名称为stu_0123,属于用户定义文件组loli;事务日志文件逻辑名称分别为stu_log1,和stu_log2(物理文件名自定义即可)
create database student
on
(
name = stu,
filename = 'D:\DataBase\stu.mdf',
size = 8MB,
maxsize = 50MB,
filegrowth = 10%
),
filegroup loli
(
name = stu_0123,
filename = 'D:\DataBase\stu_123.ndf',
size = 8MB,
maxsize = 30MB,
filegrowth = 10%
)
log on
(
name = stu_log1,
filename = 'D:\DataBase\stu_log1.ldf',
size = 8MB,
maxsize = 20MB,
filegrowth = 1MB
),
(
name = stu_log2,
filename = 'D:\DataBase\stu_log2.ldf',
size = 8MB,
maxsize = 20MB,
filegrowth = 1MB
)
exec sp_helpdb student
查看效果 :

※ 知识点
① 为了便于分配和管理,SQLServer允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组
② 每个数据库有且只有一个主数据组
③ 日志文件用于保存恢复数据库所需的的事务日志信息;每个数据库至少有一个数据文件,也可以有多个
④ 最好将文件的逻辑名称和物理名称统一
█ 修改数据库
▊ 增
① 添加文件组 :
alter database student add filegroup suki
② 增添文件
alter database student
add file
(
name = addition1,
filename = 'D:\DataBase\addition1.ndf'
)
alter database student
add file
(
name = addition2,
filename = 'D:\DataBase\addition2.ndf'
)to filegroup loli
(对于日志文件,将上面的add file
改为add log file
即可)
▊ 改
① 修改名称
alter database student
modify name = students
alter database student
modify file(name = addition4, newname = addtions9)
alter database student
modify filegroup suki name = saikou
② 修改参数(属性)
alter database student
modify file
(
name = stu_log1,
size = 10MB
)
▊ 删
① 删文件
alter database student
remove file stu_log1
② 删文件组
alter database student
remove filegroup suki
② 删数据库
drop database student
有时我们无法删掉当前正在运行的数据库,因此:
use master
go
drop database students
▊ 总结
对文件/文件组进行操作时,都是在数据库层面进行的,需要加上alter database ...
注意是modify file/filegroup
而不是alter
,是remove file/filegroup
而不是drop
▊ 收缩
① 自动收缩:右键→属性→选项→“自动收缩”设置为True
② 手动收缩 :右键→任务→收缩→数据库 / 文件
③ 命令方式:dbcc shrinkdatabase (student,10)
(将数据库student的大小收缩,并保留数据库有10%的可用空间)
※ 后记
以上着重总结的是命令方式的操作,利用图形化的界面方式进行数据库的操作其实更加方便快捷
> _ <