实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)
-
创建数据库
用命令 CREATE DATABASE 完成下列操作:
注:XXX为学号最后三位1.创建数据库dbXXXA,不指定任何文件,然后用SP_HELPDB查看结果;
CREATE DATABASE DB061A
GO
EXEC SP_HELPDB DB061A
2.创建数据库dbXXXB,仅指定一个数据文件,参数自定,然后查看结果;
CREATE DATABASE [db061B]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N’db061B’, FILENAME = N’C:\Program Files\Microsoft SQL
Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\db061B.mdf’ , SIZE = 8192KB , MAXSIZE =
UNLIMITED, FILEGROWTH = 65536KB ),
( NAME = N’db061B_1’, FILENAME = N’C:\Program Files\Microsoft SQL
Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\db061B_1.ndf’ , SIZE = 8192KB , MAXSIZE
= UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N’db061B_log’, FILENAME = N’C:\Program Files\Microsoft SQL
Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\db061B_log.ldf’ , SIZE = 8192KB ,
MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
WITH CATALOG_COLLATION = DATABASE_DEFAULT
GO
3.创建数据库dbXXXC,指定一个数据文件(大小5MB,最大10,增长10%),一个日志文件(大小3,最大10MB,增长2),然后查看结果;
4.创建数据库dbXXXD,指定2个数据文件,2个日志文件,参数自定,然后查看结果;
5.创建数据库dbXXXE,主文组中1个文件,增加一个文件组,并在其中增加2个文件;日志文件2个,参数自定,然后查看结果;
6.分离数据库 dbXXXA,把数据库所有文件拷贝到D:\mydb文件夹,然后附加该数据库
- (B)修改数据库
用命令 ALTER DATABASE 完成下列操作:
1.数据库dbXXXA,再增加一个数据文件和日志文件;
ALTER DATABASE db061A ADD FILE
(NAME = N’db061A_2’,
FILENAME = N’C:\Program Files\Microsoft SQL
Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\db061A.mdf’ ,
SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
ALTER DATABASE db061A ADD LOG FILE
( NAME = N’db061A_log_2’,
FILENAME = N’C:\Program Files\Microsoft SQL
Server\MSSQL15.SQLEXPRESS\MSSQL\DATA\db061A_log.ldf’ , SIZE = 8192KB ,
MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
exec SP_HELPDB db061A
2.数据库dbXXXB,增加一个文件组FGxxx,并在其中增加1个文件dbb_dat(大小10Mb);
ALTER DATABASE db061A ADD FILEGROUP FG061
ALTER DATABASE db061A ADD FILE
( NAME = N’dbb_dat’,FILENAME=N’C:\Program Files\mydb\dbb_dat.ndf’,SIZE
=10240KB,MAXSIZE=2048GB, FILEGROWTH = 2048KB)
TO filegroup FG061
3.把(2)dbb_dat文件改为5MB(?);改为15MB(?);会有什么问题?
可以改成15MB但是不能改成5MB
因为文件大小要大于当前大小否则会损失文件内容
ALTER DATABASE db061A MODIFY FILE(NAME=N’dbb_dat’,SIZE=5MB)
ALTER DATABASE db061A MODIFY FILE(NAME=N’dbb_dat’,SIZE=15MB)
- 数据库dbXXXA,删除数据文件(mdf)?删除数据文件(ndf)?
①DBCC SHRINKFILE(‘db061A_2’,emptyfile)
ALTER DATABASE db061A REMOVE FILE db061A_2
需要先移除数据才能删除
②主文件无法删除
③可以删除ndf
5.数据库dbXXXA,删除第一个日志文件?删除第二个日志文件?
不能删除主文件
(C)修改数据库
用命令 DROP DATABASE 完成下列操作:
1.删除数据库dbXXXC
实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)
1.附加数据库刚开始是只读,需要在属性-选项-状态中设置
2.创建的mdf文件2无法删除
创建一个文件3却可以删除
在db061D中也无法删除2
百度使用DBCC SHRINKFILE(‘db061A_2’,emptyfile)
遇上找不到文件,保存文件重启后可以使用,成功删除
想到为什么只有第二个文件有数据,询问老师。
原来如果使用manager直接一起创建文件,就会出现这种状况,里面会默认置放一些内容。
,emptyfile)
遇上找不到文件,保存文件重启后可以使用,成功删除
想到为什么只有第二个文件有数据,询问老师。
原来如果使用manager直接一起创建文件,就会出现这种状况,里面会默认置放一些内容。