Questions tagged «restore»

从备份重新加载数据库,通常用于灾难恢复,或将数据库副本复制到另一台服务器上。


7
是否可以使用PostgreSQL快速创建/恢复数据库快照?
首先,我是一名开发人员,而不是DBA或sysadmin。请轻柔:) 我正在开发一个应用程序工作流,其中一个用户操作将触发数据库中的复杂更改-在某些表中创建数百条记录,在其他表中更新数百条记录,等等。总共约有12个表(约100个表) )被此操作所感动。由于复杂性,在执行其他测试之前,我很难手动还原所有更改。在开发的大部分时间里,我可以在工作流的末尾插入一个“ ROLLBACK”语句,但是当我接近提交更改时,我需要测试真实的东西。 我有要使用的生产数据库的本地副本。就我而言,测试之间的转储和还原比编写脚本撤消所有更改要快。它的速度更快,但仍然使我放慢了速度(在老化的笔记本电脑上,还原大约需要20分钟)。有什么方法可以保存数据库当前状态的快照,然后快速将其还原? 我保证是系统上唯一的用户,并且我具有root访问权限。tar和gzip压缩后,数据库转储约为100MB。PostgreSQL版本是8.3。 在此先感谢您提供任何有用的想法。


1
DBA从事新工作的第一天-检查备份和安全性-如何?还有什么要检查的?
通常,当我在新环境中启动时,我倾向于检查备份在哪里,何时进行了最后一次完全备份,何时应用了最后一次还原,还检查了安全性。 我这样做的方法是通过T-SQL。 检查备份 ;with Radhe as ( SELECT @@Servername as [Server_Name], B.name as Database_Name, ISNULL(STR(ABS(DATEDIFF(day, GetDate(), MAX(Backup_finish_date)))), 'NEVER') as DaysSinceLastBackup, ISNULL(Convert(char(11), MAX(backup_finish_date), 113)+ ' ' + CONVERT(VARCHAR(8),MAX(backup_finish_date),108), 'NEVER') as LastBackupDate ,BackupSize_GB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00/1024.00 AS NUMERIC(18,2)) ,BackupSize_MB=CAST(COALESCE(MAX(A.BACKUP_SIZE),0)/1024.00/1024.00 AS NUMERIC(18,2)) ,media_set_id = MAX(A.media_set_id) ,[AVG Backup Duration]= AVG(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS int)) ,[Longest Backup Duration]= …

6
设备上的媒体系列格式不正确。SQL Server无法处理此媒体系列
我正在尝试在SQL Server中还原.BAK,但出现以下错误: 消息3241,级别16,状态7,行1设备'c:\ glyn \ JA.bak'上的媒体系列格式错误。SQL Server无法处理此媒体系列。消息3013,级别16,状态1,第1行RESTORE DATABASE正在异常终止。 我尝试使用2012年,2008年甚至2005年进行还原,但没有任何效果,我使用了以下查询,Tasks >> Back up但通过的结果却无效,这是我的SQL: RESTORE DATABASE JA FROM DISK='c:\glyn\JA.bak' 有没有人有什么建议?我读过bak可能已损坏,它是由另一位从事该项目的DVD开发人员发送给我的。

5
将备份还原到旧版本的SQL Server
尝试将备份还原到SQL Server Express 2008数据库时,出现以下错误: Restore failed for Server '...\SQLEXPRESS'. (Microsoft.SqlServer.SmoExtended) System.Data.SqlClient.SqlError: The database was backed up on a server running version 10.50.1600. That version is incompatible with this server, which is running version 10.00.2531. Either restore the database on a server that supports the backup, or use a backup that …

1
PostgreSQL:如何转储和还原集群的角色?
角色存储在群集中的什么位置,如何转储它们? 我做了一个db的pg_dump,然后将它加载到另一个集群中,但是出现了很多这些错误: psql:mydump.sql:3621: ERROR: role "myrole" does not exist 因此,显然我的数据库转储不包含角色。我尝试转储'postgres'数据库,但那里也看不到角色。 我需要使用pg_dumpall --roles-only吗? Postgresql版本8.4.8和9.1.4 OS:Ubuntu 11.04 Natty

