标签: backup

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

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

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

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

sql-server-2008 sql-server backup permissions restore

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

非 DBA 提问:如何通过备份/恢复轻松地将 SQL Server 实例复制/移动到另一台服务器?

我们刚刚有了一台新服务器,所以我需要从旧的 db 框中复制现有的 SQL Server 2008 实例。

我通常通过复制 .mdf 和日志文件并附加它们来做到这一点,但我无法将 dbs 离线,因为它们 24/7 使用,所以我备份了数据库并在新的数据库上恢复它们机器。但是,我最终遇到了一些问题,其中之一与孤儿用户有关。所以我正在寻找的是一个故障安全的过程,以最小的大惊小怪/麻烦/头痛来移动一切。我是一名 .Net 开发人员,拥有相当多的 SQL,但 SQL Server 的内部工作原理对我来说在很大程度上是个谜,我发现 MS 文档很难浏览。

请帮忙。

sql-server-2008 sql-server backup migration restore

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

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
查看次数

SQL Server 事务日志备份:测试尾日志是否遵循上次已知的日志备份

我们正在使用具有完全恢复模式的 SQL Server。给定完整备份和一系列日志备份,我们希望能够检查从上次完整备份到当前尾日志的日志链是否完整。(没有实际恢复这些备份;这里的目的是测试备份的一致性。)

我已经知道如何对现有备份执行此操作:使用 RESTORE HEADERONLY 我获得每个文件的 FirstLSN 和 LastLSN,可以对连续文件进行比较,以确定它们是否兼容。

但是,我不知道如何检查尾部日志是否遵循上次日志备份。

如果我有尾日志的 FirstLSN,我可以将它与上次日志备份的 LastLSN 进行比较。但是如何获取尾日志的 FirstLSN 呢?

我需要一个适用于 SQL Server 2005 以上的解决方案(最好使用 t-sql)。到目前为止,我已经搜索过谷歌无济于事。顺便提一句。我首先在 stackoverflow 上发布了这篇文章;但是将它迁移到这里,因为它在那里被标记为离题。

编辑

我在一个小例子(SQL Server 2005,9.0.5057)上尝试了两个提供的解决方案:

BACKUP DATABASE TestDb TO DISK = 'C:\temp\backup test\Full.bak' 

-- fire some update queries

BACKUP LOG TestDb TO DISK =  'C:\temp\backup test\Log1.bak' 

-- fire both queries from the provided answers: 
-- Martin Smith's answer yields: 838886656088920652852608
-- Shawn Melton's answer yields: 46000000267600001

RESTORE HEADERONLY FROM DISK = 'C:\temp\backup test\Log1.bak'  
-- yields: 46000000267600001 …
Run Code Online (Sandbox Code Playgroud)

sql-server backup transaction-log

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

压缩和存储 SQL Server 备份的最有效方法是什么?

我一直在对压缩和存储 SQL Server 备份的不同方法进行一些测试(使用 SQL Server 2008 R2 企业版),我想知道最有效的压缩算法是在 SQL 之外长期存储这些备份内部压缩算法。

我不担心物理存储或磁带驱动器或任何东西,只是试图将我们的 3TB 数据和日志文件变成最小的单个文件。

那么,例如,是 .zip 还是 .7z?或者我的数据库中有太多变量无法准确估计什么是最有效的,而我只需要做一些测试?或者 SQL Server 的内部压缩是我能得到的最好的吗?

backup sql-server-2008-r2 compression

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