您的当前位置:首页正文

完成实验1-1:管理SQL Server 2005数据库

2022-07-31 来源:钮旅网


实验:管理SQL Server 2005数据库

一、实验目的

1. 了解数据库常用对象及组成; 2. 熟悉SQL的基本概念和特点;

3. 熟练掌握T-SQL 语句中的数据定义的使用方法; 4. 熟悉在SQL Server 2005中创建及编辑数据库; 5. 熟练掌握SQL的数据定义子句的使用方法。 二、实验环境

已安装SQL Server 2005企业版的计算机; 具有局域网网络环境,有固定ip地址; 三、实验学时

2学时 四、实验要求

1. 熟练使用Management Stuio界面方式创建及编辑数据库; 2. 熟练使用T-SQL 语句创建及编辑数据库; 3. 完成实验报告。

五、实验准备知识(也可参考SQL Server联机丛书)

1. 数据库相关属性

1) 逻辑名称:数据文件和日志文件名称 2) 文件类型:数据文件及日志文件

3) 文件组:各个数据文件所属的文件组名称 4) 初始大小:文件的最原始大小

5) 自动增长:文件按指定的大小增长,也可限制到最大容量。 6) 路径:存放文件的物理目录

7) 文件名:显示数据文件和日志文件的物理名称

2. 默认数据库属性

1) 主数据文件为xx.mdf ,日志文件为xx_log.ldf; 2) 只有一个文件组Primary;

3) 主数据文件初始大小为3MB,增量为1MB; 4) 日志文件初始大小为1MB,增量为10%;

5) 主数据文件和日志文件都存放在C:\\Program Files\\Microsoft SQL

Server\\MSSQL.2\\MSSQL\\DATA目录下,文件分别为xx.mdf 和xx_log.ldf 。

3. 使用界面创建数据库步骤

【SQL Server Management Studio】→【对象资源管理器】→【数据库】→【新建数据库】→设置数据库相关属性(名称、大小、位置)

4. 启动SQL Server 2005查询分析器

【SQL Server Management Studio】→【新建查询】 5. 命令方式下创建数据库

CREATE DATABASE database_name /*指定数据库名*/

[ON 子句 ]

/*指定数据库文件和文件组属性

[LOG ON 子句 ] /*指定日志文件属性*/

6. 命令方式修改数据库

Alter database database_name

{add file [,…n] [to filegroup filegroupname] |add log file [,…n]

|remove file logical_file_name [with delete] |modify file

六、实验内容及步骤

1、假设SQL Server服务已启动,并以Administrator身份登录计算机(文件名称自定);请分别使用Management界面方式和T-SQL语句实现以下操作:

1) 要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有

一个数据文件和日志文件,文件名称分别为stu和stu_log,物理名称为stu_data.mdf 和stu_log.ldf,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。

请写上代码

CREATE DATABASE Student ON { } LOG ON {

NAME=’G:\\Data\\Stu_log’, NAME=’G:\\Data\\Stu_data’, FILENAME=’G:\\Data\\Stu.mdf’, SIZE=3, MAXSIZE=500, FILEGROWTH=10%

1

} go

FILENAME=’G:\\Data\\Stu.ldf’, SIZE=3MB, MAXSIZE=500MB, FILEGROWTH=1MB,

2) 创建一个Company数据库,该数据库的主数据文件逻辑名称为

Company_data,物理文件为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为1MB。

ON { }

NAME=’G:\\Data\\Company_data’, FILENAME=’G:\\Data\\Company.mdf’, SIZE=10,

FILEGROWTH=10%

请写上代码

CREATE DATABASE Company

LOG ON { } go

NAME=’G:\\Data\\Company_log’, FILENAME=’G:\\Data\\Company.ldf’, SIZE=1MB, MAXSIZE=50MB, FILEGROWTH=1MB,

3) 创建数据库DB,具有2个数据文件,文件逻辑名分别为DB_data1和

DB_data2,文件初始大小均为5MB,最大为100MB,按10%增长;只有一个日志文件,初始大小为3MB,按10%增长;所有文件都存储在D盘文件夹ceshi中。

请写上代码

CREATE DATABASE DB

2

ON {

NAME=’G:\\Data\\DB_data1’, NAME=’G:\\Data\\DB_data2’, FILENAME=’G:\\Data\\DB.mdf1’, FILENAME=’G:\\Data\\DB.mdf2’, SIZE=5, MAXSIZE=100, FILEGROWTH=10%

OG ON { }

go

NAME=’G:\\Data\\DB_log’, FILENAME=’G:\\Data\\DB_log.ldf’, SIZE=3MB, FILEGROWTH=10%

4) 在数据库student中增加数据文件db2,初始大小为10MB,最大大小为

50 MB,按10%增长;

use master

go

ALTER DATABASE Student ADD FILE (

) go

NAME=db2,

FILENAME='G:\\Data\\db2_data.mdf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=10%

请写上代码

5) 在数据库student中添加日志文件,保存在D盘中,初始大小为1MB,

最大无限制,增长方式按照1MB增长;

use master go 请写上代码

3

ALTER DATABASE Student ADD FILE (

) go

