Возможная ошибка с импортом BACPAC и темпоральными таблицами

Я использую последнюю версию SQL Server 2016 Developer edition и SSMS (13.0.15600.2).

Возможная ошибка при импорте приложения уровня данных (bacpac), которое содержит любые временные таблицы и любой объект (функция. Представление), который ссылается на них с помощью 'WITH SCHEMABINDING'.

Такую базу данных в backpac вполне можно экспортировать, но при импорте обратно возникает ошибка:

Ошибка SQL72014: поставщик данных .Net SqlClient: Msg 3729, уровень 16, состояние 4, строка 1 Невозможно изменить «Table2Version», поскольку на него ссылается объект «BindTest». Ошибка SQL72045: ошибка выполнения сценария. Выполняемый скрипт: ALTER TABLE [dbo]. [Table2Version] SET (SYSTEM_VERSIONING = OFF);

Самый маленький скрипт создания БД, который воспроизведет эту проблему:

USE [master]
 GO


CREATE DATABASE [temptest]
 GO


ALTER DATABASE [temptest] SET COMPATIBILITY_LEVEL = 130
 GO


USE [temptest]
 GO


CREATE SCHEMA [History]
 GO


CREATE TABLE [History].[Table2Version](
  [Id] [int] NOT NULL,
  [Name] [nvarchar](50) NULL,
  [SysStartTime] [datetime2](0) NOT NULL,
  [SysEndTime] [datetime2](0) NOT NULL
 ) ON [PRIMARY]


GO


CREATE CLUSTERED INDEX [ix_Table2Version] ON [History].[Table2Version]
 ([SysEndTime] ASC, [SysStartTime] ASC )
 GO


SET ANSI_NULLS ON
 GO
 SET QUOTED_IDENTIFIER ON
 GO
 CREATE TABLE [dbo].[Table2Version](
  [Id] [int] NOT NULL,
  [Name] [nvarchar](50) NULL,
  [SysStartTime] [datetime2](0) GENERATED ALWAYS AS ROW START HIDDEN NOT NULL,
  [SysEndTime] [datetime2](0) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL,
  CONSTRAINT [PK__Table2Version] PRIMARY KEY NONCLUSTERED ( [Id] ASC ),
  PERIOD FOR SYSTEM_TIME ([SysStartTime], [SysEndTime])
 ) ON [PRIMARY]
 WITH ( SYSTEM_VERSIONING = ON (HISTORY_TABLE = [History].[Table2Version] , DATA_CONSISTENCY_CHECK = ON ))


GO


CREATE FUNCTION [dbo].[BindTest]()   
 RETURNS TABLE   
 WITH SCHEMABINDING    
 AS    
 RETURN SELECT Id AS id
 from dbo.Table2Version  ;  



GO

Это действительно ошибка или я что-то не так делаю?


person Sergey Yerdekov    schedule 19.08.2016    source источник


Ответы (1)


Кажется, это ошибка: https://social.msdn.microsoft.com/Forums/en-US/b6564949-2919-4af6-9560-832169750c1f/possible-bug-with-bacpac-import-and-temporal-tables?forum=ssdt.

Размещено в Microsoft Connect: https://connect.microsoft.com/SQLServer/Feedback/Details/3073649

person Sergey Yerdekov    schedule 22.08.2016