Microsoft Dynamics CRM AuditBase Tablosu

Microsoft Dynamics 365 uygulaması tahmin edebileceğiniz üzere arkaplanda verileri Microsoft SQL veritabanına kayıt etmektedir. Bu veritabanını SQL Management Studio ile açarsanız bir çok tablo, view ve fonksiyon türevleri görebilirsiniz. Bunların her birine tek tek değinemem ancak KVKK kapsamında bazı raporlama işlerinde işinize en çok yarayacak tabloyu biraz irdeleyeceğim. Microsoft Dynamics CRM AuditBase tablosu içerisinde ne gibi alanlar var ve bu tablo ne işe yarıyor ?

Microsoft Dynamics CRM AuditBase Tablosu Ne İşe Yarıyor ?

İşin en kısa özetiyle bu tablo da bir loglama tablosudur. Dynamics CRM 365 içerisinde yapılan çeşitli olaylar sonrası bu tabloya kayıt atılır.

Kullanıcı Girişleri Denetimi Microsoft Dynamics CRM

Kullanıcı Girişleri Denetimi Microsoft Dynamics CRM

Bu tabloya kullanıcı girişlerinde kayıt atılmaktadır. Kullanıcı girişlerinde tabloya kayıt atılması için CRM uygulaması içerisinden Ayarlar > Sistem > Denetim > Global Denetim Ayarları sayfasını açmanız ve burada bulunan Denetim kullanıcı erişimi ve Denetim Başlat seçeneklerini aktif hale getirmeniz gerekmektedir. Bu işletim sonrası AuditBase tablosuna kullanıcı giriş işlemleri sonrasında kayıt atılmaktadır. Her giriş çıkışta değil de kullanıcısı sessionu timeout olduktan sonraki girişlerde tabloya kayıt atılmaktadır.

Varlık Üzerinde Oluşturma, Güncelleme ve Silme Denetimi

varlık denetim auditbase

Herhangi bir varlık üzerinde yapılan değişiklikleri de bu tablodan kayıt etmeniz mümkündür. CRM üzerinde varlığın denetim özelliği açık ise bahsettiğimiz varlık ile ilgili kayıtlar bu tabloya eklenecektir.

varlık alan denetimi

Aynı zamanda her bir varlık içerisinde tanımlı olan alanların denetimi için de bu ayarı güncelleyebilirsiniz. Varlık üzerinde güncelleme sonrası bu tabloya kayıt atmak sadece denetimi açtığınız alanlar sonrasındaki güncellemeler için atılabilmektedir.

AuditBase Tablosu Üzerindeki Alanlar

CallingUserId : Bu alanın bu güne kadar NULL gelmediğini görmedim. Bu alan bir lookup alanıdır. Bu tabloda kullanıcıların GUIDleri bulunmaktadır. Çağrıyı yapmış olan kullanıcının GUID bilgisi bu alana yazılmaktadır. Burada bulunan değere ait detaylı bilgiyi SystemUser tablosundan edinebilirsiniz.

UserId : Bu alanın tabloya eklenmesine sebep olan kullanıcının GUID bilgisi bu alana yazılmaktadır.

CreatedOn : Bu alanın tabloda oluşma tarihini yazmaktadır.

TransactionId : Tabloya eklenen kaydın birden fazla bağlantılı kaydı var ise bu kayıtlarında TransactionId alanlarında aynı GUID bulunmaktadır.

ChangeData : Kayıt eğer bir güncelleme kaydıysa ilgili alanın güncellenmeden önceki değeri bu alana yazılmaktadır.

Bana Göre En Önemli 2 Alan

Action : Kaydın ilgili olduğu eylem nasıl bir eylemdir bunu belirtmektedir. CRM’de bulunan başlıca actionlar şunlardır:

ValueLabel
0Unknown
1Create
2Update
3Delete
4Activate
5Deactivate
11Cascade
12Merge
13Assign
14Share
15Retrieve
16Close
17Cancel
18Complete
20Resolve
21Reopen
22Fulfill
23Paid
24Qualify
25Disqualify
26Submit
27Reject
28Approve
29Invoice
30Hold
31Add Member
32Remove Member
33Associate Entities
34Disassociate Entities
35Add Members
36Remove Members
37Add Item
38Remove Item
39Add Substitute
40Remove Substitute
41Set State
42Renew
43Revise
44Win
45Lose
46Internal Processing
47Reschedule
48Modify Share
49Unshare
50Book
51Generate Quote From Opportunity
52Add To Queue
53Assign Role To Team
54Remove Role From Team
55Assign Role To User
56Remove Role From User
57Add Privileges to Role
58Remove Privileges From Role
59Replace Privileges In Role
60Import Mappings
61Clone
62Send Direct Email
63Enabled for organization
64User Access via Web
65User Access via Web Services
100Delete Entity
101Delete Attribute
102Audit Change at Entity Level
103Audit Change at Attribute Level
104Audit Change at Org Level
105Entity Audit Started
106Attribute Audit Started
107Audit Enabled
108Entity Audit Stopped
109Attribute Audit Stopped
110Audit Disabled
111Audit Log Deletion
112User Access Audit Started
113User Access Audit Stopped

Operation : Kaydın sebep olduğu eylem ne tür bir işlemdir, bunun değeri yazmaktadır. CRM’de bulunan 4 işlem tipi şu şekildedir:

ValueLabel
1Create
2Update
3Delete
4Access

ObjectId : Bu alan tabloya eklenen kaydın oluşturulduğu kayıt kimliğini bulundurmaktadır.

AuditId : Bu tabloya eklenen kaydın primary key bilgisidir.

AttributeMask: Tablodaki varlığın alanlarına ait ColumnNumber özelliğini CSV olarak tutar.

ObjectTypeCode: İlgili kayıttan etkilenen varlığın ObjectTypeCode bilgisini tutmaktadır. Bu bilgi sayesinde varlığın adı gibi bilgilerini öğrenmek istiyorsanız Entity tablosuna where ObjectTypeCode bilgisini kullanarak sorgu atabilirsiniz.

RegardingObjectId: Tablodaki kaydın bağlantılı olduğu nesnenin GUID bilgisini tutmaktadır.

UserAdditionalInfo: Değişiklikle ilgili çeşitli ek açıklamalar bulunmaktadır.

Bonus

where cast(AuditBase.CreatedOn as Date) = cast(getdate() as Date)

Yukarıdaki where koşulu ile sorgu oluşturursanız sadece bu güne ait kayıtları çekersiniz.

Microsoft Dökümanı

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir