SQL Serverインスタンス内のすべてのデータベースに対してDDLトリガーを作成します。私は各データベースのために多くの実行の代わりに1つの実行でそれをしたいと思います。SQL Server 2005インスタンス内のすべてのデータベースに対してDDLトリガーを作成する方法
以下は私が実行する必要のある2つのT-SQLステートメントです:
-- Create table
use <dbname>
GO
CREATE TABLE dbo.ChangeAttempt
(EventData xml NOT NULL,
AttemptDate datetime NOT NULL DEFAULT GETDATE(),
DBUser char(50) NOT NULL)
GO
-- Create DDL trigger
use <dbname>
GO
CREATE TRIGGER db_trg_ObjectChanges
ON DATABASE
FOR ALTER_PROCEDURE, DROP_PROCEDURE,
ALTER_INDEX, DROP_INDEX,
ALTER_TABLE, DROP_TABLE, ALTER_TRIGGER, DROP_TRIGGER,
ALTER_VIEW, DROP_VIEW, ALTER_SCHEMA, DROP_SCHEMA,
ALTER_ROLE, DROP_ROLE, ALTER_USER, DROP_USER
AS
SET NOCOUNT ON
INSERT dbo.ChangeAttempt
(EventData, DBUser)
VALUES (EVENTDATA(), USER)
GO
私の質問は:どのように私はprogrammaticaly 1回の実行でDDLトリガを作成することができますか?
私はどのようにして私の質問を編集しました... –
これは今どのように速いですか?どのように私は正しい答えを得ることができますが、アップ票がない? –
それは速いです。私はわずか数時間ですべてのSQL Serverへの作成を行うことができます。申し訳ありませんが、私はあなたが「賛成投票」の意味を理解していません。それ、どうやったら出来るの? – titanium