【问题标题】:Error with Uniqueidentifier deploying database to Windows AzureUniqueidentifier 将数据库部署到 Windows Azure 时出错
【发布时间】:2014-02-17 21:45:47
【问题描述】:

我正在尝试在 Windows Azure 平台上测试我们的网站,看看它是否可以工作。我已经解决了大部分错误,但我无法克服以下错误。

Element Column: [dbo].[Subscribers].[ID] has an unsupported property IsRowGuidColumn set and is not supported when used as part of a data package.

我进行了大量搜索,但找不到有关此特定错误的任何信息。我确实看到了一些关于 GUID 和 Azure 的东西,但没有任何帮助。

我有五个表使用 GUID/唯一标识符作为它们的主键,因为它们是公开可见的。

【问题讨论】:

    标签: sql-server azure azure-sql-database guid uniqueidentifier


    【解决方案1】:

    由于 Windows Azure SQL 数据库不支持 RowGUID 列,建议的替代方法是使用 uniqueidentifier 作为列类型,然后在插入时使用 NEWID() 生成 guid。

    CREATE TABLE MyTable ( 
       MyID UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY, 
       Name VARCHAR(10)) 
    INSERT INTO MyTable (name) VALUES ('string1') 
    INSERT INTO MyTable VALUES (newid(), 'string2')
    

    【讨论】:

    • GUID 不是 sql server 中的实际数据类型,因此我确实拥有所有这些列和唯一标识符。是因为我没有 NEWID() 吗?
    • 另外,我正在尝试部署现有数据库。我将如何更改现有表以使其正常工作?
    • 我找到了它,它源于我对 Is GUID Column 选项的混淆。我删除了它,它毫无问题地转移了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2019-10-29
    相关资源
    最近更新 更多