我知道有很多关于将存储过程迁移或同步到另一台服务器的主题,无论如何,我无法找到以下问题的一些可接受的答案。
我想迁移通过脚本将 ANSI_NULL 值设置为 OFF 的存储过程。我要迁移的过程示例:
USE [myDB]
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[p_test_ansi_nulls] AS
SELECT CASE WHEN NULL = NULL THEN 'haha' ELSE 'no-haha' END h
ANSI_NULLS 值存储在 sys.sql_modules 表中,但不存储在过程本身中。我尝试使用标题创建语句(包含 SET ANSI_NULLS OFF 字符串)并通过 sp_executesql 执行,但出现错误:
'CREATE/ALTER PROCEDURE' 必须是查询批处理中的第一条语句。
那么有什么办法,如何使用此选项将程序迁移到另一台服务器或如何远程更改此设置? (程序相当老旧且复杂,因此我们无法更改代码..)