2012-01-12 83 views
1

我已经为“Modern_Spanish_CI_AS”数据库生成存储过程脚本。我在一台具有“SQL_Latin1_General_CP1_CI_AS”排序规则的服务器上运行该脚本,但在具有“Modern_Spanish_BIN”排序规则的另一台服务器中,该脚本因为某些变量被声明为@userLogin(或其他)并且使用了@userlogin而失败。股vs无上限存储过程生成的脚本的sql server整理

没有区别脚本是这样的:

EXEC dbo.sp_executesql @statement = N'my sp body'

或脚本是这样的:

CREATE PROCEDURE [dbo].MySpName

我已经执行以下操作以确保数据库排序规则是正确的:

SELECT DATABASEPROPERTYEX('MyDatabase','collation');/*returns "Modern_Spanish_CI_AS"*/

我不允许更改服务器排序规则。

我能做些什么(除了改变成千上万的表达式的情况),以便成功运行脚本并确保sp将正常工作?而且,当sp试图比较varchar值时,会在运行时产生影响吗?

在此先感谢

回答

1

您必须更改上千表达的情况下,汲取教训,并在今后的始终测试代码中区分大小写的排序规则服务器。

+0

一个体面的文本编辑器应该可以帮助您查找/替换,即使是区分大小写 – StingyJack 2012-01-12 18:32:42

+0

谢谢,您帮了很大忙 – 2012-01-12 21:12:32