标签: backup

使用 SQL Server FILESTREAM 时保持(部分)备份较小

我有一个包含近 1TBFILESTREAM数据的数据库,我不需要备份(如果数据被删除,它会在几个小时内自动重新创建,所以它并不重要)。大多数数据每隔几天就会更改一次,因此差异备份并不能真正帮助减小大小。

通过将恢复模式设置为Full,创建一个单独FILEGROUPFILESTREAM,然后只备份“主要”,我让备份按照我需要的方式工作FILEGROUP。这导致的问题是日志文件(也被备份)现在不必要地大,因为它包含FILESTREAM数据。

SIMPLE恢复模式剥夺了我对特定FILEGROUPs进行备份的能力,所以我认为这也不是一种选择。

我的想法是将FILESTREAM数据移动到一个单独的数据库,但现在我正在失去参照完整性,并且肯定还会继承许多其他问题。

有没有办法在Simple恢复模式下创建部分备份(不将FILESTREAM表设置为只读)?如果没有,我的问题还有其他合理的解决方案吗?

sql-server backup transaction-log filestream sql-server-2014

12
推荐指数
1
解决办法
1230
查看次数

为什么 .bak 文件大小随着 SQL Server 上的每个连续备份而增加/加倍?

我在 SQL Server 2012 Express 上运行一个简单的数据库。

就在今天,当我备份数据库时,.bak文件大小是几分钟前上一次备份的两倍。我今天做了几次备份(通过 SQL Server Management Studio -> 备份类型:完整),每一次备份,.bak文件都会加倍。

在 SQL Server Mgmt Studio 中,当我右键单击我的数据库 -> 'Reports' -> 'Backup and Restore events' -> 展开 'Successful Backup Operations':

这里的报告显示最新的备份大小记录为 55MB,但当我转到实际.bak文件时,它是 260MB。今天的每个其他备份也被记录为 55MB 大小,而它们对应的.bak文件大数倍(并且随着每次备份操作而增长)。

可能出什么问题了?自从这开始发生以来,我没有对数据库进行任何更改。

sql-server backup sql-server-2012

12
推荐指数
2
解决办法
1万
查看次数

使 Postgres 数据库暂时只读(用于执行卷快照)

PostgreSQL 内置的备份机制并不总是很合适。有时,您希望将应用程序置于静止状态,因为它具有您要在备份 PG 数据的同时进行备份的外部数据。但是将应用程序置于静止状态的唯一方法是“锁定”数据库。PG 缺乏数据库范围或集群范围的锁定机制。将 PG 置于只读状态将是以下解决方案中的一部分:

  1. 停止应用程序数据(禁用登录)
  2. 停顿数据库(通过使其只读)
  3. 执行 PG 检查点或 pg_xlog_switch()
  4. 创建应用程序和数据卷的快照
  5. 恢复数据库(再次使其为 RW)
  6. 继续申请
  7. 备份快照

postgresql backup maintenance read-only-database

12
推荐指数
2
解决办法
2万
查看次数

备份后用户权限混乱 - > 恢复操作

我不得不将几个 SQL Server 2008 数据库移动到我们的新 db 服务器,所以我将它们全部备份(到 .bak 文件),将这些文件复制到新盒子并恢复它们(全部使用 SQL Management Studio 完成)。

一切顺利,但现在我发现我无法使用继续在旧 RDBMS 上工作的 SQL Server 帐户登录任何数据库。顺便说一句,我的 Windows 身份验证登录仍然可以正常工作。

我有这个想法,用户和权限都将无缝复制到新的数据库服务器上,但似乎某处出了问题。我将不胜感激评论/建议/提供帮助;-)

sql-server-2008 sql-server backup permissions restore

11
推荐指数
3
解决办法
3万
查看次数

XtraBackup 和 rsync 有什么区别?

是的,我将在他们两个上运行 strace ......但是,我想知道......

  • XtraBackup 在 rsync -ac src dest 之上做了什么?
  • XtraBbackup 有什么特别之处?
  • XtraBackup 如何与 mysqld 交互?

mysql backup percona

11
推荐指数
1
解决办法
5693
查看次数

为什么 .bak 比它作为备份的数据库小这么多?

我刚刚备份了一个 SQL Server 数据库。MDF 和 LDF 文件总共大约 29 GB,但 .bak 文件只有 23 GB,小了大约 20%。

当一组数据的一个版本小于包含相同数据的另一个版本时,我的第一个猜测是数据压缩,但压缩通常会产生比 20% 更好的压缩率,特别是对于高度有序的数据(例如数据库表。 ) 此外,压缩数据不容易进一步压缩,但我知道 .bak 文件可以压缩。

因此,如果数据没有被压缩,并且没有任何东西被丢弃,(因为进行备份的重点是能够在之后将其恢复到相同的状态),那么下落不明的 20% 是多少?

