我有一个数据库备份作业设置为每天使用一次带有仅复制选项的完整备份。仅复制是因为从我读过的内容来看,这是备份连接到可用性组的数据库的唯一方法。我在同一个 AG 上使用相同的选项每 20 分钟进行一次日志备份。在这些备份运行后截断事务日志的最佳做法是什么。完整备份不会被截断,因为它只使用与日志备份相同的副本。他们越来越失控。我知道我可以使用 DBCC SHRINKFILE,但我读的越多,它看起来就越危险。有没有其他方法或最佳实践?
任何建议表示赞赏。
backup sql-server-2012 transaction-log high-availability availability-groups
如何在没有任何日志的镜像设置中创建 SQL Server 2008 的备份?
我们需要这样做,以便在我们恢复本地开发数据库时,我们将拥有最新的数据,但我们不一定有所有事务日志的空间。(我们都在使用 ssd)。
目前,因为它是镜像的,我不能创建简单的备份,它必须是完整的备份。
我们有一个 innodb mysql 数据库,所以我们迷失了许多不同的 mysql 备份策略。有人谈论mysqldump,有人谈论第三方工具。有些表我们还计划运行分区。有什么好工具可以帮助完成这项任务?
我正在尝试使用 SELECT ... INTO OUTFILE 查询转储一个大表(40GB,600,000 行)。我想使用它,因为我希望我的结果以特定方式排序(因此 mysqldump 不够好)。
问题是,我收到错误代码 28。我很确定这是因为默认 /tmp 位置的磁盘空间不足。如果我可以在运行时指定用于 tmp 的位置,我在其他地方的磁盘上有足够的空间。
我发现我可以通过修改 my.cnf 来更改 tmpdir,但是我没有足够的服务器权限来修改它或重新启动 mysqld。
这里的解决方案是什么?
编辑:一些答案建议使用 mysql -e。我可能不得不走这条路并对我的文件进行后处理。我想使用 SELECT ... INTO OUTFILE 的原因是因为我想
fields terminated by '\t'
escaped by '\\'
lines terminated by '\r\n' ;
Run Code Online (Sandbox Code Playgroud) 我们有一个 Microsoft Access 数据库,分为后端/前端。我正在寻找的是能够每天或每周自动备份这些文件 - 最好的方法是什么?我们不想担心数据库的备份,只要知道它是按计划自动发生的。
谢谢。
我们最近从 SQL Server 2005 升级到 SQL Server 2012。在 SQL Server 2005 下,没有像 2012 年那样创建压缩备份的选项。
如果您尝试BACKUP DATABASE ... WITH (COMPRESSION);对已初始化但未压缩的文件进行操作,该BACKUP DATABASE命令将失败并显示以下错误消息:
ERROR MESSAGE : BACKUP DATABASE is terminating abnormally.
ERROR CODE : 3013
Run Code Online (Sandbox Code Playgroud)
如何判断现有备份文件是否针对压缩备份进行了初始化?
我有一个 AWS RDS MySQL 数据库。我不是 DBA,所以我的知识有限。
我希望在复制或数据备份方面设计策略以在发生故障时实现零数据丢失。
我知道它们是不同的术语。(并且忽略错误的删除语句可以删除数据,在这种情况下复制可能没有用)。
我希望做的就是在出现数据库故障时实现零数据丢失。AWS 维护快照,但这可能需要几个小时。所以有数据丢失。
我应该考虑在 AWS 之外设置数据库服务器吗?或者是什么?我应该进行复制还是定期备份?
DBA 有什么其他策略吗?
有一个实验室项目。需要为研究保存实验室数据(原始数据和相关信息)多年。
所以数据必须保存多年,但是数据这么大,每一个原始数据都超过10GB。如果我们将原始数据存储在 SQL Server 中FILETABLE,并将相关信息存储在标准 SQL Server 表中,几个月或几年后,数据库大小将如此之大,以至于我们必须将一些历史数据移出数据库。
也许我们可以使用将文件(在不同的硬盘上)添加到FILESTREAMfiletable的文件组(存储原始数据),但我觉得这不适合维护SQL Server。我们必须保持原始数据和相关信息的一致性。
我们考虑过使用磁带来保存历史原始数据。我们想用硬盘来保存最新的原始数据,用磁带来保存历史的原始数据。当我们将历史数据移动到磁带上时,我们将移动记录在日志表中,这样我们就可以知道历史数据移动到哪里并尽快提取。
有没有好的建议:
filetable适合这种情况?对于一些测试和开发工作,我们希望能够定期克隆现有的 RedShift 数据库(所有模式和所有数据)。类似于备份还原的东西。
我能找到的最好的方法是创建整个集群的快照,这在目前是不切实际的。
我们确实有用于创建数据库和架构的脚本,但我们没有用于从另一个 AWS RedShfit 数据库填充表的简单/整洁的机制。 (我们发现我们不能使用,INSERT INTO db_new.schema.table SELECT * FROM db_old.schema.table因为不支持跨数据库语法)
有没有人有什么建议?
我最近开始担任初级 DBA... 昨天我为一位同事创建了一个新数据库,我的老板要求我确保我们尽快制定备份计划。
我没有多想,进入代理,创建了一个每天晚上凌晨 1 点进行完整备份的工作。为自己感到自豪,我上床睡觉,不再考虑它。今天早上我开始认为这还不够“足够好”——如果数据库在凌晨 12 点死掉,那么他们将丢失近 23 小时的数据,这可能会让我被解雇。:)
所以为了确保我理解这一点 - 我认为除了我的完整备份之外,我还需要做差异备份..看完本教程后,我有几个问题:
backup ×10
sql-server ×4
mysql ×3
mysqldump ×2
amazon-rds ×1
architecture ×1
filetable ×1
innodb ×1
ms-access ×1
redshift ×1
replication ×1
restore ×1