1

Я перенесла базу данных в базу данных в базу данных 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 в облаке ?? ..

+0

версии лазури вы используете – TheGameiswar

+0

@TheGameiswar База данных Azure V12 –

+0

Я думаю, вы нашли ограничение мастера миграции. Ручная настройка таблицы на Azure работала для меня. Вы можете импортировать свою схему в SSDT, а затем развернуть свои изменения в базе данных Windows Azure SQL. Вы получите лучший контроль над тем, что развертывается в целевой базе данных, и вы можете настроить свой дизайн. Настройка кластеризованного индекса на уникальный идентификатор вызовет проблемы с производительностью в помещении или в облаке моего друга. –

ответ

0

Я не думаю, что по умолчанию NEWID() в SQL Azure, но доступны в лазурной SQL Datawarehouse

Пожалуйста, проверьте ссылку на MSDN

https://msdn.microsoft.com/en-us/library/ms190348.aspx

+1

Я просто запустил таблицу создания вручную с столбцом rowID, подобным OP. Затем я запустил инструкцию insert, подтвердил, что я получил инструкцию, и успешно удалил таблицу. NEWID() действителен в Windows Azure SQL Database V12. –

 Смежные вопросы

  • Нет связанных вопросов^_^