视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实验2 数据库的创建和管理
2025-09-27 16:05:38 责编:小OO
文档
实验2  数据库的创建和管理

学号:  2011193158          姓名:韩江玲

一、实验目的:

1、 掌握使用企业管理器创建SQL Server数据库的方法;

2、    掌握使用T-SQL语言创建SQL Server数据库的方法;

3、    掌握附加和分离数据库的方法;

4、    掌握使用企业管理器或存储过程查看SQL数据库属性的方法;

5、    熟悉数据库的收缩、更名和删除;

6、    掌握使用企业管理器或sp_dboption存储过程修改数据库选项的方法。

二、实验内容和步骤: 

本次实验所创建数据库(包括数据库文件和事务日志)存放位置都为“D:\\TestDB”。因此首先在D盘下新建文件夹TestDB。

1. 数据库的创建

创建数据库的过程实际上就是为数据库设计名称、设计所占用的存储空间和文件存放位置的过程。

实验内容1:使用SQL Server企业管理器创建一个数据库,具体要求如下:

1)数据库名称为Test1。

2)主要数据文件:逻辑文件名为Test1_Data1,物理文件名为Test1_Data1.mdf,初始容量为1MB,最大容量为10MB,递增量为1MB。

3)次要数据文件:逻辑文件名为Test1_Data2,物理文件名为Test1_Data2.ndf,初始容量为1MB,最大容量为10MB,递增量为1MB。

4)事务日志文件:逻辑文件名为Test1_Log,物理文件名为Test1_Log.ldf,初始容量为1MB,大容量为5MB,递增量为1MB。其他选项为默认值。

注:我在创建数据库的时候,系统要求主文件(Test1_data1和Test1_data2)的大小不能小于3MB,所以在本例中我设置的主文件的初始大小均为3MB

实验内容2:用Transact-SQL(T-SQL)语句创建数据库,实验步骤:启动“查询分析器”,在编辑窗口输入SQL语句。

用T-SQL语句创建一个名为teach的数据库,它由5MB的主数据文件、2MB的次数据文件和1MB的日志文件组成。并且主数据文件以2MB的增长速度增长,其最大容量为15MB;次数据文件以10%的增长速度增长,其最大容量为10MB;事务日志文件以1MB增长速度增长,其最大日志文件大小为10MB。运行完语句后,仔细查看结果框中的消息。

提示:在查询分析器中输入如下SQL语句。

CREATE DATABASE teach

On

(name= teach_data1,

filename= 'd:\\TestDB\each_data1.mdf ',

size=5,

maxsize=15,

filegrowth=2),

( name= teach_data2,

filename= 'd:\\TestDB\each_data2.ndf ',

size=5,

maxsize=10,

filegrowth=10%)

log on

( name=teach_log,

filename= 'd:\\TestDB\each_log.ldf ',

size=1,

maxsize=10,

filegrowth=1)

注:要想这段T-SQL语句能够成功执行需要实现在D盘下面建一个TestDB文件夹,不然系统会找不到指定的根目录名称而执行失败

2 数据库的管理

2.1 数据库的分离与附加

将teach数据库与服务器分离。可以使用企业管理器或SQL语言对数据库进行分离的操作。分离数据库的存储过程是sp_detach_db,附加数据库的存储过程是sp_attach_db。

实验内容3: 分离数据库teach

提示:sp_detach_db  teach

语句执行成功后,打开企业管理器,查看是否存在该数据库对象。

若出现“无法分离 数据库 'teach',因为它当前正在使用。”问题,应把企业管理器关闭。

注:将删除链接选项选上,然后点击确定就可以成功将该数据库分离了

实验内容4: 附加数据库

提示:sp_attach_db  teach,'d:\\TestDB\each_data1.mdf '。

语句执行成功后,打开企业管理器,查看是否存在该数据库对象。

首先定位数据库所在路径

接着查看数据库添加成功:

查询数据库附加成功:

2.2 查看和修改数据库属性

数据库创建以后,可以使用企业管理器或SQL语言来查看或修改数据库的属性。

使用企业管理器的方法是右击数据库名称,在快捷菜单中选择“属性”,然后数据库属性对话框中就可以查看或修改数据库的属性。

也可以使用sp_helpdb、sp_spaceused、sp_helpfile和sp_helpfilegroup等存储过程查看和数据库有关的属性。

修改数据库属性可以使用ALTER DATABASE命令。

实验内容5:使用sp_ helpdb存储过程查看teach数据库的信息,然后企业管理器将teach数据库的事务日志文件的增长大小改为按2MB字节增长,再使用sp_ helpdb存储过程查看student数据库的信息。

提示:在查询分析器中输入如下SQL语句:sp_helpdb teach

使用sp_ helpdb存储过程查看teach数据库的信息

