Je vais créer un déclencheur DDL pour toutes les bases de données dans l'instance SQL Server. Je voudrais le faire en une seule fois au lieu de plusieurs fois pour chaque base de données.Comment créer un déclencheur DDL pour toutes les bases de données dans l'instance SQL Server 2005
Voici les deux instructions T-SQL que je dois exécuter:
-- 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
Ma question est: comment puis-je créer programmaticaly déclencheur DDL dans une course?
J'ai édité ma question avec un comment ... –
alors à quelle vitesse est-il maintenant? Comment puis-je obtenir la bonne réponse, mais pas de votes? –
c'est rapide. Je suis capable de faire la création de tous les serveurs SQL en quelques heures. Je suis désolé, je ne sais pas ce que vous voulez dire par «voter». Comment je fais ça? – titanium