Я перенесла базу данных в базу данных в базу данных sql azure, используя SQLAzureMW v5.16 для SQL Server 2014. перед миграцией он дал мне скрипты, которые будут выполняться в моей базе данных SQL Azure. и она с указанной NEWID() в скрипте создания таблицы, как можно видеть следующим образом:При переносе базы данных в базу данных sql azure она игнорирует DEFAULT (newid()) во всех сценариях создания таблицы.
CREATE TABLE [dbo].[AUDITLOG](
[CUSTOMERID] [decimal](38, 0) NULL,
[RRNVALUE] [varchar](12) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[TRANSACTIONCODE] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ACTIONID] [varchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[MODULEID] [varchar](20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[CNIC] [varchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ACTIVITYDATE] [varchar](8) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ACTIVITYTIME] [varchar](6) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ACTIVITYDETAILS] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RESPONSECODE] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[SESSIONID] [varchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[BASECUSTOMERID] [decimal](38, 0) NULL,
[SOURCE] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[LOGID] [decimal](38, 0) NULL,
[AGENT] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RESERVEDFIELD1] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RESERVEDFIELD2] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RESERVEDFIELD3] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[RESERVEDFIELD4] [varchar](4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[USERIP] [varchar](15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[LOGGINGNATURE] [varchar](100) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[LOGINID] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ROWID] [uniqueidentifier] NOT NULL DEFAULT (newid())
)
GO
CREATE UNIQUE CLUSTERED INDEX [ROWID$INDEX] ON [dbo].[AUDITLOG]
(
[ROWID] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF)
GO
после успешной миграции было видно, что ограничение DEFAULT (NEWID()) был снят в все скрипты создания таблиц. и после было произведено:
CREATE TABLE [dbo].[AUDITLOG](
[CUSTOMERID] [decimal](38, 0) NULL,
[RRNVALUE] [varchar](12) NULL,
[TRANSACTIONCODE] [varchar](10) NULL,
[ACTIONID] [varchar](15) NULL,
[MODULEID] [varchar](20) NULL,
[CNIC] [varchar](15) NULL,
[ACTIVITYDATE] [varchar](8) NULL,
[ACTIVITYTIME] [varchar](6) NULL,
[ACTIVITYDETAILS] [varchar](4000) NULL,
[RESPONSECODE] [varchar](10) NULL,
[SESSIONID] [varchar](30) NULL,
[BASECUSTOMERID] [decimal](38, 0) NULL,
[SOURCE] [varchar](10) NULL,
[LOGID] [decimal](38, 0) NULL,
[AGENT] [varchar](4000) NULL,
[RESERVEDFIELD1] [varchar](4000) NULL,
[RESERVEDFIELD2] [varchar](4000) NULL,
[RESERVEDFIELD3] [varchar](4000) NULL,
[RESERVEDFIELD4] [varchar](4000) NULL,
[USERIP] [varchar](15) NULL,
[LOGGINGNATURE] [varchar](100) NULL,
[LOGINID] [varchar](50) NULL,
[ROWID] [uniqueidentifier] NOT NULL
)
GO
есть причина NEWID() удаляется при переносе таблиц из помещения на Azure в облаке ?? ..
версии лазури вы используете – TheGameiswar
@TheGameiswar База данных Azure V12 –
Я думаю, вы нашли ограничение мастера миграции. Ручная настройка таблицы на Azure работала для меня. Вы можете импортировать свою схему в SSDT, а затем развернуть свои изменения в базе данных Windows Azure SQL. Вы получите лучший контроль над тем, что развертывается в целевой базе данных, и вы можете настроить свой дизайн. Настройка кластеризованного индекса на уникальный идентификатор вызовет проблемы с производительностью в помещении или в облаке моего друга. –