admin管理员组文章数量:1566649
2023年12月28日发(作者:)
实验二 SQL Server 2005的数据库管理
一、目的与要求
1、掌握SQL Server Management Studio “对象资源管理器"的建立、修改和删除数据库的操作方法;
2、掌握T—SQL语言建立、修改和删除数据库的方法。
二、实验准备
1、明确登录用户具有创建、修改和删除数据库的权限;
2、了解SQL语言创建、修改和删除数据库的基本语法。
三、实验内容
(一)对象资源管理器中数据库的管理
1、按默认属性创建第一个数据库“mydb":在对象资源管理器中,右击目录树中的“数据库"选择“新建",设置新数据库名为mydb,然后点击“确定”。
请完成下列填空:
(1) 数据文件的逻辑文件名是mydb
(2) 数据文件的物理文件名是
(3) 数据文件的保存位置C:Program FilesMicrosoft SQL ServerMSSQL.1DATA
(4) 数据文件的初始大小为3MB
(5) 数据文件的增长方式为 自动增长,增量为1MB
(6) 数据文件的最大大小为不限制增长
(7) 事务日志文件的逻辑文件名是mydb_log
(8) 日志文件的物理文件名是mydb_log。ldf
(9) 日志文件的保存位置C:Program FilesMicrosoft SQL ServerMSSQL.1DATA
(10) 日志文件的初始大小是1MB
2、按要求设定存储属性,创建数据库studentdb,在E盘中先建立一个以学号命名的文件夹,用以保存文件或命令脚本.本题以截图保存运行过程和结果.
要求:主数据文件逻辑名stu_data,物理位置为“E:学号文件夹”,初始大小为3MB,最大大小为10MB,增长方式为1MB。
日志文件逻辑名stu_log,物理位置为“E:学号文件夹”,初始大小为1MB,最大大小为5MB,增长方式为5%.
3、修改studentdb数据库的名称为studb.
4、删除studb数据库。
(二)用T—SQL语言建立数据库,请将命令保存为。sql的脚本文件.
1、用SQL语言建立(一)中第2题的studentdb数据库,其中主数据文件的物理文件名改为,日志文件的物理名为,其他属性不变。
USE master;
GO
IF DB_ID (N’Studentdb’) IS NOT NULL
DROP DATABASE Studentdb;
GO
—- Get the SQL Server data path
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N’',
LOWER(physical_name)) — 1)
FROM master。sys。master_files
WHERE database_id = 1 AND file_id = 1);
—— execute the CREATE DATABASE statement
EXECUTE ('CREATE DATABASE Studentdb
ON
( NAME = Stu_data,
FILENAME = ’’D:20134650 ’’,
SIZE = 3MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB )
LOG ON
( NAME = Stu_log,
FILENAME = ’'D:20134650stulog。ldf'',
SIZE = 1MB,
MAXSIZE = 5MB,
FILEGROWTH = 5% )'
);
GO
GO
2、用SQL语言建立多数据文件的数据库archive.要求:
(1)主数据文件arch1,物理名为archdat1。mdf,初始大小为3MB,最大大小为10MB,增长方式为1MB;
次数据文件arch1,物理名为archdat2。ndf,初始大小为1MB,最大大小为5MB,增长方式为1MB;
次数据文件arch3,物理名为,初始大小为1MB,最大大小为5MB,增长方式为1MB;
保存位置均在软件安装的默认目录.
(2)事务日志文件有2个,archlog1和archlog2,物理文件名和逻辑名相同,保存位置在默认位置,初始大小均为1MB,最大大小均为5MB,增长方式为5%。
USE master;
GO
IF DB_ID (N’Archive’) IS NOT NULL
DROP DATABASE Archive;
GO
-- Get the SQL Server data path
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N’master。mdf’, LOWER(physical_name)) - 1)
FROM master。sys。master_files
WHERE database_id = 1 AND file_id = 1);
-— execute the CREATE DATABASE statement
EXECUTE ('CREATE DATABASE Archive
ON
PRIMARY
(NAME = Arch1,
FILENAME = ’''+ @data_path + ’’’,
SIZE = 3MB,
MAXSIZE = 10MB,
FILEGROWTH = 1MB),
( NAME = Arch2,
FILENAME = '’’+ @data_path + ’’’,
SIZE = 1MB,
MAXSIZE = 5MB,
FILEGROWTH = 1MB),
( NAME = Arch3,
FILENAME = '’’+ @data_path + ’archdat3。ndf'',
SIZE = 1MB,
MAXSIZE = 5MB,
FILEGROWTH = 1)
LOG ON
(NAME = Archlog1,
FILENAME = ’’’+ @data_path + 'archlog1。ldf’’,
SIZE = 1MB,
MAXSIZE = 5MB,
FILEGROWTH = 5%),
(NAME = Archlog2,
FILENAME = ’’’+ @data_path + 'ldf’’,
SIZE = 1MB,
MAXSIZE = 5MB,
FILEGROWTH = 5%)’
);
GO
3、创建多文件组管理方式的数据库Sales
(1)主文件组中有2个数据文件,其中主数据文件Spri1_dat,初始大小3MB,最大大小10MB;次数据文件Spri2_dat,初始大小1MB,最大大小10 MB;增长方式均为1MB,逻辑文件名中去掉下划线即为物理文件名(如Spri1dat),保存在E盘的学号文件夹下。
(2)自定义文件组SaleGroup1中有2个数据文件:SGrp1Fi1_dat和SGrp1Fi2_dat,初始大小均为1MB,最大大小均为5MB,增长方式10%,逻辑文件名中去掉下划线即为物理文件名,保存在E盘的学号文件夹下。
(3)自定义文件组SaleGroup2中有2个数据文件:SGrp2Fi1_dat和SGrp2Fi2_dat,初始大小均为1MB,最大大小均为5MB,增长方式5%,逻辑文件名中去掉下划线即为物理文件名,保存在E盘的学号文件夹下.
(4)日志文件Sale_log,物理名为Salelog。ldf,初始大小为1MB,最大大小为5MB,增长方式为10%,保存在E盘的学号文件夹下。
USE master;
GO
IF DB_ID (N'Sales') IS NOT NULL
DROP DATABASE Sales;
GO
—- Get the SQL Server data path
DECLARE @data_path nvarchar(256);
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N’master。mdf', LOWER(physical_name)) — 1)
FROM master。sys。master_files
WHERE database_id = 1 AND file_id = 1);
—— execute the CREATE DATABASE statement
EXECUTE ('CREATE DATABASE Sales
ON PRIMARY
( NAME = SPri1_dat,
FILENAME = ’''+ @data_path + 'SPri1dat。mdf’’,
SIZE = 3,
MAXSIZE = 10,
FILEGROWTH = 1 ),
( NAME = SPri2_dat,
FILENAME = '’'+ @data_path + ’SPri2dt。ndf'’,
SIZE = 1,
MAXSIZE = 10,
FILEGROWTH = 1 ),
FILEGROUP SalesGroup1
( NAME = SGrp1Fi1_dat,
FILENAME = ''’+ @data_path + ''',
SIZE = 1,
MAXSIZE = 5,
FILEGROWTH = 10% ),
( NAME = SGrp1Fi2_dat,
FILENAME = '’’+ @data_path + ’SG1Fi2dt。ndf’’,
SIZE = 1,
MAXSIZE = 5,
FILEGROWTH = 10% ),
FILEGROUP SalesGroup2
( NAME = SGrp2Fi1_dat,
FILENAME = ’’’+ @data_path + ’SG2Fi1dt。ndf'',
SIZE = 1,
MAXSIZE = 5,
FILEGROWTH = 5 ),
( NAME = SGrp2Fi2_dat,
FILENAME = ’'’+ @data_path + 'SG2Fi2dt。ndf’’,
SIZE = 1,
MAXSIZE = 5,
FILEGROWTH = 5 )
LOG ON
( NAME = Sales_log,
FILENAME = ’’’+ @data_path + ’salelog。ldf'’,
SIZE = 1MB,
MAXSIZE = 1MB,
FILEGROWTH = 10% )’
);
GO
(三)使用SQL语言修改数据库
1、修改archive数据库的数据库名为archivedbUSE master;
GO
ALTER DATABASE Archive
MODIFY NAME = Archivedb;
GO
2、修改archivedb数据库的数据文件arch1的逻辑名为archive_main.
USE master;
GO
ALTER DATABASE Archivedb
MODIFY FILE ( NAME = arch1, NEWNAME = archive_main )
GO
3、修改archivedb数据库的主数据文件,最大大小为不受限制,增长方式为2MB。
USE master;
GO
ALTER DATABASE Archivedb
MODIFY FILE ( NAME = archive_main, MAXSIZE=UNLIMITED,
FILEGROWTH=2MB)
GO
4、删除archivedb数据库中的arch3文件.
USE master;
GO
ALTER DATABASE archivedb
REMOVE FILE arch3;
GO
(四)删除数据库
删除archivedb数据库和Sales数据库.
DROP DATABASE archivedb, Sales;
四、思考与练习
1、SQL Server2005数据库中的日志文件是否属于某个文件组?
不属于。事物日志文件不能属于任何文件组
2、数据库中的主数据文件一定属于主文件组吗?
一定。只有主数据文件中存放数据库的启动信息
3、删除了数据库,其数据文件和日志文件是否已经删除?是否任何人都可以删除数据库?删除了的数据库还有可能恢复吗?
(1)是的。在SQL Server管理平台工具中单击选择“对象资
源管理器"面板中“数据库”结点下要删除的数据库名称,单击鼠标右键,在出现上的菜单中选择“删除”命令,在“删除对象”窗口,默认选择“删除数据库备份和还原历史记录信息"复选框,这时对应的数据文件和日志文件已经删除。
(2)只有数据库管理员才可以删除数据库。
(3)是可以恢复的.除非硬盘空间被别的文件覆盖
版权声明:本文标题:实验二 SQL Server 2005的数据库管理 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1703729324a69066.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论