3
是否可以同时还原sql-server bak和缩小日志?
我们有一个来自客户的bak文件,我们已将其转移到我们的开发人员办公室以进行问题调查。当前备份为25GB,还原的数据库大小大致相同,但是需要还原100GB。我相信这是因为那里的数据库设置为具有75GB的事务日志大小。还原数据库后,我们可以收缩日志文件,但是在还原中有没有办法做到这一点?

2
如何还原“包含”数据库?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 4年前关闭。 我最近尝试将网络实例的备份还原到本地开发SQL Server。令我惊讶的是,我收到以下错误消息: 消息12824,级别16,状态1,行3必须将sp_configure值“包含数据库身份验证”设置为1,才能还原包含的数据库。您可能需要使用RECONFIGURE来设置value_in_use。消息3013,级别16,状态1,第3行RESTORE DATABASE正在异常终止。 要成功还原数据库,必须遵循哪些步骤?

2
通过网络以较低的停机时间迁移大型SQL Server数据库的最佳方法
问题定义 我们的数据库服务器需要转移到另一个数据中心。它在Microsoft SQL Server 2012 Enterprise(64位)上运行,并包含两个大约2TB和1TB的数据库。 为此,几乎没有停机时间甚至没有停机时间将是理想的。 工作量 这些数据库用于.NET网站,并且会不断更新。 周末不可用它是可以接受的。在切换到新数据库之前,当前正在使用的数据库将保持唯一。 理想情况下,只需更改DNS条目以指向新的数据库服务器,同时确保不更新数据库,即可进行该切换。 此外,只要将从一台服务器切换到另一台服务器的停机时间(停机时间)保持在较低水平,此操作所花费的时间并不重要。 考虑的方法 备份还原 过去已经做到了这一点,但是即使通过内部网络完成,也要花费大量的停机时间,因此比通过Internet 更有效 日志传送 据我了解,该方法将通过配置主/从服务器并将主数据库的精确副本传输到只读的从服务器,从而最大程度地减少停机时间。如上所述,不需要访问从属服务器,我们只需要一种在不破坏数据的情况下拥有主数据库副本的方法。 就资源利用率而言,它似乎也相当有效,并且不会对主服务器性能产生太大影响。 我对这种方法可能不对,请随时纠正我。 数据库镜像 我不太了解这种方法,但似乎是一个有效的选择。不需要实时同步,并且主机的性能非常重要,因此,如果选择这种方法,异步将是必经之路。 还有其他选择吗? 该服务器直接在裸机硬件上运行,因此不幸的是不能选择较低级别的解决方案。也许有更好的方法可以做到这一点? 约束条件 如上所述,这些数据库很大,难以维护,但这是另一个问题。 SQL Server的版本将相同(Microsoft SQL Server 2012 Enterprise 64位)。 它必须在两个数据中心之间通过网络传输,因此很有可能在Internet上传输。不幸的是,无法将磁盘从一个站点发送到另一个站点进行初始同步。为传输提供某种安全性将是理想的,但是我们会尽力解决这种情况。 这应该可以很好地概述我们对这项任务的需求,希望你们中的某些人不得不面对这种情况。

1
使用GUI还原数据库-还原错误的文件
我只是在弄弄SSMS图形界面,并研究“恢复”任务的选项。 我注意到的一件事是,当我单击“生成脚本”时,查询的第一行是: RESTORE DATABASE [MyDatabase] FROM DISK = N'Server_Patch\Database_name_LOGSHIPPING.BKP' WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5 ( and a lot of log backups for point in time ) 好的,没问题,但是,我正在对该数据库进行每日备份。这Database_name_LOGSHIPPING.BKP是我一个月前用于日志传送的文件的名称。 为什么当我尝试使用SSMS图形界面还原备份时,它指向此备份文件?我什至没有这个文件了。 通过来自MSSQLTIPS的查询,我可以看到该数据库中的所有备份: SELECT CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, msdb.dbo.backupset.database_name, msdb.dbo.backupset.backup_start_date, msdb.dbo.backupset.backup_finish_date, msdb.dbo.backupset.expiration_date, CASE msdb..backupset.type WHEN 'D' THEN 'Database' WHEN 'L' …

