2009-05-20 23 views
8

CRM için SDK kullanıyordum ve PK'leri, varlıklarımızdan birindeki bir grup örnekte yazdırıyordum. Ben veritabanının filtre uygulanmış görünümler ile tekrarlanan ve aynı cevabı var:MS Dynamics CRM - veritabanı GUID'leri

 
    1a6c691d-391a-de11-8b0e-0050568407cb 
    bd7b0ff0-391a-de11-8b0e-0050568407cb 
    ed272bfe-391a-de11-8b0e-0050568407cb 
    ... and so on ... 

Şunlar geçerli Guıd'ler olmak görünmüyor. Birincisi, yanlış görünüyorlar - neredeyse aynı, GUID'lerin MAC adreslerine ve saat süresine dayanan eski sürüm 1 & 2 GUID'lerinden beri sahip olmadıkları bir özellik. Bununla birlikte, bir GUID'deki belirli bir düğümün GUID'in sürümünü gösterdiği gerçeği, buradaki düğümün yanlış olduğu gerçeğidir. (Üçüncü bölümün ilk kıskacı, yani: 1a6c691d-391a - ** d ** e11-8b0e-0050568407cb) - geçerli değerler 1-5) (MS'in GUID Üreticisi'ni kullanarak bir GUID oluştur - bu yuva her zaman 4 olacaktır. (En azından benim sürümüm.))

Bu GUID'ler veya yalnızca kimlikler nedir ve nasıl bilebilirim?

+0

. Onların kimliklerini görebildiğim her yerde rehber olarak görüyorlar ama net bir belirti yok. – brendan

cevap

10

Onlar GUID'leri oldukları ve bunların ardışık oldukları doğru. Bu anahtarlar CRM tarafından oluşturulmamıştır. SQL Server tarafından oluşturulur.

SQL Server, benzersiz tanımlayıcı adı verilen bir GUID türüne sahiptir. NEWID() veya NEWSEQUENTIALID() olarak yapılandırılabilir. NEWID() her seferinde yeni bir GUID oluşturur. NEWSEQUENTIALID(), ilk kez bir GUID oluşturur ve daha sonra sıradaki veritabanı ekler üzerinde artar.

Dynamics CRM'nin NEWSEQUENTIALID() için yapılandırıldığını keşfettiniz. Bu konuda

diğer bilgiler buradadır: Bunu da ben fark ettik http://www.mssqltips.com/tip.asp?tip=1600

+0

Vay, teşekkürler. Buna doğru bir cevap alacağından emin değildim. Daha fazla araştırma yaptım ve bunu buldum: http://www.fotia.co.uk/fotia/DY.19.NewSequentialId.aspx - onların MAC'ınızın içinde olduklarından GUID'ler olarak adlandırılabilir. – Thanatos

+0

İlginç yazı, gönderdiğiniz için teşekkürler. CRM'nin NEWSEQUENTIALID() - db perf benefits nedeniyle neden kullandığını açıklar. –

+0

Gördüğünüz bir referans kaynağınız varsa @DavidMcDonald'ı merak ediyorum. Girilen varlık kayıtlarındaki sıralı değerleri açıkça görüyorum ancak CRM'in bunları nasıl oluşturduğuna dair hiçbir fikrim yok ... varsayılan kısıt tanımı yok ve kimlik ayarı yok ... –

İlgili konular