使用本机还原的 AWS 文档指定允许从多个文件还原:
为避免在还原多个文件时出错,请确保所有备份文件都具有相同的前缀,并且没有其他文件使用该前缀。
以下示例显示了多文件还原。
exec msdb.dbo.rds_restore_database @restore_db_name='database_name', @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/bakup_file_*'
我可以从多少个文件中恢复?
使用本机还原的 AWS 文档指定允许从多个文件还原:
为避免在还原多个文件时出错,请确保所有备份文件都具有相同的前缀,并且没有其他文件使用该前缀。
以下示例显示了多文件还原。
exec msdb.dbo.rds_restore_database @restore_db_name='database_name', @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/bakup_file_*'
我可以从多少个文件中恢复?
如何确定何时对 SQL 数据库中的表启用更改跟踪?
假设该表有一个定期清理例程,这意味着查看更改跟踪表中最旧的记录不会提供正确的答案。
有时某些 SQL Server 维护计划任务可能会出现问题,例如 Shrink Database、Rebuild Index、Update Statistics 等。我想在 SQL Server 实例上搜索其中一项或多项任务的使用情况,以便进一步查看是否有必要。
有没有办法查询执行一项或多项特定任务的维护计划?
(不限于我提到的任务。)
我想使用 SQL 代理作业(这很可能涉及执行 SSIS 包)动态备份给定 SSAS 实例上的所有数据库。这是一个动态过程非常重要——如果用户添加数据库或多维数据集,我想设置一个可以自动检测所有现有 SSAS 元数据的作业。
不幸的是,我没有看到任何可以告诉我如何以干净的方式自动动态备份 SSAS 实例上的所有数据库的信息。“干净”是指:
DatabaseId
在备份命令中使用,而不是DatabaseName
. DatabaseName
有时 a和 a之间可能存在差异DatabaseId
,如果存在差异DatabaseName
,如果使用 代替,则备份将失败DatabaseId
。仅查询 Catalogs 架构不会给我DatabaseId
.我创建了一个 SSIS 包来遍历 SSAS 实例上的所有数据库。它在 vbscript 中使用 AMO 获取 DatabaseId,然后生成 XMLA 来备份每个数据库。
大多数数据库备份都没有问题,但是当 ForEach 访问一个特定的数据库时,Execute Analysis Services DDL 任务似乎挂起。.abf 文件已创建,但 SSIS 包似乎没有收到命令已完成的响应。就像备份过程卡在文件上一样。
当我使用 SSMS 对话框备份数据库时,出现了同样的问题。我使用这种方法验证了其他数据库备份成功。
我应该注意,根据 SSMS 中的数据库属性,所讨论的数据库的“估计”大小为 0.0MB。数据库真的是空的,还是这可能是损坏的迹象?
为什么备份过程没有完成?我没有收到任何错误消息,只是一个不会结束的长时间运行的进程。我能做些什么来找到根本原因吗?
我们的 SQL 服务器位于 SAN 上。它包含数十个 OLTP 数据库,其中一些包含多个包含超过 100 万条记录的表。
我们每周都运行Ola Hallengren 的索引维护脚本,每次运行几个小时。根据碎片阈值,脚本将重新组织或重新索引索引。我们观察到,在重新索引期间,日志文件会变得很大,这会导致日志传送期间过度消耗带宽。
然后是Brent Ozar 的一篇文章,他说不要再担心 SQL 索引了:
您的硬盘驱动器与同时发出驱动器请求的其他服务器共享,因此驱动器将始终在各处跳跃以获取数据。对索引进行碎片整理只是无意义的忙碌工作。
谷歌搜索这个问题会导致不同的意见,大多数支持似乎太简短或太弱的论点。我们的暂定计划是调整维护脚本中的碎片阈值,使其重组的频率远高于重新索引的频率。
最终判决是什么?考虑到与运行每周维护作业相关的负担,是否值得在 SAN 上对 SQL 索引进行碎片整理?
在 SQL 2008 R2 中,我将一些关于 SSRS 元数据的管理查询放在一起,以检查正确的配置和其他类型的主动事项。
在查询 ReportServer 数据库时,我成功地检查了报告、共享数据源等。我遇到的一Subscriptions.MatchData
件事是查询列中的任何值。该列中的所有内容都返回为 NULL(除非我返回该列的全部内容)。
具体来说,我需要EndDate
. 我尝试了许多调整都无济于事,包括玩弄 XPath、XMLNamespace 等。我找到了这个基本示例,说明它在 2005 年应该如何工作。2008 年有什么不同,这不起作用?以及如何在 2008 R2 中查询此值?
`
SELECT
[Description]
,x.m.value('StartDateTime[1]','varchar(30)') AS StartDateTime
,x.m.value('EndDate[1]','varchar(10)') AS EndDate
FROM
(
SELECT
[description]
,CAST(MatchData AS XML) AS MatchData
FROM ReportServer.dbo.Subscriptions
) AS P
CROSS APPLY MatchData.nodes('//ScheduleDefinition') x(m)
`