我有一个 SQL Server 2012 维护计划,它执行正常的操作(重建索引和更新统计信息、备份数据库、删除超过 X 天的 .bak 文件等)。除了一项维护清理任务外,一切正常:

这应该是删除所有意外留在每晚备份目录中的 .7z 档案(相当于 .zip 或 .rar)(尽管我们尽了最大努力,但最终还是有些人将这些文件留在服务器上......),但是E:\Backups\foo\bar.7z在维护计划运行后,子目录(例如)中仍然存在旧的 .7z 文件。
SQL Server 日志中没有错误。
我怀疑这是因为“删除以下类型的文件:备份文件”选项限制了可以删除的文件类型。我还尝试使用 7z 扩展名将其更改为“维护计划文本报告”,但没有任何更改。
是否可以让维护计划在维护清理任务期间删除任意(非 SQL Server)文件?如果是这样,知道我做错了什么吗?
我了解备份密钥和用户定义的证书的必要性,但是我们是否有任何理由应该备份这些系统创建的证书?
问题陈述: 我们的支持工程师需要从客户那里获取数据库备份。目前,我们的数据库包含在一个 Primary/.mdf 文件组/文件中。这些数据库多年来一直在收集历史数据,并且越来越大。我们的工程师需要几天时间才能将备份复制到我们的办公室。
似乎没有任何规定/想法来管理数据库的增长。
最“有价值”的数据是我们系统的“配置”。它包含在大约 50 个表中,我们正在考虑将这些表移至与历史数据(将放置在数据文件组中)分开的新配置文件组,以尝试为部分或文件备份设置阶段。
但我不确定我需要哪种备份/恢复策略来完成这个 - 部分备份或文件备份?
出于研发目的,我有一个名为FilegroupDemo使用SIMPLE恢复模型的数据库。FilegroupDemo包含 3 个文件组:
配置文件组中的数据不会经常更改,并且可能会被标记为只读(如果有帮助),而数据文件组中的数据每分钟更改一次。
我希望能够灵活地仅备份/恢复主文件组和配置文件组/文件。
在SQL Server Partial Backups的 BOL 文章中,它指出:
部分备份类似于完整数据库备份,但部分备份不包含所有文件组。相反,对于读写数据库,部分备份包含主文件组、每个读写文件组以及一个或多个只读文件(可选)中的数据。
这种读取方式让我认为部分备份旨在省略只读文件组,最有可能用于不会更改并标记为只读的大量数据。这些不需要每次都备份。
1. 我说存在部分备份是为了备份所有文件组(除了标记为只读的文件组)是否正确?换句话说,如果我不使用只读文件组,那么使用部分备份就没有意义了——对吗?而且我认为我不能使用部分备份来备份只读文件组?
因此,我不认为部分备份是我所需要的。我相当天真地尝试了文件备份/恢复。我将数据库切换到FULL恢复模式并运行:
BACKUP DATABASE FilegroupDemo FILEGROUP = N'PRIMARY'
TO DISK = N'C:\Backups\FilegroupDemo_FG_Primary.bak'
WITH INIT
GO
BACKUP DATABASE FilegroupDemo FILEGROUP = N'Configuration'
TO DISK = N'C:\Backups\FilegroupDemo_FG_Configuration.bak'
WITH INIT
GO
BACKUP DATABASE FilegroupDemo FILEGROUP …Run Code Online (Sandbox Code Playgroud) 如果我在 SQL Server 中有一个证书,用于备份:
让这些证书过期有什么意义?(除了让我暴露于由于过期的证书而导致备份失败......)
今天我收到一个错误 (DTSER_FAILURE),但我可以通过编辑维护计划来修复它(这个错误是由于维护计划搜索已删除的数据库,而我在设置中使用了“选定的数据库”)。
但是在互联网上,我读了一些帖子说我应该SP_CONFIGURE 'ALLOW UPDATES',0。
这个选项有什么影响?
我在 Microsoft 页面上读到此选项无效并且已弃用。
sql-server backup maintenance-plans sql-server-2014 sp-configure
我有一个相当大的 MySQL DB (InnoDB),大小约为 400 MB。因此,使用 mysqldump转储整个数据库并将其恢复需要永远(超过 15 分钟,这是不可接受的)。
出于调试目的,我需要针对数据库的某个“版本”运行我的代码,然后恢复所有更改(如果有)并重试(可能多次)。为了重现错误,我需要始终从相同版本的 DB 开始。
有没有办法手动指示数据库创建时间点快照,然后按需将其恢复?理想情况下,这应该只需要几秒钟(我想会使用一些写时复制方法)。
我正在寻找独立于最终应用程序的解决方案。想象一个您需要在其上运行机器人测试的 Web 应用程序(其中包括多个请求/响应周期)。此外,如果我们将应用程序视为可能有缺陷的应用程序,我们也不能相信它能够可靠地管理事务回滚。
我只是尝试/var/lib/mysql使用rsync. 恢复后甚至无法启动 MySQL,可能有一些文件留在某处破坏了完整性。无论如何,我一直在寻找更高级别的解决方案,将 FS 级别的备份作为最后的希望。
我目前正在处理一堆服务器,它们有不同的数据库邮件配置。
我可以看到每个服务器的数据库邮件配置。
我使用以下脚本:
--==========================================================
-- getting the Database Mail Configuration
-- Marcelo Miorelli
-- 1-April-2014
--==========================================================
select @@servername
--SQLSALON1\STOCKALLOCATION
-- http://dba.stackexchange.com/questions/47058/how-can-i-see-the-current-database-mail-configuration
EXEC msdb.dbo.sysmail_help_configure_sp;
EXEC msdb.dbo.sysmail_help_account_sp;
EXEC msdb.dbo.sysmail_help_profile_sp;
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
EXEC msdb.dbo.sysmail_help_principalprofile_sp;
EXEC msdb.dbo.sysmail_help_account_sp
Run Code Online (Sandbox Code Playgroud)
实际上,msdb.dbo.sysmail_help_account_sp在这方面,程序是我最喜欢的。
现在我想通过电子邮件发送前一天的备份历史记录(仅完整备份和差异备份),我需要找出每个服务器的配置文件名称。
我想通过将上述过程的内容保存到临时表或表变量中来完成此操作,并在我拥有所需的所有数据并且即将通过电子邮件发送给他们时从中查询信息。
对于那些程序,特别是 sysmail_help_account_sp,我该如何做到这一点?
我特别需要找出profile name. 我已经用于DBA下面的脚本。
这是我用来生成电子邮件内容的脚本:
--=====================================================================================================================
-- sql server backups report in HTML format to be emailed
--http://dba.stackexchange.com/questions/81432/how-do-i-use-powershell-to-get-a-sql-server-backup-status
--marcelo miorelli
--19-nov-2014
--=====================================================================================================================
DECLARE @Body VARCHAR(MAX),
@TableHead VARCHAR(MAX),
@TableTail VARCHAR(MAX)
SET NoCount ON ; …Run Code Online (Sandbox Code Playgroud) 我们一直在保存其中一台生产服务器的备份(实际上是一个 Always On 可用性组)
sqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d master
-Q "EXECUTE dbo.DatabaseBackup
@AvailabilityGroups = 'SQLAG',
@URL = 'https://MYCOMPANYbackups.blob.core.windows.net/SQLMAINSERVER-datafiles-full',
@Credential = 'SQLAzureCredential',
@BackupType = 'FULL',
@Compress = 'Y',
@Verify = 'Y',
@LogToTable = 'Y'" -b
Run Code Online (Sandbox Code Playgroud)
这是我在尝试连接到 Azure 时看到的:我的存储帐户是什么?

