1

我想使用SQL數據同步將內部部署的SQL Server 2012 SP2數據庫同步到Azure。 當我嘗試做同步我得到了ID_Index列一個表的「不支持的數據類型」的錯誤:使用SQL數據同步到Azure時不支持的數據類型

Azure的管理門戶給出了錯誤沒有進一步explanantion。 表的設計在SQL Server Management Studio中:

表創建腳本:

CREATE TABLE [dbo].[FlightPlanData](
    [ID] [uniqueidentifier] NOT NULL CONSTRAINT [DF_FlightPlanData_ID] DEFAULT (newid()), 
    [Airline_ID] [int] NOT NULL, 
    [FlightID_FK] [uniqueidentifier] NOT NULL, 
    [FlightPlanID] [int] NOT NULL, 
    [DateInserted] [datetime] NOT NULL CONSTRAINT [DF_FlightPlanData_DateInserted] DEFAULT (getdate()), 
    [Type] [varchar](20) NOT NULL CONSTRAINT [DF_FlightPlanData_Type] DEFAULT (''), 
    [FileName] [varchar](100) NOT NULL CONSTRAINT [DF_FlightPlanData_FileName] DEFAULT (''), 
    [ClientID_FK] [uniqueidentifier] NULL, 
    [ID_Index] [int] IDENTITY(1,1) NOT NULL, 
    CONSTRAINT [PK_FlightPlanData] PRIMARY KEY NONCLUSTERED ([ID] ASC)) 

CREATE CLUSTERED INDEX [IX_FlightPlanData] ON [dbo].[FlightPlanData]([ID_Index] ASC) 

表有一個GUID主鍵,但它不是聚集,而是我們使用的集羣索引(ID_Index)。 我無法刪除ID_Index列,我不希望將其作爲主鍵。有什麼辦法可以解決這個問題嗎? 我聽說Azure需要每個表的聚集索引,但它不一定是主鍵。那麼這裏有什麼問題?

+1

只是一個猜測,但可能SQL Data Sync不支持非主鍵標識列。如果要使ID_Index成爲唯一標識符而不是int? – 2014-08-29 17:34:16

回答

0

表不能有一個不是主鍵的標識列。這是SQL數據同步的一般要求之一。欲瞭解更多信息,請訪問this GitHub文檔。

相關問題