小编Gan*_*Gan的帖子

SQL Server 2019 行为随 SET IDENTITY_INSERT ON/OFF 范围的变化

我们正在迁移到 SQL Server 2019 RTM 版本,并注意到我们使用SET IDENTITY_INSERTON/OFF 语句的存储过程之一失败,但在 SQL Server 2017 及更早版本中正常工作。

即使将兼容性级别更改为 SQL Server 2017,在 SQL Server 2019 中的工作方式也不同。这看起来像是一个没有记录在案的错误/行为更改。

任何人遇到类似问题或知道这是否是报告的问题?我尝试搜索它,但报告该问题的另一个人是 ODBC 和 SQL Server 2019 CTP 版本的组合。

我们有很多客户在 SQL Server 2017 及更早版本上运行我们产品的早期版本,我们无法更改这些存储过程,但仍想迁移到 SQL Server 2019,现在这已成为我们 SQL Server 2019 迁移的阻碍.

这是在 SQL Server 2019 中失败但在 SQL Server 2017 及更早版本中运行良好的代码片段

如何重现行为。

CREATE PROC proc_inner
AS
BEGIN
    SET IDENTITY_INSERT [#TMP_MESSAGE] ON;

    INSERT INTO [#TMP_MESSAGE] (DCORP, ENTITYKEY, SEQNO, MESSAGE)
        SELECT 
            'test', 1, 1, 'bdkfsjk';

    SET IDENTITY_INSERT #TMP_MESSAGE OFF;
END;
GO

CREATE …
Run Code Online (Sandbox Code Playgroud)

identity-insert sql-server-2019

7
推荐指数
1
解决办法
616
查看次数

标签 统计

identity-insert ×1

sql-server-2019 ×1