NAME=db2_log,

FILENAME='G:\\Data\\db2_log.ldf', SIZE=1MB, FILEGROWTH=1MB

6) 修改数据库student主数据文件的大小,将主数据文件的初始大小修改

为10Mb,增长方式为20%; use master

go

请写上代码

ALTER DATABASE Student MODIFY FILE (

) go

NAME=Stu,

FILENAME='G:\\Data\\Stu_data.mdf', SIZE=10MB, FILEGROWTH=20%

go

7) 修改数据库student辅助数据文件初始大小为3MB,最大为100MB,按照10%增长,名称为db; 请写上代码

ALTER DATABASE Stuent MODIFY FILE (

NAME=db2, NEWNAME=db,

FILENAME=’G:\\Data\\db2_data.mdf’, SIZE=3MB, MAXSIZE=100MB, FILEGROWTH=10%

) go

8) 删除数据库student辅助数据文件和第二个日志文件;

ALTER DATABASE Stuent

4

REMOVE FILE db2_data

go

ALTER DATABASE Stuent REMOVE FILE db2_data.log

go

请写上代码

9) 删除数据库company和DB。

将数据库student的所有物理文件移动到‘D:\\xxx‘,并且保证逻辑数据库不受影响,请详细描述解决办法。 可使用分离数据库的办法:

请写上代码

DROP DATABASE Company DROP DATABASE DB

EXEC SQ_DETACH_DB’student’,’true’,’true’ CREATE DATABASE Student ON ( ) go

NAME=Stu,

FILENAME=’G:\\SQL\\Stu_data.mdf’

七、出现问题及解决办法

如某些操作无法执行,如何解决?

修改数据库student辅助数据文件初始大小为3MB时提示无法更改,指定的 大小3M小于当前大小10M,因为修改后的初始大小不得小于原有大小,违背收 缩规律.要更改初始大小只能改大。

5

实验答案:

--1)创建STUDENT数据库

CREATE DATABASE Student ON ( ) LOG ON ( ) go

--2)创建COMPANY数据库 CREATE DATABASE Company ON (

NAME='G:\\Data\\Company_data', FILENAME='G:\\Data\\Company.mdf', SIZE=10, FILEGROWTH=10%

NAME='G:\\Data\\Stu_log', FILENAME='G:\\Data\\Stu.ldf', SIZE=3MB, MAXSIZE=500MB, FILEGROWTH=1MB

NAME='G:\\Data\\Stu_data', FILENAME='G:\\Data\\Stu.mdf', SIZE=3, MAXSIZE=500, FILEGROWTH=10%

) LOG ON ( ) go

--3)创建DB数据库 CREATE DATABASE DB ON (

NAME='G:\\Data\\DB_data1', NAME='G:\\Data\\Company_log', FILENAME='G:\\Data\\Company.ldf', SIZE=1MB, MAXSIZE=50MB, FILEGROWTH=1MB

6

)

NAME='G:\\Data\\DB_data2', FILENAME='G:\\Data\\DB.mdf1', FILENAME='G:\\Data\\DB.mdf2', SIZE=5, MAXSIZE=100, FILEGROWTH=10%

LOG ON ( ) go

--4)增加数据文件

ALTER DATABASE Student ADD FILE ( ) go

--5)在数据库student中添加日志文件 ALTER DATABASE Student ADD FILE ( ) go

--6)修改数据库student主数据文件的大小 ALTER DATABASE Student MODIFY FILE (

NAME=Stu,

FILENAME='G:\\Data\\Stu_data.mdf', SIZE=10MB, FILEGROWTH=20% NAME=db2_log,

FILENAME='G:\\Data\\db2_log.ldf', SIZE=1MB, FILEGROWTH=1MB NAME=db2,

FILENAME='G:\\Data\\db2_data.mdf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=10%

NAME='G:\\Data\\DB_log', FILENAME='G:\\Data\\DB.ldf', SIZE=3MB, FILEGROWTH=10%

7

) go

--7)修改数据库student辅助数据文件 ALTER DATABASE Stuent MODIFY FILE ( ) go

--8)删除数据库student辅助数据文件和第二个日志文件 ALTER DATABASE Stuent REMOVE FILE db2_data go

ALTER DATABASE Stuent REMOVE FILE db2_data.log go

--9)删除数据库company和DB DROP DATABASE Company DROP DATABASE DB

CREATE DATABASE Student ON ( ) go

--10)移动数据文件

SELECT name,physical_name FROM sys,master_files

WHERE database_id=DB_ID('Company'); go

USE master; go

ALTER DATABASE Company

MODIFY FILE(NAME=tempdev,FILENAME='G:\\Data\\Company.mdf'); go

ALTER DATABASE Company

NAME=Stu,

FILENAME='G:\\SQL\\Stu_data.mdf' NAME=db2, NEWNAME=db,

FILENAME='G:\\Data\\db2_data.mdf', SIZE=3MB, MAXSIZE=100MB, FILEGROWTH=10%

8

MODIFY FILE (NAME=templog,FILENAME='G:\\Data\\Companylog.ldf'); go

9

因篇幅问题不能全部显示,请点此查看更多更全内容