最近在遇到恢复数据库的脚本时,我对为什么必须使用“ FILE = 1 ”产生疑问?没有那个语句我们就不能恢复数据库吗!?基本上,它是用来做什么的?
似乎有大量关于设置备份任务的过程的信息,但关于数据库备份的全局视图的信息并不多。至少,很难制定为您提供该信息的搜索引擎查询。我知道有三种不同类型的备份:
看来我应该使用所有三个。那么,这是一个有意义的时间表吗?
这样,如果我的数据库在 12 号出现故障,我只需从 1 号恢复完整数据库备份,从 1 号到 12 号进行 12 次差异备份,然后最后恢复最近的事务日志(是事务日志差异?)。
最后,完整的数据库备份是独立的吗?即一旦我在 2 月 1 日进行了完整的数据库备份,我可以删除 1 月的所有文件吗?当然,我会保留前几个月的设置以防万一,但问题是概念性的。
我找不到一种简单的方法来获取我从 Amazon RDS postgres 实例中获取的每晚备份的副本,以便我可以在本地计算机上恢复它以供使用。
现在,当我需要副本时,我正在执行 pg_dump,但是能够下载这些快照会更好(并且可能更快)。这不可能吗?
我有一个 ASP.NET MVC 应用程序,它与 SQL Server 2008 R2 Express 版下的数据库一起使用。需要定期执行更新数据库中的某些记录的任务。
不幸的是,Express Edition 缺少 SQL Agent。
你会推荐什么方法?
我们收到了有关查询运行缓慢或在清晨超时的报告,我看到的唯一一项我认为可能会影响它的作业是我们的数据库备份作业。
数据库本身大约有 300GB,备份工作从凌晨 4:30 开始,直到早上 7:00 之后才完成。我们备份作业的当前语法是:
BACKUP DATABASE [DatabaseName]
TO DISK = N'E:\Database Backups\DatabaseName.Bak'
WITH INIT, NOUNLOAD, NAME = N'DatabaseName.Bak',
NOSKIP, STATS = 10, NOFORMAT
Run Code Online (Sandbox Code Playgroud)
E:\ 是服务器上的一个分区,其中包含数据库和数据库备份。
还应该注意的是,这是一个虚拟服务器,而不是专用的独立服务器。在我们切换到虚拟服务器后,我们开始收到关于备份过程中速度变慢的抱怨,所以我认为这可能是相关的。
有没有办法运行此备份作业,使其在运行时不影响查询性能?
我们使用的是 SQL Server 2005
是否mysqldump -all-databases包括所有对象?
我必须将所有数据库迁移到新服务器。
我安装了一个数据库,我想在 mysql 中备份它。问题是mysqldump导出 'maia_mail' 表失败
# mysqldump -u root -p maia > maia.sql
mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `maia_mail` at row: 15
Run Code Online (Sandbox Code Playgroud)
它运行不到 30 秒并得到如上所示的错误。
DB 的总大小为 1.3GB,其中 maia_mail 表为 1.0GB
在my.cnf我有这些设置:
[mysqld]
max_allowed_packet = 1300M
[mysqldump]
max_allowed_packet = 1300M
Run Code Online (Sandbox Code Playgroud)
请就如何转储数据库提出建议或提供一些指导?
这是我的第一篇 DBA.SE 帖子,所以请告诉我任何错误,谢谢!
我是一名新的 DBA(不是 IT 专业人员,只是公司中没有其他人可以这样做),所以解释越基本越好。我一直在阅读有关数据库备份策略(或者,我已经学会将其称为“恢复策略”)的文章。我了解完整、差异和事务日志备份的作用,但我想知道为什么差异备份只能基于最近的完整备份。
如果差异备份是自上次完整备份以来发生变化的所有内容,那么为什么差异不能基于我选择的任何备份?更清楚地说,我问的是在进行备份时指定基础,而不是在恢复时。我假设在恢复时您会选择正确的基数和相应的差异来执行恢复(不使用由基数 B 制成的差异从基数 A 恢复)。
阻止此功能实现的原因是什么?我想一定是有原因的,我只是不知道它是什么。
注意:我知道不能指定基数,但我的问题是为什么不指定?(我也对“你为什么要?”的讨论不感兴趣)
这是我如何理解差异备份的类比:
我有一个 Excel 文件,单元格中有一些数据。
在第 1 天,我制作了该文件的副本并将其存储在其他地方(“完整备份”)。
在第 2 天,我查看该文件并将其与我在第 1 天制作的备份副本进行比较,并记下所有已更改的单元格及其新值(“差异备份”)。我没有注意到对单元格所做的每一个更改,只注意到它的最终值是什么。如果单元格 A1 以“Alfred”开头,改为“Betty”、“Charlie”,然后是“Dave”,我只会注意到“A1 现在是 Dave”。
在第 3 天,我再次将当前文件与备份文件进行比较并注意更改(另一个“差异备份”与第 2 天具有相同的基础)。同样,只注意观察时每个单元格的最终值,而不是单元格一整天的所有值。
在第 4 天,我再次比较并再次注意变化。继续使用单元格 A1,现在它显示“Sarah”,即使它全天有 10 个其他名字,我只注意到“现在 A1 是 Sarah”。
第 5 天,我的文件搞砸了;因此,我查看了我在第 1 天制作的备份副本,然后查看了第 4 天记录的最终状态,然后将记录的更改应用于备份副本,现在我将文件“恢复”到第 4 天的状态因此,我查看了第 1 天所做的备份,看到第 4 天单元格 A1 以“Sarah”结尾,并将备份单元格 A1 更改为“Sarah”。
如果我在第 2 天制作了文件的另一个备份副本(“完整”),为什么会如此重要?为什么仍然不能将第 3 天或第 4 天的文件与第 1 天制作的副本进行比较(阅读,“对其进行差异备份”)?据我了解,SQL Server …
我们有一个 sql-server 2005 数据库,我们定期将它从我们的客户站点转移到我们的站点。这需要很长时间,因为我们没有直接连接,必须通过基于 Web 的文件传输应用程序传输文件。数据库目前大约有 10GB,但我们不需要所有数据 - 大部分数据位于审计表和包含可以重新生成的计算值的表中。
我曾考虑创建一个文件组来保存审计表,并希望我可以备份和恢复主文件组。我可以正常备份,但在恢复时出现错误,提示我没有将其恢复到同一个数据库。是否可以使用文件组将数据库的一部分还原到不同的服务器?有一个更好的方法吗?
我有一个 Microsoft SQL Server 2005 DB 服务器。在数据库服务器中,我有大约 250 个用户数据库。我必须备份所有这些数据库。由于手动备份会消耗大量时间,我正在寻找一个批处理脚本或数据库脚本,它会自动备份所有 250 个数据库。任何人都可以帮忙吗?
backup ×10
sql-server ×6
mysql ×2
mysqldump ×2
amazon-rds ×1
export ×1
jobs ×1
maintenance ×1
postgresql ×1
restore ×1