我的备份失败:由于错误2601,未能将提交表刷新到dbid 12中的磁盘。请查看错误日志以获取更多信息。正在使用哪些表更改跟踪
我的数据库启用了更改跟踪。我如何确定哪些表具有启用?我看了50+,并找不到它的。 SQL 2008 R2
感谢
我的备份失败:由于错误2601,未能将提交表刷新到dbid 12中的磁盘。请查看错误日志以获取更多信息。正在使用哪些表更改跟踪
我的数据库启用了更改跟踪。我如何确定哪些表具有启用?我看了50+,并找不到它的。 SQL 2008 R2
感谢
要查找已启用了更改跟踪的表,执行以下脚本对跟踪数据库
SELECT s.name AS Schema_name, t.name AS Table_name
FROM sys.change_tracking_tables ctt
JOIN sys.tables t
ON t.object_id = ctt.object_id
JOIN sys.schemas s
ON s.schema_id = t.schema_id
ORDER BY s.name, t.name
您可以找到有关有用的系统的详细信息观点变更跟踪在这里:
这里的布伦特奥扎尔查询,让您通过更改跟踪维护,存储改变了隐藏的表的列表,涉及CT的表中的行和空间占用这些隐藏的表。
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
GO
SELECT
sct1.name AS CT_schema,
sot1.name AS CT_table,
ps1.row_count AS CT_rows,
ps1.reserved_page_count*8./1024. AS CT_reserved_MB,
sct2.name AS tracked_schema,
sot2.name AS tracked_name,
ps2.row_count AS tracked_rows,
ps2.reserved_page_count*8./1024. AS tracked_base_table_MB,
change_tracking_min_valid_version(sot2.object_id) AS min_valid_version
FROM sys.internal_tables it
JOIN sys.objects sot1 ON it.object_id=sot1.object_id
JOIN sys.schemas AS sct1 ON sot1.schema_id=sct1.schema_id
JOIN sys.dm_db_partition_stats ps1 ON it.object_id = ps1. object_id AND ps1.index_id in (0,1)
LEFT JOIN sys.objects sot2 ON it.parent_object_id=sot2.object_id
LEFT JOIN sys.schemas AS sct2 ON sot2.schema_id=sct2.schema_id
LEFT JOIN sys.dm_db_partition_stats ps2 ON sot2.object_id = ps2. object_id AND ps2.index_id in (0,1)
WHERE it.internal_type IN (209, 210);
GO
也许这是更适合[服务器故障(http://serverfault.com/)? –