Questions tagged «backup»

制作数据副本,这些副本可以在数据丢失事件后恢复或从某个较早的时间点恢复数据。

1
差异备份问题-为什么?这可能吗?
我正在使用SQL Server 2014,情况是这样的: 我有服务器A和服务器B。 隔夜ETL在服务器A上处理。 加载过程完成后,将备份数据库X(使用CHECKSUM和RESTORE VERIFYONLY确保可靠性),然后将其发送到服务器B。 服务器B接收到该bak文件,然后在那里还原数据库。 我想使用差异备份策略,以便: 完全备份仅在星期六执行, 即在星期六在服务器A上进行完全备份->运送到服务器B->恢复服务器B上的完全备份 剩下的日子将是差异备份, 即服务器A上的差异备份->运送到服务器B->恢复服务器B上的差异备份 我已经尝试过,但出现错误,说: 日志或差异备份无法还原,因为没有文件准备好前滚。 不知道为什么。我检查sys.database_files了服务器A和服务器B,可以看到differential_Base_LSN和differential_base_GUID相同。还有其他地方要检查吗? 顺便说一句,在上面的步骤2中,当我在服务器B上还原差异备份时,是否总是需要每次都还原完全备份+差异备份? 我只还原了差异备份WITH RECOVERY(并收到该错误消息),因为完整备份已于前一天还原。 需要说明的是:是的,我希望服务器B上的数据库在差异之间可读。我该如何解决?是我每晚唯一的RESTORE FULL (WITH NORECOVERY)+ RESTORE DIFF (WITH RECOVERY)组合顺序选项吗? 任何指导将不胜感激。

2
为什么执行差异备份时我的批处理请求增加
我已经开始对2012 SQL Server上的各种活动进行一些长期跟踪,并且发现增量备份期间批处理请求的增加。 可以说,正常情况下,每天我们大约有10-20个批处理请求,但是在我们的差异备份运行期间,它跳到了每秒100-130个。 我知道这不是很多,但令我好奇的是它增加了10倍。 不知道您可能需要什么信息来帮助解决此问题。

3
备份内部-在运行备份作业时会发生什么-就SQL Server中的锁定和性能开销而言?
对于MySQL,我知道数据库是在SQL语句中逐表备份的,这会导致锁定,如果在备份时更新列,则可能会遇到完整性问题。 据我了解,这不适用于Microsoft SQL Server,但是SQL Server如何处理呢?是否有一些内部冻结来保持数据库一致? 我还听说备份是单线程的,这意味着它仅使用一个核心,假设您备份到单个文件。还要假设您有一台多核计算机,例如16个核,或者至少有一个比一个大得多的核。 从我的个人经验来看,备份时我从来没有遇到过问题,既没有锁定也没有开销问题,但是我的经验有限。这就是为什么我总是建议在服务器属性中打开备份压缩的原因。 那么当备份作业运行时会发生什么呢?而且不同版本之间也存在显着差异吗?例如2008、2012和2014(不是许可)。

3
限制用户仅复制备份
我希望在我的生产环境中部署日志传送。这意味着我将不得不管理备份链,而备份链可能会因人们进行备份以刷新开发环境而中断。如果发生故障,并且想使用日志备份还原到某个时间点,则还需要开发人员进行备份。 如果开发人员仅使用“仅复制”备份,则不会发生这种情况。所以我的问题是:是否有一种方法可以限制用户只能执行“仅复制”备份?

6
备份SQL Server中的所有数据库
我有一台Microsoft SQL Server 2005数据库服务器。在数据库服务器中,我大约有250个用户数据库。我必须备份所有这些数据库。由于手动进行备份会花费大量时间,因此我正在寻找可以自动对所有250个数据库进行备份的Batch脚本或DB脚本。有人可以帮忙吗?

5
如何检测对数据库的任何更改(DDL和DML)
我的客户端的SQL服务器上有很多数据库。这些数据库正在开发中,因此开发人员可以设计,重构,进行数据修改等。有些数据库很少更改。我的客户必须确保所有人(备份)的安全,并花一些时间来管理环境。(该公司没有数据库管理员的职位。)经过长时间的讨论,由于易于还原,客户决定使用每日完全备份策略。 因此,这是情况的摘要: 数据库的数量每天都会变化。 更改的数据库(意味着数据和/或结构已更改)应备份。 未更改的数据库不得备份。 解决方案不得影响数据库结构(这不是限制性要求) 该“备份引擎”将自动工作。 主要问题:如何检测数据库已更改。问题的第一部分(DDL更改)可以通过使用DDL触发器来解决。但是数据更改(DML更改)是一个问题。无法将DML触发器应用于所有数据库的所有表以跟踪更改(性能,扩展对象的管理...)。备份引擎必须跟踪所有更改,以将每个数据库标记为准备备份。 更改数据捕获是一种解决方案,但似乎过于繁琐(它也需要SQL Server Enterprise Edition)。 另一种方法是跟踪数据库文件的更改(大小或上次更改时间),但无法正常工作:当数据库超出所有保留的可用空间并且sp_spaceused不是解决方案时,数据库可以更改其大小。 跟踪是一种解决方案,但它会导致性能问题并需要其他管理。 是否有解决方案可以计算实际的数据库使用量,而又不影响其他数据库管理对象(如统计数据……)?可以肯定的是,对表数据的更改不会改变表的大小不会触发(我认为),但这总比没有好。确实,我在寻找SQL Server 2008的直接或间接解决方案。 感谢您的任何评论,解决方案和想法。 添加: 这是解决方案(感谢Marian): Select NextLSN = MAX(fn.[Current LSN]) ,Databasename = DB_NAME() from fn_dblog(NULL, NULL) fn LEFT JOIN sys.allocation_units au ON fn.AllocUnitId = au.allocation_unit_id LEFT JOIN sys.partitions p ON p.partition_id = au.container_id LEFT JOIN …