2
还原数据库(不包括FILESTREAM数据)
背景 我们正在开发一个系统,该系统的底部有一个大型数据库。它是在SQL Server 2008 R2上运行的MS SQL数据库。数据库的总大小约为12 GB。 其中约有8.5 GB位于单个表中BinaryContent。顾名思义,这是一个表,我们将任何类型的简单文件直接存储在表中作为BLOB。最近,我们一直在测试使用FILESTREAM将所有这些文件从数据库移出到文件系统的可能性。 我们对数据库进行了必要的修改,没有任何问题,并且在迁移之后,我们的系统仍然可以正常工作。该BinaryContent表大致如下所示: CREATE TABLE [dbo].[BinaryContent]( [BinaryContentID] [int] IDENTITY(1,1) NOT NULL, [FileName] [varchar](50) NOT NULL, [BinaryContentRowGUID] [uniqueidentifier] ROWGUIDCOL NOT NULL ) ON [PRIMARY] FILESTREAM_ON [FileStreamContentFG] ALTER TABLE [dbo].[BinaryContent] ADD [FileContentBinary] [varbinary](max) FILESTREAM NULL ALTER TABLE [dbo].[BinaryContent] ADD CONSTRAINT [DFBinaryContentRowGUID] DEFAULT (newsequentialid()) FOR [BinaryContentRowGUID] …

2
pg_restore:[存档(db)]无法执行查询:错误:模式“ public”已经存在
我正在使用pg_dump / pg_restore备份和还原PostgreSQL数据库,但是从pg_restore收到一些错误消息(以及非零退出状态)。我尝试了一个超级简单的基本案例(下面概述),但仍然出现以下错误: pg_restore:[存档(db)]处理目录时出错: pg_restore:[archiver(db)]来自TOC条目5的错误;2615 2200 SCHEMA公共邮递区号 pg_restore:[存档(db)]无法执行查询:错误:模式“ public”已经存在 命令是:CREATE SCHEMA public; 重现步骤: 安装一个新的原始Ubuntu 14.04发行版(我正在将Vagrant与该Vagrant框一起使用)。 安装PostgreSQL 9.3,配置为允许来自任何Linux用户的PostgreSQL用户“ postgres”本地连接。 创建一个测试数据库。我只是在做: vagrant @ vagrant-ubuntu-trusty-64:〜$ psql --username = postgres postgres psql(9.3.5) 键入“帮助”以获得帮助。 postgres =#创建数据库mydb; 创建数据库 postgres =#\ q vagrant @ vagrant-ubuntu-trusty-64:〜$ psql --username = postgres mydb psql(9.3.5) 键入“帮助”以获得帮助。 mydb =#创建表数据(entry bigint); 创建表 mydb …

7
使用WITH REPLACE还原备份时出现错误3154
我的计算机上安装了SQL 2012 SP1。我备份了一个数据库test.bak。 我有一个名称test2相同的数据库,但是数据已更改。 我想test.bak通过test2数据库还原。 我总是收到错误: 错误3154:备份集保存现有数据库以外的数据库的备份。 我试过了: 我右击 test2 -> Restore database -> From device 我选择test.bak并检查了With Replace但出现错误。 然后我尝试右键单击 test2 -> Restore file and filegroups 我选择test.bak并检查了With Replace但出现错误。 我可以删除旧数据库,然后使用正确的名称还原备份,但是当我使用SQL 2008时,在现有数据库上进行还原没有问题。 似乎因为我使用SQL2012,所以我经常收到此错误!


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.