Ki módosította a táblámat?


Ha többen dolgozunk egy adattárház projekten, vagy egy szerveren előfordulhat, hogy valaki megváltoztatja egy táblánk szerkezetét, átkonfigurálja az SQL Server-t, vagy esetleg jogosultságot ad vagy elvesz bizonyos felhasználónak/felhasználóktól. Vannak esetek, amikor jó lenne tudni, hogy mindezen változtatásokat ki és mikor hajtotta végre...

Az 2005-ös SQL Server alapértelmezettként futtat egy kis erőforrás igényű trace-t, amely elkapja az objektum módosításokat, és arról naplót vezet, melyet a Management Studio felületén keresztül meg is nézhetünk:

 

Schema Changes History riport
 

Schema Changes History riport a
Management Studio-ban

 

A riport megtekintéséhez az Object Explorer-ben kattintsunk a kívánt adatbázisra, és a Management Studio summary fülén a riportok közül válasszuk ki a Schema Changes History riportot.

Technikai háttér

A fenti riporthoz az adatokat az SQL Server egy beépített, és alapértelmezettként folyamatosan futó trace-e gyűjti. A trace a követkeő eseményeket naplózza:

 

Database 

Errors and Warnings

 

 

Data file auto grow 

Errorlog 

Data file auto shrink 

Hash warning 

Database mirroring status change 

Missing Column Statistics 

Log file auto grow 

Missing Join Predicate 

Log file auto shrink 

Sort Warning 

 

 

Objects

Security Audit

 

 

Object Altered 

Audit Add DB user event 

Object Created 

Audit Add login to server role event 

Object Deleted 

Audit Add Member to DB role event 

 

Audit Add Role event 

Server

Audit Add login event 

 

Audit Backup/Restore event 

Server Memory Change 

Audit Change Database owner 

 

Audit DBCC event 

 

Audit Database Scope GDR event

 

Audit Login Change Property event 

 

Audit Login Failed 

 

Audit Login GDR event 

 

Audit Schema Object GDR event 

 

Audit Schema Object Take Ownership 

 

A default trace-ről az fn_trace_getinfo() függvény meghívásával

Select * from fn_trace_getinfo(default)

kaphatunk információt.

Az fn_trace_getinfo(default) függvény eredménye
 

Az fn_trace_getinfo(default) függvény eredménye

A kapott információk értelmezése

  • Property 1: Az 1-es tulajdonság beállított értéke meghatározza, hogy mi történjen, ha a log fájl mérete eléri a 3-as tulajdonságnál beállított értéket. (2-es érték esetén lezárja az aktuális log fájl és egy újat nyit. Esetünkben log_15.trc fájl nevéből arra következtethetünk, hogy ez a 15-ik log fájl)

  • Property 2: Az aktuális log fájl neve. (Tartalma megtekinthető az SQL Server Profiler-rel, vagy az fn_trace_gettable TSQL függvény segítségével)

  • Property 3: A log fájl maximális mérete megabájtban (Esetünkben ez 20 Mbyte)

  • Property 4: A trace futásának határideje (StopTime), azaz megmutatja, hogy meddig fusson a trace (időpont) Esetünkben (NULL) az idők végezetéig.

  • Property 5: Megmutatja, hogy az adott trace éppen fut-e vagy sem (Esetünkben az 1 azt jelenti, hogy fut)

Felhasznált irodalom:

Kapcsolódó anyagok:

Adattárház projektvezető képzés

Tudjon meg többet az itt elhangzottakról és jöjjön el a 2020. április 23.-i BI és adattárház projektvezető képzésre. Részletek >>

  

Elválasztó

Már készül a következő cikk. Kérjen értesítést a megjelenéséről itt.

|

Adattárház projektvezető képzés

Tudjon meg többet az itt elhangzottakról és jöjjön el a 2020. április 23.-i BI és adattárház projektvezető képzésre. Részletek >>