【SQL server】基础入门1——创建与修改数据库及其文件/文件组

█ 创建数据库

一个比较典型的例子

  创建一个含有多个数据文件和多个日志文件的数据库。数据库名称为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查看效果 :
《【SQL server】基础入门1——创建与修改数据库及其文件/文件组》
知识点

① 为了便于分配和管理,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%的可用空间)

 
 
 

 

 

 

 

 

 
 

后记

以上着重总结的是命令方式的操作,利用图形化的界面方式进行数据库的操作其实更加方便快捷
 

 

 

 

 

 

 

 

 
> _ <

    原文作者:samarua
    原文地址: https://blog.csdn.net/m0_46202073/article/details/105367062
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