首页 > 解决方案 > SqlPackage 和敏感度分类

问题描述

我最近更新了SqlPackage它,它现在每次部署时都会尝试重建表(<Alert Name="DataMotion">):

PRINT N'Starting rebuilding table [dbo].[Users]...';


GO
BEGIN TRANSACTION;

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

SET XACT_ABORT ON;

CREATE TABLE [dbo].[tmp_ms_xx_Users] (
    <columns>
);

IF EXISTS (SELECT TOP 1 1 
           FROM   [dbo].[Users])
    BEGIN
        INSERT INTO [dbo].[tmp_ms_xx_Users] (<columns>)
        SELECT   <columns>
        FROM     [dbo].[Users]
        ORDER BY [Id] ASC;
    END

DROP TABLE [dbo].[Users];

EXECUTE sp_rename N'[dbo].[tmp_ms_xx_Users]', N'Users';

COMMIT TRANSACTION;

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;


GO

我把问题归结了。问题是SqlPackage现在有对ADD SENSITIVITY CLASSIFICATION语句的原生支持。

由于不支持分类,我们将它们添加为大型部署后脚本。

我试图将脚本包含到模型中,但随后SqlPackage抱怨在尝试应用注释时找不到表 XXX。

EXEC : error SQL70511: Table 'Users' was not found [xxxproj]

似乎SqlPackage希望注释出现在表定义脚本中。但是这样做需要大量的重写,我想避免这种情况。

问题是:是否有一个开关可以忽略分类以停止表重建?

标签: sql-serversqlpackage

解决方案


推荐阅读