我有一份工作,我计划向我发送一封关于服务器上所有备份的电子邮件。收集有关备份的信息并发送电子邮件的脚本在这里。
电子邮件告诉我备份在哪里。例如:
我如何才能访问备份文件?
编辑:
大卫布朗的回答让我明白了,谢谢大卫。
我只是在这里添加了一组将我带到备份的步骤(在成功连接到 azure 之后)。
01 - 点击 Blob
02 - 选择其中一个容器
03 - 文件将在那里 - 准备下载
这篇文章也很有趣:
sql-server backup availability-groups sql-server-2016 azure-blob-storage
我们的客户已同意一天数据丢失的 RPO。所以我将改变备份策略以消除空间限制。
数据库处于完全恢复模式。
现有的备份计划:-
想改变如下: -
这将避免我的空间限制。
如果我们备份事务日志,那么 RTO 会不会更大,因为我们每天只备份一个事务?
无论如何,我们需要执行事务日志备份以在日志文件中腾出空间。
那么你能建议哪种备份类型会更好,差异或事务日志?
如果我走错了方向,请根据我的 RPO 建议一个备份策略。
谢谢。
假设使用 SQL Server 备份命令(内部创建.bak文件)将SQL Server 实例或数据库级备份到 NAS 共享或磁带是事务一致的备份是否安全?
在备份到共享驱动器的过程中,您的数据库可以在线。这种类型的备份如何保证应用程序的一致性?
我将这种备份与 VSS 感知硬件级快照以及使用第三方工具的备份选项进行比较,该工具声称 100% 应用程序一致备份。VSS 执行诸如冻结 IO 直到快照完成等操作。
SQL Server 本机备份如何在没有 VSS 的情况下保持其一致性?
backup ×10
sql-server ×8
restore ×3
certificate ×2
consistency ×1
dynamic-sql ×1
encryption ×1
etl ×1
innodb ×1
mysql ×1
snapshot ×1
sp-configure ×1
t-sql ×1