Questions tagged «backup»

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

3
“数据库正在转换”错误
今天,我正在尝试通过现有数据库还原数据库,我只是在SSMS中右键单击该数据库->任务->脱机,以便可以还原该数据库。 一个小弹出窗口出现并显示Query Executing.....了一段时间,然后抛出了一个错误说Database is in use cannot take it offline。我从中收集到该数据库的一些活动连接,因此我尝试执行以下查询 USE master GO ALTER DATABASE My_DatabaseName SET OFFLINE WITH ROLLBACK IMMEDIATE GO SSMS此时再次显示Query Executing.....一段时间,然后引发以下错误: Msg 5061, Level 16, State 1, Line 1 ALTER DATABASE failed because a lock could not be placed on database 'My_DatabaseName'. Try again later. Msg 5069, …


4
网络备份的替代方法
在我们的环境中,有些服务器位于“始终在线”可用性组中,有些则是独立的。 我们通常备份到网络共享,但是最近我们观察到,随着数据库的增大,花费的时间越来越长,这会使整个网络变慢。 Ola hallengren的脚本被用于压缩,并且还分割备份文件。我仅执行每日“完整”备份。备份将转到网络共享EMC isilon驱动器。 我从不满意EMC DD Boost。唯一的选择是执行本地备份,然后复制到相同的网络共享。 除了上述以外,还有其他有效的方法吗?


2
找不到正在创建备份的进程
我们在客户服务器上安装了SQL Server 2008实例。客户的IT部门负责计算机的各种备份。 SQL Server日志显示每天晚上7点有完整备份,但是我们找不到SQL Server中计划的任何计划的证据。 我们联系的技术人员无法告诉我们是否存在某种自动备份,他们所知道的只是整个计算机都在备份。 使用在该论坛线程中找到的脚本,我发现物理设备名称是GUID,这意味着这是一个外部备份过程: USE [msdb] GO SELECT [bs].[database_name], [bs].[backup_start_date], [bs].[backup_finish_date], [bs].Server_name, [bs].user_name AS [BackupCreator] , [bmf].physical_device_name FROM msdb..backupset bs INNER JOIN msdb..backupmediafamily bmf ON [bs].[media_set_id] = [bmf].[media_set_id] ORDER BY [bs].[backup_start_date] DESC 这是上面查询的一行: db_name 2015-09-16 19:01:23.000 2015-09-16 19:01:28.000 SERVER_NAME NT AUTHORITY \ SYSTEM {424F084A-F35D-4A66-8FC7-072268A89A77} 5 此外,备份的开始和结束日期仅持续5秒钟,因此我想很明显这不是SQL …

1
恢复差异备份会创建DEFUNCT日志文件吗?
这是我的问题。我正在尝试通过完全还原将数据库移动到新服务器,然后使用快速差异备份/还原进行切换。我可以完全还原,但是还原差异备份时会收到以下警告: 消息3127,级别16,状态1,行1还原的数据库'DatabaseName'的文件'Database_Log2'处于关闭状态,因为该数据库正在使用简单恢复模型,并且该文件被标记为可读写访问。因此,只能通过逐段还原来恢复只读文件。 数据库已还原并被视为联机,但是由于此DEFUNCT文件而导致的任何备份操作失败,并出现以下错误: 消息3636,级别16,状态2,行1处理数据库ID 10文件ID 6的“ BackupMetadata”元数据时发生错误。消息3046,级别16,状态2,行1元数据不一致。唯一可能的备份操作是使用WITH CONTINUE_AFTER_ERROR或NO_TRUNCATE选项进行尾日志备份。消息3013,级别16,状态1,第1行BACKUP DATABASE异常终止。 如果我对完整文件和差异文件执行RESTORE FILELISTONLY,则两者都给我相同的输出,这与我从源数据库上的sys.database_files中看到的输出匹配。服务器为Developer Edition上的SQL2012 SP1。 我可以进行完整备份,然后立即进行差异处理,然后将这些文件还原到同一服务器上的其他数据库中,并看到完全相同的问题,因此造成差异的原因与创建差异有关。如果使用“恢复”还原完整备份,则没有问题。我不知道该文件是否曾经存在于该数据库中,但是该文件很可能曾经存在并且很久以前就被删除了。如果我在已还原的数据库上查询sys.database_files,则DEFUNCT文件具有drop_lsn的值,似乎可以确认这一点。当前,源数据库中只有一个文件组(PRIMARY),4个数据文件和一个日志文件。 有任何想法吗?

2
SQL Server事务日志备份:测试尾日志是否紧随最近的已知日志备份
我们正在使用具有完全恢复模式的SQL Server。给定完整备份和一系列日志备份,我们希望能够检查从上次完整备份到当前尾日志的日志链是否完整。(实际上并没有还原这些备份;这里的目的是测试备份的一致性。) 我已经知道如何对现有备份执行此操作:使用RESTORE HEADERONLY,我可以获取每个文件的FirstLSN和LastLSN,可以对连续文件进行比较,以确定它们是否兼容。 但是,我不知道如何检查尾日志是否在上次日志备份之后。 如果我具有尾日志的FirstLSN,则可以将其与上一个日志备份的LastLSN进行比较。但是,如何获取尾部日志的FirstLSN? 我需要一个从SQL Server 2005向上运行的解决方案(最好使用t-sql)。到目前为止,我搜索Google均无济于事。顺便说一句。我首先将其发布在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 …

