SQL Server сопоставления для хранимых процедур сгенерированный скрипт - PullRequest
1 голос
/ 12 января 2012

Я сгенерировал скрипт хранимых процедур для базы данных «Modern_Spanish_CI_AS».Я без проблем запускаю этот сценарий на одном сервере, который имеет параметры сортировки «SQL_Latin1_General_CP1_CI_AS», но на другом сервере, который имеет параметры сортировки «Modern_Spanish_BIN», сценарий завершается ошибкой, потому что некоторые переменные объявлены как @userLogin (или что-то еще) и используются @userlogin.CAPS vs no caps

Нет разницы, похож ли скрипт на

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 Ответ

1 голос
/ 12 января 2012

Вы должны изменить регистр тысяч выражений, усвоить урок и в будущем всегда проверять свой код на чувствительных к регистру серверах сортировки.

...