Domanda

C'è una costruito nel modo in SQL Server 2005 per controllare le cose specificamente come cancellare una stored procedure? C'è una tabella di storia che posso interrogare? Abbiamo uno sProc mistero che è scomparso un paio di volte.

È stato utile?

Soluzione

È possibile costruire questo usando trigger DDL:

http://msdn.microsoft.com/en-us/library /ms190989.aspx

Altri suggerimenti

Solo se si utilizza trigger DDL o utilizzare Profiler per tracciare testo "% GOCCIA% PROC% nomeproc%"

Si noti che in SQL Server 2008 hanno anche ora hanno AUDIT di sostituire Profiler Tracce per le attività auding. E 'simile ma ha una sua interfaccia utente di configurazione e interfaccia utente per visualizzare i risultati

È possibile impostare una traccia di Profiler per acquisire l'evento Object Management Audit Schema e filtro in base al nome del database a cui tieni. Ogni volta che viene creato un oggetto nello schema, è sceso, a cura si sparerà un evento in profiler che include la persona che ha fatto il cambiamento e il nome della stored procedure.

Si vuole almeno queste colonne Profiler: ApplicationName - nome utente applicazione è in esecuzione quando hanno fatto il cambiamento DatabaseName - Databse che contiene l'oggetto è cambiato EventSubClass - Tipo di azione mostra alterare, modificare, Goccia, ecc Crea LoginName - utente che effettua il cambiamento ObjectName - oggetto influenzato

[tarda ma aggiunge dettagli su come vedere chi ha effettuato la modifica, anche prima che il sistema di controllo è messo in atto]

Altri hanno già coperto diversi modi è possibile avviare i dati di controllo al fine di monitorare i cambiamenti futuri, ma se in origine non avevano alcun sistema di controllo sul posto, allora è molto difficile scoprire chi ha fatto cosa e quando storicamente.

Solo opzione è quella di provare a leggere registro delle transazioni assumendo database è in modalità di recupero completo. Il problema è che questo non è supportato per impostazione predefinita. Le opzioni sono:

Vedere questi argomenti per maggiori dettagli:

come visualizzare log delle transazioni in SQL Server 2008

SQL Server Transaction Log Explorer / Analyzer

Come vedere la storia query in SQL Server Management Studio

Sono d'accordo. Può essere il profiler SQL Server con i filtri. Il trigger DDL esisteva in SQL Server. Si potrebbe creare qualcosa di simile:

 CREATE TRIGGER ddl_drop_procedure 
    ON DATABASE 
    FOR DROP_PROCEDURE
   AS 
     RAISERROR ('You deleted a stored procedure',10, 1)

   GO

L'altra opzione è quella di utilizzare strumenti di terze parti come Auto Audit da CodePlex, o ApexSQL grilletto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top