将teach数据库的事务日志文件的增长大小改为按2MB字节增长

使用sp_ helpdb存储过程查看更新后的teach数据库的信息

实验内容6:使用ALTER DATABASE命令为teach数据库添加一个新的数据文件,文件逻辑名为teach3,初始大小为2MB,增长值为1MB,其他属性默认。 

提示:在查询分析器中输入如下SQL语句:

ALTER DATABASE  teach

ADD FILE

( name= teach_data3,

filename= 'd:\\TestDB\each_data3.ndf ',

size=2,

filegrowth=1)

执行T-SQL语句

查看更改后的数据库信息

2.3 数据库的收缩

数据库收缩可以缩小数据库的空闲空间。可以使用企业管理器或SQL语言对数据库进行收缩工作。收缩数据库使用的SQL语句是DBCC SHRINKDATABASE命令。也可以使用ALTER DATABASE的SET子句或sp_dboption将数据库设为自动收缩。

实验内容7:将teach数据库设为自动收缩。

提示:1)使用企业管理器。打开企业管理器-选择要收缩的数据库-属性-选项-自动收缩(给服务器性能带来额外负担) 

2)使用SQL语句: DBCC SHRINKDATABASE(teach) 

其他:DBCC SHRINKDATABASE (UserDB,10)--把数据库UserDB收缩到90%

DBCC SHRINKDATABASE (DataFile1,7) --把数据文件DataFile1收缩到7M

使用企业管理器将teach数据库设置为自动收缩:

2.4 数据库的更名

使用系统存储过程sp_renamedb更改数据库的名称。在重命名之前,应确保没有用户使用该数据库。

实验内容8:将teach数据库改名为teaching。

提示:在查询分析器中输入如下SQL语句:

         sp_renamedb  teach,teaching

将teach数据库改名为teaching

2.5数据库选项的配置

可以使用 ALTER DATABASE 语句的 SET 子句、sp_dboption 系统存储过程,或者在某些情况下使用 SQL Server 企业管理器设置数据库选项。

实验内容9:使用企业管理器将teaching数据库设为只读。 

提示:打开企业管理器,选中teaching,单击右键,选中“属性”,单击“选项”,选中“只读”,确定。

设置teaching为只读

查看设置后的teaching数据库:

实验内容10:使用sp_dboption存储过程取消teaching数据库的只读设置。

提示:sp_dboption 'teaching', 'read only', 'FALSE'

取消teaching数据库的只读设置

查看执行后的效果:

2.6 数据库的删除

可以使用企业管理器删除数据库。在企业管理器中,右击所要删除的数据库,从弹出的快捷菜单中选择“删除”命令或直接按下键盘上Delete按钮即可删除数据库。

可以使用DROP语句删除数据库。注意:对正在使用的数据库不能被删除。

实验内容11:使用DROP DATABASE命令将teaching数据库删除。

提示:DROP DATABASE teaching

将teaching数据库删除

三、实验思考:

1. 一个数据库中包含哪几种文件?

1、主数据文件。

用来存储数据库的数据和数据库的启动信息。每个数据库必须有且只有一个主数据文件,其扩展名为.mdf。实际的主数据文件都有两种名称:操作系统文件名和逻辑文件名(在sql语句中会用到)

2、辅助数据文件

用来存储数据库的数据,可以扩展存储空间。一个数据库可以有多个辅助数据文件。扩展名为.ndf

3、事务日志文件

用来存放数据库的事务日志。凡是对数据库进行的增、删、改等操作,都会记录在事务日志文件中。每个数据库至少有一个事务日志文件。扩展名为.ldf

2. 事务日志文件的大小一般为数据文件大小的多少合适?

我认为日志文件的大小跟数据文件是没有太大的关联的,关键是看一次提交的事务的大小(要估计最大量),日志文件大小可以设置为最大的一次事务提交的大小的2-3倍就可以了,然后经常备份日志就可以了。数据库及其日志一定要经常备份,不然就算设置的日志文件再大也不行的。

3. 若需修改数据库文件的大小,可以使用的方法有哪些?若要求使用T-SQL语言,则命令应如何编写?

1、使用企业数据库管理,选中数据库名-》右键—》属性-》文件,然后队要修改的数据库文件的大小进行修改

2、T-SQL语句

backup log @database_name with no_log 

dbcc shrinkfile (@database_name_log, 5)

4.能不能删除master数据库?若一个用户数据库当前正在被访问,能不能被删除?

不能删除master数据库;因为master系统数据库记录包括用户信息,数据库信息,系统信息等,若master有坏损sqlserver就启动不了了

若一个用户数据库当前正在被访问,能不能被删除;因为如果正在访问该数据库,泽该数据库与服务器建立起了连接,必须把服务器停止之后才能删除该数据库下载本文

显示全文
专题