我已經使用SSMS 2016候選發佈版中的內置遷移工具將本地SQL Server數據庫遷移到Azure。除了使用Azure中禁用的功能的存儲過程轉換失敗之外,它看起來還不錯。在SSMS中生成腳本2016 RC for Azure數據庫忽略默認值
我現在已經使用相同的腳本選項從本地數據庫和Azure版本的數據庫中生成模式的腳本,以便我可以比較數據庫的腳本並識別任何差異或其他缺失項目。
我的問題是,從Azure生成的腳本不包括列上的默認值約束。直接在SSMS中查看錶格定義顯示已正確設置了默認值。
任何人都可以幫助我獲得SSMS腳本生成器將默認值約束添加到生成的腳本?
這是從本地數據庫的示例腳本:
SET ANSI_NULLS ON
CREATE TABLE [xOrgBusinessType](
[OrgID] [int] NOT NULL,
[BusTypeID] [int] NOT NULL,
[CRD] [datetime] NOT NULL CONSTRAINT [DF_xOrgBusinessType_CRD] DEFAULT (getutcdate()),
[CRDByID] [int] NOT NULL CONSTRAINT [DF_xOrgBusinessType_CRDByID] DEFAULT ((0)),
CONSTRAINT [PK_xOrgBusinessType] PRIMARY KEY CLUSTERED
(
[OrgID] ASC,
[BusTypeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
)
,並從Azure數據庫
SET ANSI_NULLS ON
CREATE TABLE [xOrgBusinessType](
[OrgID] [int] NOT NULL,
[BusTypeID] [int] NOT NULL,
[CRD] [datetime] NOT NULL,
[CRDByID] [int] NOT NULL,
CONSTRAINT [PK_xOrgBusinessType] PRIMARY KEY CLUSTERED
(
[OrgID] ASC,
[BusTypeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)