Hallo Zusammen,
Ich bin neu im Forum, das ist mein erster Beitrag. Kurz zu meinem Kernthema:
Ich besitze eine MSSQL 2012 Instanz, mit zwei Test-Datenbanken ("Autos" und "Personal"). Diese möchte ich insofern über den Audit überwachen lassen, dass ich DROP, CREATE, INSERT und SELECT abfange.
Dazu kann man sich ja ganz einfach ein Serveraudit erstellen, in welchem ich dann meine benötigten Audit-Gruppen festlege und diese anschließend eine Hauptüberwachung knüpfe und die Protokolle dann über "Überwachungsprotokolle anzeigen" auslesen kann. Das klappt soweit auch hervorragend, mit dieser Überwachung werden alle meine Anweisungen die ich überwachen möchte perfekt geloggt. Nun würde ich aber gerne wissen, wie ich zwei exalte DB's überwachen lasse. Sagen wir ich nehme zwei weitere DB's ("Flugzeuge" und "Blumen") dazu, möchte aber ein Audit erstellen, in dem nur "Autos" und "Personal" überwacht werden.
Theoretisch kann ich diese Überwachungen ja einfach per Hand auf den beiden DB's einzeln erstellen und an die Hauptüberwachung zum protokollieren knüpfen. Allerdings müsste es doch auch die Möglichkeit geben das über ein Skript zu lösen, in dem ich festlege welche Datenbanken ich überwachen möchte (mit den selben zu protokollierenden Anweisungen).
Ich weiß da nur aktuell nicht wirklich weiter. Denn das Skript, welches ein Audit für eine DB erstellt, beginnt mit use. Allerdings kann ich ja kein use über mehrere DB's erstellen...
Über Hilfe würde ich mich sehr freuen!
Ich bin neu im Forum, das ist mein erster Beitrag. Kurz zu meinem Kernthema:
Ich besitze eine MSSQL 2012 Instanz, mit zwei Test-Datenbanken ("Autos" und "Personal"). Diese möchte ich insofern über den Audit überwachen lassen, dass ich DROP, CREATE, INSERT und SELECT abfange.
Dazu kann man sich ja ganz einfach ein Serveraudit erstellen, in welchem ich dann meine benötigten Audit-Gruppen festlege und diese anschließend eine Hauptüberwachung knüpfe und die Protokolle dann über "Überwachungsprotokolle anzeigen" auslesen kann. Das klappt soweit auch hervorragend, mit dieser Überwachung werden alle meine Anweisungen die ich überwachen möchte perfekt geloggt. Nun würde ich aber gerne wissen, wie ich zwei exalte DB's überwachen lasse. Sagen wir ich nehme zwei weitere DB's ("Flugzeuge" und "Blumen") dazu, möchte aber ein Audit erstellen, in dem nur "Autos" und "Personal" überwacht werden.
Theoretisch kann ich diese Überwachungen ja einfach per Hand auf den beiden DB's einzeln erstellen und an die Hauptüberwachung zum protokollieren knüpfen. Allerdings müsste es doch auch die Möglichkeit geben das über ein Skript zu lösen, in dem ich festlege welche Datenbanken ich überwachen möchte (mit den selben zu protokollierenden Anweisungen).
Ich weiß da nur aktuell nicht wirklich weiter. Denn das Skript, welches ein Audit für eine DB erstellt, beginnt mit use. Allerdings kann ich ja kein use über mehrere DB's erstellen...
Über Hilfe würde ich mich sehr freuen!
Code:
USE [Personal] and [Autos]
GO
CREATE DATABASE AUDIT SPECIFICATION [DatenbankauditDBAG]
FOR SERVER AUDIT [AuditDBAGTest]
ADD (DATABASE_OBJECT_CHANGE_GROUP),
ADD (DATABASE_OBJECT_ACCESS_GROUP),
ADD (SCHEMA_OBJECT_ACCESS_GROUP),
ADD (SCHEMA_OBJECT_CHANGE_GROUP)
GO