sql-server backup

11
推荐指数
2
解决办法
3万
查看次数

更频繁地备份 SQL DB

我目前有一个计划任务,它在每晚凌晨 2 点触发,调用 SQLCMD.exe 并将其传递给 .sql 脚本以运行备份(如下所示)。我们是一家非常小的公司,由于业务方面的重大增长,需求不断增长。此时丢失 1 天的数据将花费数万美元,而去年此时则为几百美元。在我可以将这个数据库平台迁移到一个不同的解决方案,其中数据镜像发生在 SQL Azure 等主要冗余的情况下,我能做的最好的事情是获得更频繁的备份吗?下面的这个脚本是否强制数据库脱机?我可以在用户与数据库交互的情况下运行此脚本吗?

USE CompanyCRM;
GO
BACKUP DATABASE CompanyCRM
TO DISK = 'D:\CRMBackups\CompanyCRMCRM.Bak'
   WITH FORMAT,
      MEDIANAME = 'CompanyCRM_Backup',
      NAME = 'Full Backup of CompanyCRM';
GO
Run Code Online (Sandbox Code Playgroud)

更新

哇,显然这里有一个比 SO 更专注的 DBA 社区。感谢您到目前为止的反馈。唯一缺少的是“如何”。我已经展示了上面我用来做每日备份的 SQL 命令,但增量日志备份示例是 MIA。这不是一个大型数据库,它目前在 SQLExpress 上运行。当我说 HA 或 SQL Azure 时,我特别指的是我们作为小型企业没有的现有架构。此实例目前正在我们唯一的服务器上运行。如果该服务器崩溃,我们的恢复时间将成为一个症结所在。这就是 SQL Azure 变得有吸引力的原因。

sql-server backup

11
推荐指数
3
解决办法
544
查看次数

MySQL dump restore - 如何保留注释

所以我有那个复杂的 MySQL 转储作为备份。不幸的是,备份很复杂,我们使用了邪恶的触发器。

我们的一些邪恶触发器有一个以 # 字符开头的注释行。

当我备份数据库时,生成的转储会保存 # 行。问题是当我进行恢复时。以# 开头的行被替换为空行。

所以我正在寻找一种方法来恢复以英镑开头的行的转储。

mysql mysqldump backup

11
推荐指数
1
解决办法
7146
查看次数

不完整的mysqldump

我正在尝试运行 mysqldump 来创建数据库快照,我发现它会在中途随机停止,而不会报告任何错误。我的数据库相对较小(大约 100MB)并且使用的是 InnoDB。

我正在运行它:

mysqldump --force --single-transaction --quick --user myuser --password=mypass -h mydatabasehost mydb > /tmp/snapshot.sql
Run Code Online (Sandbox Code Playgroud)

检查退出代码报告 0。

我的版本是:mysqldump Ver 10.13 Distrib 5.1.52, for redhat-linux-gnu (i386)

我看过一些类似的帖子,甚至是官方的错误报告,但两种解决方案似乎都不适用。

如何让 mysqldump 获取完整的数据库快照?

编辑:我的数据库目前驻留在亚马逊的 RDS 上。

mysql innodb mysqldump backup

11
推荐指数
1
解决办法
2万
查看次数

PostgreSQL 完整数据库备份

我一直在想办法完全备份我的 PostgreSQL 数据库。我还没有看到任何解释如何进行完整备份的资源。

我知道 pg_dump 和 pg_dumpall 实用程序。语法很简单,但细节不是很清楚。

看来 pg_dump 只支持特定数据库的“一些”表,而不支持任何类型的配置信息。我猜测诸如权限之类的东西和许多其他东西都没有备份。因此,在完全重新安装 PostgreSQL 数据库的情况下,如果没有大量的手动配置和设置,转储备份将无法工作。

pg_dumpall 备份的内容比 pg_dump 多,但 Postgres 文档中没有提供明确的信息,说明备份转储中还有哪些内容被遗漏了,需要备份。

我需要备份所有 PostgreSQL 配置信息、表、索引、权限、方案等。 如果发生完全灾难,只要我重新安装相同版本的 PostgreSQL,我就不必重新配置任何东西。

例如,我不在乎索引是否是从头开始重新构建的,或者备份是否已经存储了索引......像这样的东西对我来说并不重要......我只希望数据库完全相同还原后的状态与备份时的状态相同。

如果有人可以列出需要备份的内容以实现完整备份,我将不胜感激。当然,如果您能推荐一些工具以及针对列表中各种内容的一些程序,我将不胜感激。请解释您推荐的工具和程序涵盖的总清单上的哪些项目。

postgresql backup

11
推荐指数
2
解决办法
2331
查看次数