3
pg_restore:[存档]在文件头中找不到魔术字符串
我正在使用PostgreSQL 9.1,并希望还原使用生成的备份文件pg_dump: sudo pg_dump -h 127.0.0.1 -U postgres --clean --inserts -E UTF8 -f out.sql database_name 此命令生成一个有效的sql文件,该文件首先删除任何现有的数据库对象,然后生成所有表,索引,序列等,最后插入数据。 当我尝试使用以下方法还原生成的备份文件时:(添加换行符仅用于显示目的) sudo pg_restore -d database_name -h 127.0.0.1 -U postgres --format=c --clean --create out.sql 它失败并打印: pg_restore: [archiver] did not find magic string in file header 是什么原因呢?

4
使用SQL Server FILESTREAM时保持(部分)备份较小
我有一个数据库,其中有近1TB的FILESTREAM数据不需要备份(如果删除了该数据,则会在几个小时内自动重新创建,因此并不重要)。大多数数据每两天更改一次,因此差异备份并不能真正帮助减小容量。 我有工作,我需要通过恢复模式设置的方式备份Full,创建一个单独FILEGROUP的FILESTREAM,然后取的只有“主”的备份FILEGROUP。造成的问题是日志文件(也已备份)现在不必要地很大,因为它包含FILESTREAM数据。 SIMPLE恢复模式使我无法执行特定FILEGROUPs的备份,因此我也不认为这是一个选择。 我的想法只是将FILESTREAM数据移到一个单独的数据库中,但是现在我失去了参照完整性,并且肯定还会继承许多其他问题。 有什么方法可以在Simple恢复模式下创建部分备份(无需将FILESTREAM表设置为只读)?如果没有,我的问题是否还有其他合理的解决方案?

3
了解关闭“验证备份完整性”对SQL备份的影响/风险
当前,我们在环境中的SQL Server 2005/2008 / 2008R2 / 2012服务器上使用标准维护计划进行备份,并且始终选中“验证备份完整性”框。 一些备份运行时间很长,因此我建议关闭该选项,但是管理层需要我记录此更改的影响和风险。 我了解此选项的用法和历史,对我来说似乎没有必要将备份作业的时间加倍,因为(我认为)可能在备份步骤中而不是在验证过程中发生的任何错误。 我错了吗?如果我要备份到磁盘而不是流式磁带或其他东西,将其关闭的风险很小吗?(如果需要的话,我们会通过网络备份到EMC DD-800备份设备。) 是否有什么正式的MS建议可以安全关闭此功能? 您是否在环境中的每个备份上运行“验证”?你会抽查他们吗? 编辑:为澄清起见,当您在维护计划中选中“验证备份完整性”时,SQL将在每次备份后立即对每个数据库执行完整的RESTORE VERIFYONLY。就像原始备份一样,数据/ IO占用大量资源,并且(基本上)使备份作业的总时间增加了一倍。这是不一样的使备份的“校验”选项(不能在向导中进行,因为据我所知)。

2
导出所有关系数据的工具?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 5年前关闭。 是否有一种工具可以从表中的选定行中导出数据,而所有数据都存储在通过关系设计链接的其他表中的其他表中? 目的是简化用于临时迁移的服务器之间的数据位迁移。我正在寻找具有定义的外键的MySQL InnoDB工具。

1
SQL Server事务备份与日志
我继承了一个中等规模的对业务至关重要的SQL Server 2008数据库,并试图将我的头放在备份计划上。(我是开发人员,而不是DBA。) 现在,我们的系统设置方式有两个备份系统: 每周完整备份(.bak)和每小时事务日志(.trn)备份。我们保留了这些备份的几套,并定期将它们运到异地。 SQL Server日志(.ldf),恢复模式设置为Full。该文件与主.mdf文件位于单独的驱动器上,但不进行备份。 如果进行紧急还原(或将备份还原到开发机),我的程序是使用这些.bak文件,然后应用.trn文件。我们有一个脚本,可使该过程相对简单。 我的问题: 是否可以从.ldf文件还原数据库?什至是为了什么? 同时拥有这两个事务日志是否不必要? 备份.ldf文件重要吗?

5
SQL Server备份-几个问题
我们在星期五的晚上9点运行每周备份工作,并且在磁盘空间(有时会变得非常低)和性能方面遇到一些问题。我们正在考虑精简/优化发生的事情,并希望您提出宝贵意见。 特别: 备份过程大约需要4个小时来更新统计信息。我们可以安全地禁用此过程以节省时间吗? 我们非常经常地在磁盘空间上运行不足,想知道是否应该重新调整该过程。当前,它创建备份,然后删除以前的备份,这就是占用磁盘空间的原因。我们可以安全地删除前一首,然后做备份? 任何其他评论或意见将非常受欢迎编辑:服务器上SQL文件的总大小约为35GB。一个db的大小约为25GB,而其他六个共享的磁盘则构成了另外10个左右的GB。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.