2、为了方便以后的使用,开始对语句进行简单的封装->存储过程。进行备份。
3、还原数据库,数据库还原后的保存位置(目录)(使用系统默认保存位置。为数据库重命名(使用数据库默认名称)不包含扩展名,如果目录已存在该名称的数据库,将会被覆盖 。
你好:
一、还原需要的条件设置
使用命令,是通过sqlserver的事务日志以及一个误删除前的数据库的完整备份进行还原,所以在sqlserver2012的维护计划向导中,要建立完整备份,差异备份和事务日志,具体如下
以及在数据库属性,选项设置中,设置为完整备份,具体如下图
做好如上两个设置,数据库误删后找回数据就会非常轻松,现在说一下如何还原sqlserver数据到故障点。
二、还原命令
还原主要分为四步走:
1、出现故障后,首先执行备份事务日志命令,这里以AdventureWorks作为数据库名。命令如下:
BACKUP LOG AdventureWorks TO DISK = 'C:\SQLServerBackups\AdventureWorks_transcationlogbak'
WITH NORECOVERY;
2、从完整备份还原数据
RESTORE DATABASE [QASupervision] FROM DISK='M:\Database\OA\AdventureWorks_Fullbackup_2014_03_18_010002_0155764bak'
WITH NORECOVERY, REPLACE
3、从差异备份还原数据
RESTORE DATABASE [QASupervision] FROM DISK='M:\Database\OA\AdventureWorks_diffbackup_2014_03_18_020002_0155764bak' WITH NORECOVERY, REPLACE
4、从事务日志还原数据,还原到某个时间点之前
DECLARE @dt datetime
SELECT @dt=DATEADD(HOUR,-16,GETDATE())
select @dt
RESTORE LOG [QASupervision] FROM DISK='C:\SQLServerBackups\AdventureWorks_transcationlogbak' WITH STOPAT=@dt,RECOVERY
5、还原数据库,如果数据库提示正在还原中,则执行此命令即可。
RESTORE DATABASE AdventureWorks WITH RECOVERY
将原来的数据库文件删除,将备份中的数据库文件拷到相对路径下
使用with
move选项
RESTORE
DATABASE
A
FROM
DISK
=
N'D:\B'
with
RECOVERY,
NOUNLOAD,
REPLACE,
STATS
=
10
,
MOVE
'数据库逻辑名'
TO
'数据库A的完整路径+数据文件名mdf',
MOVE
'日志逻辑名'
TO
'数据库A的完整路径+日志文件名ldf'
另外使用restore命令恢复数据库,一般不必先创建要恢复的数据库,可以直接从备份里恢复出来。
或者右键
Attach你的备份也可以。
检查一下你的数据库连接字符串,如果你恢复了你的数据库并且数据库正常的话,那就是你程序配置的问题了
以上就是关于怎么用SQL语句备份和恢复数据库全部的内容,包括:怎么用SQL语句备份和恢复数据库、sql server误删了数据库怎么找回、救命啊!SQL的数据库被误覆盖了 如何恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)