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
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
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.
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:
Value | Label |
---|---|
0 | Unknown |
1 | Create |
2 | Update |
3 | Delete |
4 | Activate |
5 | Deactivate |
11 | Cascade |
12 | Merge |
13 | Assign |
14 | Share |
15 | Retrieve |
16 | Close |
17 | Cancel |
18 | Complete |
20 | Resolve |
21 | Reopen |
22 | Fulfill |
23 | Paid |
24 | Qualify |
25 | Disqualify |
26 | Submit |
27 | Reject |
28 | Approve |
29 | Invoice |
30 | Hold |
31 | Add Member |
32 | Remove Member |
33 | Associate Entities |
34 | Disassociate Entities |
35 | Add Members |
36 | Remove Members |
37 | Add Item |
38 | Remove Item |
39 | Add Substitute |
40 | Remove Substitute |
41 | Set State |
42 | Renew |
43 | Revise |
44 | Win |
45 | Lose |
46 | Internal Processing |
47 | Reschedule |
48 | Modify Share |
49 | Unshare |
50 | Book |
51 | Generate Quote From Opportunity |
52 | Add To Queue |
53 | Assign Role To Team |
54 | Remove Role From Team |
55 | Assign Role To User |
56 | Remove Role From User |
57 | Add Privileges to Role |
58 | Remove Privileges From Role |
59 | Replace Privileges In Role |
60 | Import Mappings |
61 | Clone |
62 | Send Direct Email |
63 | Enabled for organization |
64 | User Access via Web |
65 | User Access via Web Services |
100 | Delete Entity |
101 | Delete Attribute |
102 | Audit Change at Entity Level |
103 | Audit Change at Attribute Level |
104 | Audit Change at Org Level |
105 | Entity Audit Started |
106 | Attribute Audit Started |
107 | Audit Enabled |
108 | Entity Audit Stopped |
109 | Attribute Audit Stopped |
110 | Audit Disabled |
111 | Audit Log Deletion |
112 | User Access Audit Started |
113 | User 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:
Value | Label |
---|---|
1 | Create |
2 | Update |
3 | Delete |
4 | Access |
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.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.