我想使用SQL Data Sync将内部部署的SQL Server 2012 SP2数据库同步到Azure。 当我尝试进行同步时,我得到了"不支持的数据类型" ID_Index列的其中一个表上的错误:
Azure管理门户没有提供有关错误的进一步解释。 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需要每个表的聚簇索引,但它不必是主键。那么这里的问题是什么?