实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)

  1. 创建数据库
    用命令 CREATE DATABASE 完成下列操作:
    注:XXX为学号最后三位

    1.创建数据库dbXXXA,不指定任何文件,然后用SP_HELPDB查看结果;

CREATE DATABASE DB061A

GO

EXEC SP_HELPDB DB061A

数据库文件添加删除DBCC SHRINKFILE的使用

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文件夹,然后附加该数据库

  1. (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)

  1. 数据库dbXXXA,删除数据文件(mdf)?删除数据文件(ndf)?

①DBCC SHRINKFILE(‘db061A_2’,emptyfile)

ALTER DATABASE db061A REMOVE FILE db061A_2

需要先移除数据才能删除

数据库文件添加删除DBCC SHRINKFILE的使用
数据库文件添加删除DBCC SHRINKFILE的使用②主文件无法删除

③可以删除ndf

5.数据库dbXXXA,删除第一个日志文件?删除第二个日志文件?

不能删除主文件

(C)修改数据库
用命令 DROP DATABASE 完成下列操作:
1.删除数据库dbXXXC

实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)

1.附加数据库刚开始是只读,需要在属性-选项-状态中设置
数据库文件添加删除DBCC SHRINKFILE的使用

数据库文件添加删除DBCC SHRINKFILE的使用

2.创建的mdf文件2无法删除

数据库文件添加删除DBCC SHRINKFILE的使用
创建一个文件3却可以删除

在db061D中也无法删除2

百度使用DBCC SHRINKFILE(‘db061A_2’,emptyfile)

遇上找不到文件,保存文件重启后可以使用,成功删除

数据库文件添加删除DBCC SHRINKFILE的使用

想到为什么只有第二个文件有数据,询问老师。

原来如果使用manager直接一起创建文件,就会出现这种状况,里面会默认置放一些内容。
,emptyfile)

遇上找不到文件,保存文件重启后可以使用,成功删除

数据库文件添加删除DBCC SHRINKFILE的使用
想到为什么只有第二个文件有数据,询问老师。

数据库文件添加删除DBCC SHRINKFILE的使用

原来如果使用manager直接一起创建文件,就会出现这种状况,里面会默认置放一些内容。

相关文章: