提问人:Mr. K 提问时间:2/19/2016 更新时间:2/19/2016 访问量:534
当索引被禁用时
When an index got disabled
答:
-1赞
Sanu Antony
2/19/2016
#1
我希望这对你有所帮助;
SELECT OBJECT_NAME(si.object_id) AS table_name, i.name AS indexname, sc.name column_name
FROM sys.index_columns si
JOIN sys.columns sc ON sc.object_id = si.object_id
AND si.column_id = sc.column_id
LEFT JOIN SYS.indexes i ON si.object_id = i.object_id
WHERE i.is_unique = 1;
评论
1赞
Mr. K
2/19/2016
我要求“当索引被禁用时”。
-1赞
Aditya
2/19/2016
#2
它在堆栈溢出时......查找禁用的索引...
若要禁用或重新生成索引,可以使用 SQL Server 博客中的以下代码
USE AdventureWorks
GO
----Diable Index
ALTER INDEX [IX_StoreContact_ContactTypeID] ON Sales.StoreContact DISABLE
GO
----Enable Index
ALTER INDEX [IX_StoreContact_ContactTypeID] ON Sales.StoreContact REBUILD
GO
评论
0赞
Mr. K
2/19/2016
我知道该怎么做。我的问题与此无关。我问的是“当索引禁用时”而不是“如何禁用”。
0赞
Aditya
2/22/2016
@RohitKumar,我相信不可能找到索引禁用的日期和时间详细信息。正如 Ben Thul 所建议的那样,在这种情况下,设置 Trigger 或 Event 应该有效。
2赞
Ben Thul
2/19/2016
#3
我认为答案是“不,事后看来是没有的”。但是,如果您有兴趣了解这种信息,以便下次发生时了解,我会在 DDL 事件上设置 DDL 触发器或事件通知,以将该信息存储在某个地方。
上一个:Dump 文件分析
下一个:内存中 OLTP 备份和还原
评论