实验2创建和管理数据库要求(顺便推荐一个非常好的教程网站)

https://docs.microsoft.com/zh-cn/sql/sql-server/tutorials-for-sql-server-2016?view=sql-server-2017
这个sql server教程是极好的!!!!!!!
实验2创建和管理数据库要求
1.实验的基本内容
(1)数据库基本概念。
(2)数据库的创建与管理。
2.实验的基本要求
(1)了解SQL Server数据库的组成。
(2)掌握创建数据库的方法。
(3)掌握查看、修改和删除数据库的方法。
(4)掌握数据库备份与还原、分离与附加、导入与导出等操作方法。
3.实验的基本仪器设备和耗材
计算机、SQL Server 2008 r2 Express
4.实验步骤
2.1在SQL Server管理平台中创建和修改库。
(1)创建图书管理数据库BookDB,文件放在“C:\database”目录下。
(2)查看BookDB库属性。在库属性对话框中,修改日志文件大小为2MB,文件最大20MB,自动递增15%。
在这里插入图片描述
2.2使用T-SQL语句修改库。
(1)修改BookDB库数据文件大小为5MB,文件最大20M,自动递增2MB。

alter
database BookDB
modify
file
(
FILENAME = N'C:\database\BookDB.mdf' , 
MAXSIZE = 20MB , 
FILEGROWTH = 2MB
);
GO

(2)增加1个日志文件BookDB_log2,大小5MB,文件最大20M,自动递增2MB。

alter database [BookDB] add log file
(
name='BookDB_log2',
filename='C:\database\BookDB_log2.ldf',
size=5MB,
maxsize=20MB,
filegrowth=2MB
);
GO

2.3分离与附加库。
(1)使用系统存储过程sp_helpdb查看图书管理数据库的信息。

use BookDB
go
exec sp_helpdb

在这里插入图片描述
(2)从服务器中分离BookDB(右击数据库名-任务-分离)。移动所有库文件到“C:\database\bookdb”文件夹。
在这里插入图片描述

在这里插入图片描述
(3)使用附加的方式创建新库。利用“C:\database\bookdb”文件夹中的数据文件和日志文件 附加数据库,指定库名为BookDB2。截一个对象资源管理器目录的图。

在这里插入图片描述
在这里插入图片描述
(4)使用T-SQL更改BookDB2库的名称为BookDB_new。

USE master;  
GO  
ALTER DATABASE BookDB2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE BookDB2 MODIFY NAME = BookDB_new ;
GO  
ALTER DATABASE BookDB_new SET MULTI_USER
GO


(5)使用T-SQL删除BookDB_new库。

USE MASTER;  
GO  
DROP DATABASE BookDB_new;  
GO   

2.4备份与还原库。(重在了解备份与还原过程)
操作思路:创建库BookDB,设置恢复模式为“完整”,创建3个数据表,期间进行数据库的3种备份;再创建一个新库BookDB2,其中没有表;我们的工作是利用已备份的文件,将BookDB库有3个表的状态 还原到新库BookDB2中;最终结果,BookDB2库中也有3个表。具体操作:
(1)使用T-SQL命令创建图书管理数据库BookDB,一个数据文件bookdb_dat,两个日志文件bookdb_log、bookdb_log2,文件放在“C:\database\bookdb”目录下。

create database [BookDB]
on primary
(
NAME = N'BookDB', 
FILENAME = N'C:\database\bookdb\bookdb_dat.mdf' , 
SIZE = 100MB , 
MAXSIZE = 200MB , 
FILEGROWTH = 20MB
)
log on
(
NAME = N'bookdb_log', 
FILENAME = N'C:\database\bookdb\bookdb_log.ldf' , 
SIZE = 5MB , 
FILEGROWTH = 10MB
),
(
NAME = N'bookdb_log2', 
FILENAME = N'C:\database\bookdb\bookdb_log2.ldf' , 
SIZE = 5MB , 
FILEGROWTH = 10MB
)

(2)在库属性对话框“选项”选项卡中设置BookDB恢复模式为“完整”。
在这里插入图片描述
(3)新建表tb1。命令如下:

use BookDB
CREATE TABLE tb1 (id int)

