MS Dynamics CRM - 数据库GUID

时间:2009-05-20 16:13:25

标签: guid dynamics-crm

我正在使用SDK for CRM,并在我们的一个实体的一堆实例上打印出PK。我用数据库的过滤视图重复了它,得到了相同的答案:

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

这些似乎不是有效的GUID。首先,他们看错了 - 它们几乎是相同的,这是GUID自旧版本1和版本以来没有的属性。 2个基于MAC地址和时钟时间的GUID。而且,事实上GUID中的某个半字节表示GUID的版本 - 这里的半字节不正确。 (第三部分的第一个半字节,即:1a6c691d-391a - ** d ** e11-8b0e-0050568407cb) - 有效值为1-5)(使用MS的GUID生成器生成GUID - 插槽将始终为4.(至少对于我的版本。))

这些GUID,还是ID,以及我如何知道?

1 个答案:

答案 0 :(得分:10)

你是对的,他们是GUID,他们是顺序的。这些密钥不是由CRM生成的。它们由SQL Server生成。

SQL Server有一个名为uniqueidentifier的GUID类型。它可以配置为NEWID()或NEWSEQUENTIALID()。 NEWID()每次都会生成一个新的GUID。 NEWSEQUENTIALID()首次生成GUID,然后在后续数据库插入时按顺序递增。

因此您发现Dynamics CRM已配置为NEWSEQUENTIALID()。

有关此内容的更多信息,请访问:http://www.mssqltips.com/tip.asp?tip=1600