【SQL server】基础入门1——创建与修改数据库及其文件/文件组
█ 创建数据库一个比较典型的例子: 创建一个含有多个数据文件和多个日志文件的数据库。数据库名称为Student,主数据文件逻辑名称为stu,属于primary文件组;辅助数据文件逻辑名称为stu_0123,属于用户定义文件组loli;事务日志文件逻辑名称分别为stu_log1,和stu_log2(物理文件名自定义即可)create database studenton...
█ 创建数据库
一个比较典型的例子:
创建一个含有多个数据文件和多个日志文件的数据库。数据库名称为Student,主数据文件逻辑名称为stu,属于primary文件组;辅助数据文件逻辑名称为stu_0123,属于用户定义文件组loli;事务日志文件逻辑名称分别为stu_log1,和stu_log2(物理文件名自定义即可)
create database student
on --其实是 on primary,默认文件组为主文件组
(
name = stu, --逻辑文件名称 --这里加不加引号都一样
filename = 'D:\DataBase\stu.mdf', --物理文件名称 --这里必须加引号
size = 8MB, --初始大小
maxsize = 50MB, --限制
filegrowth = 10% --增量
),
filegroup loli --stu_123文件在用户定义文件组中
(
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 --(增添了一个名称为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%的可用空间)
※ 后记
以上着重总结的是命令方式的操作,利用图形化的界面方式进行数据库的操作其实更加方便快捷
> _ <
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)