我正在整合一些 SQL Server 以简化管理。我正在考虑使用 SQL Server 2005/2008R2/2012 的新 VM,每个 VM 作为同一台机器上的单独命名实例。这台机器将仅用于“沙盒”环境,主要用于测试我们备份的恢复。没有应用程序会遇到这个问题。
我可能会遇到多个版本的问题吗?我记得几年前在同一台机器上使用 SQL 2000/2005 时遇到过问题。你们是否使用单独的机器进行恢复测试?
我有一个完整备份近 2GB 的数据库。当我执行完整备份(不压缩),然后用 winrar 压缩它时,它变成 140MB,但是当我备份WITH COMPRESSION语法时,结果是 315MB,不幸的是,用 winrar 压缩后,大小没有改变。如何使用 T-SQL 进行最大级别的完全压缩?
我接管了一个旧网站。长话短说,托管计算机的人备份所有数据库文件,但没有备份维护计划(例如,他们实际上是从磁盘备份文件,因此不会发生截断)。
恢复模式为FULL (SQL Server 2005)。
这有点像“一根绳子有多长”的问题,但只需要一个棒球场数字来说明截断需要多长时间:
BACKUP LOG databasename WITH TRUNCATE_ONLY
Run Code Online (Sandbox Code Playgroud)
60Gb 日志(机器是合理的英特尔 4 核 2.5Ghz 8Gb 机器(不是 SSD 驱动器))可能需要几分钟、几小时或几天?
有没有办法强制用户只使用 COPY_ONLY 进行完整备份,这样他们就不会干扰差异备份?
我们的开发人员需要时不时地进行备份,但他们并不总是记得使用该COPY_ONLY选项,然后他们将备份移走,因此会导致一些问题。
我正在尝试设置备用服务器并不断收到此错误。我的主服务器有足够多的连接来处理负载:
listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 10
max_connections=100
checkpoint_segments = 8
wal_keep_segments = 8
archive_mode = on
archive_command = 'cp %p /var/lib/postgresql/archive/%f'
Run Code Online (Sandbox Code Playgroud)
这是在备用服务器上失败的命令:
pg_basebackup -h ${MASTER_PORT_5432_TCP_ADDR} -D ${PGDATA} -U ${REP_USER} -vPw --xlog-method=stream
Run Code Online (Sandbox Code Playgroud)
我不明白为什么会发生这种情况。
我正在使用 SQL Server 2008 R2。如果正在执行数据库备份(完整/差异/事务日志)并且突然断电或系统崩溃,会发生什么情况?这会损坏备份集吗?
如果是这样,那么有哪些可用选项,以便在需要进行数据库还原时以及何时完成我不会以损坏的备份集结束。
如果不是,那么正在进行的备份的状态是什么?
如果我的数据库中有两个文件(mdf 和 ndf),当我使用以下语句备份数据库时:
backup database mydb;
Run Code Online (Sandbox Code Playgroud)
两个文件都备份了吗?
我正在 SQL 2008 R2 Express 上自动备份 SQL Server 数据库。这些备份由 Windows 任务计划程序每天启动,它执行一个批处理文件,然后执行一个 SQL 脚本。我无法使用 SQL 代理,因为这是快速版本。
目前,我正在编写一个脚本,一个一个备份每个数据库。然而,这是相当高的维护 - 每次添加、删除或重命名数据库时,我都必须修改此脚本以反映这些更改。相反,我想编写一个 SQL 脚本来一次备份所有数据库,而不需要一个一个地明确备份每个数据库。
这是当前用于备份单个数据库的脚本:
Print 'Backing up MyDatabase...'
BACKUP DATABASE MyDatabase
TO DISK = 'F:\Backups\SQL Databases\MyDatabase.bak'
WITH FORMAT,
NAME = 'Full Backup of MyDatabase';
GO
Run Code Online (Sandbox Code Playgroud)
如何枚举所有数据库的列表并执行循环以对所有数据库执行此备份?
只是备份过程的一些附加说明:
我在完全恢复模式下有一个非常大的数据库。我的 SQL Server 是 2008 R2。问题是我需要迁移到新服务器,同时原始数据库仍在生产中。
备份和恢复都需要几个小时,所以...
备份时添加到数据库中的记录会发生什么变化?如果我是对的,这不是问题,.bak文件将包含所有数据,直到备份结束。我是否标记了仅复制?
备份完成后,我开始恢复......在新服务器中恢复时获取已添加到原始数据库的其余记录的最佳选择是什么?
我试过全+差分,但我收到一条消息
无法恢复差异备份,因为数据库尚未恢复到正确的早期状态
在我的测试环境中。
可以肯定这是最后一次完整备份,因为我只是在修改一条记录后一分钟后才进行备份。
另外,我用 norecovery 恢复完整,用 recovery 恢复差异。
我做错了什么?
备份将备份到磁盘,因为我需要尽快完成。
编辑:
我仍然收到消息“无法恢复差异备份,因为...”。有什么问题?
备份到磁盘时我必须做一些特别的事情吗?这些是 LSN:
+------------+--+-------------------+--+-------------------+--+-------------------+--+-------------------+-
| BackupType | | FirstLSN | | LastLSN | | CheckpointLSN | | DatabaseBackupLSN |
+------------+--+-------------------+--+-------------------+--+-------------------+--+-------------------+-
| FullBackup | | 99000000025100209 | | 99000000034000001 | | 99000000033800001 | | 98000002545900051 |
| DiffBackup | | 99000000033800001 | | 99000000036800001 | | 99000000035000041 | | 98000002545900051 |
+------------+--+-------------------+--+-------------------+--+-------------------+--+-------------------+-
Run Code Online (Sandbox Code Playgroud) 我在带有一个数据库的 Azure VM(Windows Server 2012 R2)上安装了 Microsoft SQL Server 2014。是否可以为我的 Google Drive 文件夹配置自动备份?也许是特殊工具或其他东西?
backup ×10
sql-server ×9
restore ×2
automation ×1
azure-vm ×1
compression ×1
migration ×1
permissions ×1
postgresql ×1
scripting ×1
truncate ×1