2012-02-17 9 views
1

インデックスがデータベース内で再構築または再編成された経緯を調べる方法はありますか?基本的にこの情報を含むログファイルがありますか?インデックスの履歴一覧

+0

監査SQL Serverにデフォルトのトレースを使用しての優れたブログの記事:http://sankarreddy.com/2010/04/t-sql-tuesday-005-who-put-my-database-offline/ – 8kb

+0

私はこの投稿があなたの質問に答えるかもしれないと思う: [http://stackoverflow.com/questions/2831293/tsql-know-when-index-redild-reorg-or-updatestatistics-was-last-run-on- SQL-SER] [1] [1]:http://stackoverflow.com/questions/2831293/tsql-know-when-index-rebuild-reorg-or-updatestatistics-was-last-run -on-sql-ser –

答えて

0

いいえ、このようなログを保持するトリガーを作成することはできます。

CREATE TRIGGER [YourDatabaseTrigger] 
ON DATABASE 
FOR DDL_DATABASE_LEVEL_EVENTS 
AS 

DECLARE @EventData  xml 
DECLARE @Message  varchar(1000) 
SET @EventData=EVENTDATA() 

INSERT INTO YourLogTable 
    (EventDateTime,EventDescription) 
    VALUES (GETDATE(),SUSER_NAME() 
        +'; '[email protected]('(/EVENT_INSTANCE/ObjectType)[1]', 'varchar(250)') 
        +'; '[email protected]('(/EVENT_INSTANCE/ObjectName)[1]', 'varchar(250)') 
        +'; '[email protected]('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)') 
      ) 
RETURN 
GO 

ENABLE TRIGGER [YourDatabaseTrigger] ON DATABASE