(4)完整备份数据库到物理文件“C:\database\backup\bookdb_full.bak”。

展开“数据库”,选择用户数据库,或展开“系统数据库”,选择系统数据库。
右键单击要备份的数据库,指向“任务”,再单击“备份...” 。
在“备份数据库”对话框中,所选的数据库显示在下拉列表中(可将其更改为服务器上的任何其他数据库) 。
在“备份类型”下拉列表中,选择所需的备份类型,默认值为“完整” 。
 重要

必须先至少执行一个完整数据库备份,然后才能执行差异备份或事务日志备份。
在“备份组件”下,选择“数据库” 。
在“目标”部分中,查看备份文件的默认位置(位于 ../mssql/data 文件夹) 。 要备份到其他设备,请使用“备份到”下拉列表更改选择 。 要跨多个文件条带化备份集来提高备份速度,请单击“添加”,添加其他备份对象和/或目标 。 若要删除备份目标,请选择该备份目标并单击 “删除” 。 若要查看现有备份目标的内容,请选择该备份目标并单击“内容”。
(可选)查看“介质选项”和“备份选项”页面下的其他可用设置 。 要详细了解各种备份选项,请参阅常规页、介质选项页和备份选项页。
单击“确定”,启动备份 。

在这里插入图片描述
(5)新建表tb2。差异备份数据库到物理文件“C:\database\backup\bookdb_diff.bak”。

use BookDB
CREATE TABLE tb2 (id int)

(6)新建表tb3。日志备份数据库到物理文件“C:\database\backup\bookdb_log.bak”。截一个对象资源管理器目录3个表的图。截一个3个备份文件的带地址栏的图。

use BookDB
CREATE TABLE tb3 (id int)

在这里插入图片描述
(7)创建新库bookDB2。代码如下:

CREATE DATABASE bookDB2
ON 
(NAME=bookDB2_dat,FILENAME='C:\database\bookDB2\bookDB2_dat.mdf')
LOG ON
(NAME=bookDB2_log,FILENAME='C:\database\bookDB2\bookDB2_log.ldf')

(8)使用完整备份还原数据到新库bookDB2。还原数据库,目标库bookDB2,源设备添加bookdb_full.bak,“选项”选项卡中勾选“覆盖现有数据库”,恢复状态选择第2项“不对数据库执行任何操作,不回滚未提交事务。”,更改“还原为”中的文件为bookDB2的库文件。
在这里插入图片描述
在这里插入图片描述
注意错误:① System.Data.SqlClient.SqlError: 因为数据库正在使用,所以无法获得对数据库的独占访问权。(Microsoft.SqlServer.Smo)
解决:恢复的目标数据库正在被使用,可将当前查询的数据库切换到系统数据库master或其它非恢复目标数据库。
② System.Data.SqlClient.SqlError:无法覆盖文件’C:\database\bookDB\bookDB_dat.mdf’。数据库 ‘bookDB’ 正在使用该文件。 (Microsoft.SqlServer.Smo)
解决:其它数据库(非恢复目标数据库)正在使用此数据文件,需要设置“还原为”中的文件为目标数据库文件。如将bookDB还原到bookDB2,则需要将“还原为”中的文件设置为bookDB2_dat.mdf和bookDB2_log.ldf。
(bookDB有2个日志文件,bookDB2只有一个日志文件,对应不上的日志文件填写一个不存在的日志文件名,系统可自行创建)
(9)使用差异备份还原数据到新库bookDB2。设置选项同上。
(10)使用日志备份还原事务日志(任务-还原-事务日志),恢复状态选择第1项“回滚未提交事务,使数据库处理可以使用的状态。”。查看3个表是否已经恢复。截一个能看到恢复之后的bookDB2库3个表的图。
在这里插入图片描述

注意:数据库不能整在使用,如果一直在备份就RESTORE database 数据库名  with recovery
按照老师的要求改一改就不会出错

2.5自行练习其它恢复方式。
提交作业要求:将命令和截图放在“实验2结果文件.docx”中。操作结束后将结果文件更名为“学号姓名.docx”提交到学习空间。

发布了192 篇原创文章 · 获赞 71 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43870649/article/details/101213377
今日推荐