2
SQL Server 2008 R2使用事务日志还原COPY_ONLY完整备份
经过一些研究,我似乎找不到这个问题的答案。 背景我正在尝试设置一个符合以下三个要求的备份计划: 备份的可靠性,每晚进行一次完整备份 可以从中还原的事务日志备份 磁盘空间不足 备份必须在本地可用于审核工具 因此,为了满足这些需求,我正在考虑每周进行完整备份,每天进行差异备份以及每小时进行一次备份。然后,每天晚上将运行可在异地运送的copy_only备份,这样做是为了使日志链不会损坏,并且我们可以在可靠的夜间进行完整的异地备份,而不必占用太多本地磁盘空间。 问题是否可以从copy_only备份还原,然后再还原事务日志。 让我举一个例子,让您知道我在说什么。 使用下面的列表,我想知道是否可以还原FullbackupCOPY_ONLYC.bak,然后还原TransactionbackupG.trn,TransactionbackupH.trn,最后是TransactionbackupI.trn > ---List of Backups--- FullbackupA.bak 01/01/2013 00:00:00 > DifferntialbackupA.bak 02/01/2013 00:00:00 FullbackupCOPY_ONLYA.bak 02/01/2013 00:00:00 > TransactionbackupA.trn 02/01/2013 01:00:00 > TransactionbackupB.trn 02/01/2013 02:00:00 > TransactionbackupC.trn 02/01/2013 03:00:00 > DifferntialbackupB.bak 03/01/2013 00:00:00 FullbackupCOPY_ONLYB.bak 03/01/2013 00:00:00 > TransactionbackupD.trn 03/01/2013 01:00:00 > TransactionbackupE.trn 03/01/2013 …

2
SQL Server备份失败。错误:3041,严重性:16,状态:1
首先,我是stackexchange的新手,所以请多多包涵。 我正在运行SQL Server 9.0.4060。 我的问题是:我的SQL Server备份在很多数据库上一直失败。 维护计划将运行到不同的备份作业: 每天20:30进行DIFF备份,每个星期日在20:30进行完全备份。 我在无法完成备份的foreach数据库中遇到以下两个错误: Date 06-11-2012 20:31:06 Log SQL Server (Current - 07-11-2012 11:43:00) Source Backup Message BACKUP failed to complete the command BACKUP DATABASE (dbname) WITH DIFFERENTIAL. Check the backup application log for detailed messages. Date 06-11-2012 20:31:06 Log SQL Server (Current - 07-11-2012 …

5
不完整的mysqldump
我正在尝试运行mysqldump来创建数据库快照,并且发现它会在途中随机停止,而不会报告任何错误。我的数据库相对较小(大约100MB),并且正在使用InnoDB。 我像这样运行它: mysqldump --force --single-transaction --quick --user myuser --password=mypass -h mydatabasehost mydb > /tmp/snapshot.sql 检查退出代码报告0。 我的版本是:用于redhat-linux-gnu(i386)的mysqldump Ver 10.13 Distrib 5.1.52 我见过一些类似的帖子,甚至见过正式的错误报告,但似乎都没有解决方案。 如何获取mysqldump来拍摄完整的数据库快照? 编辑:我的数据库当前位于Amazon的RDS上。

1
XtraBackup和rsync有什么区别?
是的,我将对它们两个都运行strace ...但是,我想知道... 除了rsync -ac src dest以外,XtraBackup在做什么? XtraBbackup有什么特别之处? XtraBackup如何与mysqld交互?
11 mysql  backup  percona 

2
非DBA询问:如何通过备份/还原将SQL Server实例无痛地复制/移动到另一台服务器?
我们只有一台新服务器,因此我需要从旧数据库框中复制现有SQL Server 2008实例。 我通常通过复制.mdf和日志文件并附加它们来执行此操作,但是由于它们使用24/7,因此无法脱机,因此我已经备份了数据库并将其还原到新数据库上机。但是,我最终遇到了一些问题,其中一个与孤立用户有关。因此,我要寻找的是一种故障转移过程,以最小的麻烦/痛苦/头痛使一切顺利进行。我是一个.Net开发人员,我掌握了大量SQL,但是SQL Server的内部工作方式在很大程度上对我还是个谜,我发现拖累MS文档很麻烦。 请帮忙。


3
为什么.bak比要备份的数据库小得多?
我只是备份了SQL Server数据库。MDF和LDF文件总共约29 GB,但是.bak文件只有23 GB,约小20%。 我的第一个猜测是,数据压缩的一个版本小于包含相同数据的另一个版本时,将是数据压缩,但是压缩通常会产生比20%更好的压缩率,尤其是对于高序数据(例如数据库表)而言。 )而且,压缩后的数据不能轻易地进一步压缩,但是我知道.bak文件可以被压缩。 因此,如果数据没有被压缩,并且没有任何东西被丢弃,(因为进行备份的全部目的是以后能够将其恢复到相同的状态),那么那20%的原因是什么呢?

2
如何记录mysqldump的详细输出?
通常,您可以像这样保存Linux命令的详细输出: # command > output.txt 但是,当您使用诸如之类的命令时mysqldump,该>选项会将数据库表的转储输出到所需的文件: # mysqldump --username=whatever --password=whatever -h localhost database > dump.sql 如果将-v(详细)选项添加到中mysqldump,它将输出有关该命令正在执行的帮助信息。由于该>选项用于将数据库表信息输出到文件,因此如何将这些详细输出保存到文件中? 更具体地说,我将一个数据库的输出转储到另一个数据库中,如下所示: mysqldump -alv -h 123.123.123.123 --user=username --password=p@ssw0rd --add-drop-table databasename | mysql --user=username --password=p@ssw0rd -h localhost localdatabase 我尝试了以下操作,但最终输出文件为空 mysqldump -alv -h 123.123.123.123 --user =用户名--password = p @ ssw0rd --add-drop-table数据库名| mysql --user =用户名--password = p @ …

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.