SQL Server: Erstellen Sie eine gespeicherte Standardprozedur, sobald eine neue Datenbank erstellt wird

7

Ich verwende SQL Server 2008 R2. Ich benötige standardmäßig eine einfache gespeicherte Prozedur, wenn eine neue Datenbank in SQL Server erstellt wird. Wie kann ich das erreichen? Angenommen, die zu erstellende gespeicherte Prozedur ist

CREATE PROCEDURE [dbo].[Default_SP]
AS
BEGIN
    SELECT GETDATE()
END

Trigger können auf Tabellenebene angewendet werden. Dies ist jedoch ein Datenbankerstellungsereignis. Ich habe über das Internet gesucht und konnte keine Antworten finden.

Shiva
quelle

Antworten:

21

Erstellen Sie die Prozedur im Systemdatenbankmodell.

Aus der Modelldatenbank

Die Modelldatenbank wird als Vorlage für alle Datenbanken verwendet, die auf einer Instanz von SQL Server erstellt wurden.

Mikael Eriksson
quelle
Das würde ich auch tun. Andere Lösungen wären, einen geplanten Job zu haben, der in regelmäßigen Abständen den SP in jeder Datenbank sucht / erstellt. Oder Sie könnten versuchen, einen Trigger auf Serverebene zu erstellen (ich habe den Namen vergessen. DLL- oder DDL-Trigger, glaube ich), aber ich habe es nie selbst gemacht.
Philippe