部署后脚本-SSDT

时间:2019-12-05 10:46:13

标签: sql sql-server continuous-deployment sql-server-data-tools database-project

在我的部署后脚本文件中,我正在执行一个最初在db项目本身中创建的存储过程:

数据库项目:

enter image description here

但是每当发布数据库项目时,都会出现以下错误

  

过程st_company_register,行56536 INSERT失败,因为   以下SET选项的设置不正确:“ ANSI_PADDING”。校验   SET选项正确用于索引视图和/或索引   在计算列和/或过滤索引和/或查询通知上   和/或XML数据类型方法和/或空间索引操作。

以下是过程:

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO


    Create PROCEDURE [dbo].[st_company_register]
               @languageID int,
               @company_typeID int,
               @company_name nvarchar(100)
--Untill the end of proc

这是执行代码:

 exec [dbo].[st_company_register]
           @languageID =1,
           @company_typeID =4,
           @company_name =N'Company Name'

这是我的db项目设置,其设置为ANSI_PADDING:

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

要避免在部署后脚本中执行存储过程时出现此问题,只需将执行语句包装为 Set ANSI_PADDING ON ,如下所示:

enter()