Sqlserver 还原那些事

由于想总结的东西比较杂乱,就起了这么一个题目

1.当还原数据库,没有选择结尾日志备份时,会出现下图异常:

这是因为,对于使用完全恢复模式或大容量日志恢复模式的数据库,在大多数情况下,您必须在还原数据库前备份日志的结尾。如果想不抛出这个错误

就需要选择 覆盖现有数据库(With Replace)。

使用 REPLACE 选项后,就会忽略还原时通常执行的几项重要安全检查。 忽略的检查如下:

一 还原时使用其他数据库的备份覆盖现有数据库。使用 REPLACE 选项后,即使指定的数据库名称与备份集中记录的数据库名称不同,

还原也允许您使用备份集中任何一个数据库覆盖现有数据库。这会导致一个数据库意外覆盖另一个数据库。

二 在没有获取结尾日志备份并也没有使用 STOPAT 选项的情况下,使用完整恢复模式或大容量日志恢复模式对数据库进行还原。

使用 REPLACE 选项后,由于没有备份最近写入的日志,您会丢失提交的作业。

三 覆盖现有文件。

例如,可能会错误地覆盖错误类型的文件,如 .xls 文件或非联机状态的其他数据库正在使用的文件等。 如果覆盖现有文件,则即使所还原的数据库是完整的,也有可能丢失某些数据。

时间: 2024-10-24 07:31:57

Sqlserver 还原那些事的相关文章

sqlserver还原bak备份文件

先查看数据库逻辑名称: restore filelistonly from disk='D:/database.bak' 然后恢复: restore database smsdb from disk = 'd:\smsdb.bak' with move '数据库逻辑名称' to 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\db_data.mdf' ,move '日志逻辑名称' to 'C:\Progr

SQLServer 还原数据库

通过Sqlserver的Management Studio可以还原,不过可能是我的云主机性能太差,每次打开再导入都要卡一会.. 用命令行应该是能想到的最简单的方法了,先把bat命令记下来: SQLCMD -S 172_21_0_5\SQLEXPRESS -U sa -P 123456 -Q " restore database rs2db from disk='C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backu

Sqlserver 还原

--完整还原 RESTORE DATABASE demoData FROM DISK=N'D:\Backup\demoData.bak'; RESTORE DATABASE { database_name | @database_name_var } [ FROM <backup_device> [ ,...n ] ] [ WITH { [       RECOVERY --指定还原操作将所有未提交的事务回滚,并使数据库可用:如果后续需要从差异备份和事务日志备份继续还原操作,那么必须使用 NO

SQLSERVER还原数据库失败:错误: 3154

在SQL Server 2008版本中还原从sql server 2005备份出来的数据库时,提示错误:"备份集中的数据库备份与现有的 '***' 数据库不同.RESTORE DATABASE 正在异常终止. (Microsoft SQL Server,错误: 3154)". 在这里记录一下SQL Server2008 3154错误的解决办法,希望对大家有所帮助. 原因分析 1 在SQL Server2005及以下版本做数据库备份还原时,需要首先建立数据库,然后才能进行数据库还原操作:

Sqlserver 角色那些事

固定服务器角色 描述 sysadmin 可以在SQLServer 中执行任何活动. serveradmin 可以设置服务器范围的配置选项,关闭服务器. setupadmin 可以管理链接服务器和启动过程. securityadmin 可以管理登录和CREATE DATABASE权限,还可以读取错误日志和更改密码. processadmin 可以管理在 SQLServer中运行的进程. dbcreator 可以创建.更改和除去数据库. diskadmin 可以管理磁盘文件. bulkadmin 可

sqlserver还原备份(转)

一.知识点 完全备份: 备份全部选中的文件夹,并不依赖文件的存档属性来确定备份那些文件.(在备份过程中,任何现有的标记都被清除,每个文件都被标记为已备份,换言之,清除存档属性).完全备份也叫完整备份. 差异备份: 差异备份是针对完全备份:备份上一次的完全备份后发生变化的所有文件.(差异备份过程中,只备份有标记的那些选中的文件和文件夹.它不清除标记,即:备份后不标记为已备份文件,换言之,不清除存档属性). 增量备份: 增量备份是针对于上一次备份(无论是哪种备份):备份上一次备份后,所有发生变化的文

SQLserver还原提示正在还原中。解决方法

今天在Sqlerver还原数据库时一直就卡在那里提示“正在还原…”的状态,此时无法操作数据库,下面我来给大家介绍解决些问题的方法 解决方法: RESTORE DATABASE demo FROM DISK = 'D:/demo.bak' WITH MOVE 'demo' TO 'd:/demo.mdf', MOVE 'demo_log' TO 'd:/demo.ldf', STATS = 10, REPLACE GO如果不清楚备份文件对应的逻辑文件名,可用如下进行查询:--返回由备份集内包含的数

sqlserver 还原.mdf文件

USE master; GO CREATE DATABASE libao ON (FILENAME = 'F:\lib\lib.mdf'), (FILENAME = 'F:\lib\lib_1.ldf') FOR ATTACH; GO 原文地址:https://www.cnblogs.com/lxh520/p/9004096.html

(4.19)深入理解SQLSERVER的日志链

您真的理解了SQLSERVER的日志链了吗? 转自:https://www.cnblogs.com/lyhabc/p/3460272.html 先感谢宋沄剑给本人指点迷津,还有郭忠辉童鞋今天在QQ群里抛出的问题 这个问题跟宋沄剑讨论了三天,再次感谢宋沄剑 一直以来,SQLSERVER提供了一个非常好的管理工具:SSMS 又因为这个管理工具太好了,所有操作的简单化,以至于使我们中毒太深, 对于SQLSERVER内部的一些概念搞得不清不楚 比如这些概念:日志备份链,备份日志链,日志链,备份链,备份集