データベースに変更を加えましたが、すでに古いデータベースを持っており、新しいデータベースに変更を加えて、新しいデータベースの変更を特定する方法を教えてください。
SQLサーバーを使用してこれに関連するアイデアを持っている人はいますか?
データベースに変更を加えましたが、すでに古いデータベースを持っており、新しいデータベースに変更を加えて、新しいデータベースの変更を特定する方法を教えてください。
SQLサーバーを使用してこれに関連するアイデアを持っている人はいますか?
いい質問hardik
私も同じ問題に直面し、良い解決策を得ました。
使用できるのはsqlserver.itのEventdata()関数だけで、xml形式のsqlcommandsを含む特定のデータベース変更に関するすべての情報を提供します。詳細については、このリンクを確認してください http://msdn.microsoft.com/en-IN/library/ms173781.aspx
ここであなたはこのようにそれを行うことができます
DECLARE @data XML
SET @data = EVENTDATA()
INSERT INTO dbo.AdministratorLog(databasename, eventtype,objectname, objecttype, sqlcommand, loginname)
VALUES(@data.value('(/EVENT_INSTANCE/DatabaseName)[1]', 'varchar(256)'),
@data.value('(/EVENT_INSTANCE/EventType)[1]', 'varchar(50)'),
@data.value('(/EVENT_INSTANCE/ObjectName)[1]', 'varchar(256)'),
@data.value('(/EVENT_INSTANCE/ObjectType)[1]', 'varchar(25)'),
@data.value('(/EVENT_INSTANCE/TSQLCommand)[1]', 'varchar(max)'),
@data.value('(/EVENT_INSTANCE/LoginName)[1]', 'varchar(256)')
)