Задание параметров сортировки пользовательских баз данных в соответствии с параметрами баз данных master и model

Это правило проверяет, определены ли в пользовательской базе данных те же параметры сортировки, что и в базах данных master и model.

Рекомендации

Рекомендуется, чтобы параметры сортировки пользовательских баз данных соответствовали параметрам сортировки баз данных master и model. Иначе может произойти конфликт параметров сортировки, мешающий выполнению кода. Например, если хранимая процедура производит соединение таблицы с временной таблицей, SQL Server может завершить работу пакета и вернуть ошибку конфликта параметров сортировки, если параметры сортировки базы данных model отличаются от параметров сортировки пользовательской базы данных. Это происходит потому, что в базе данных tempdb создаются временные таблицы, параметры сортировки которых основаны на параметрах сортировки базы данных model.

При возникновении ошибок из-за конфликтующих параметров сортировки рекомендуется одно из следующих решений.

  • Экспортируйте данные из пользовательской базы данных и импортируйте их в новые таблицы, параметры сортировки которых совпадают с параметрами сортировки баз данных master и model.

  • Перестройте системные базы данных таким образом, чтобы их параметры сортировки совпадали с параметрами сортировки пользовательской базы данных. Дополнительные сведения о перестройке системных баз данных см. в разделе Перестроение системных баз данных.

  • Внесите изменения во все хранимые процедуры, производящие соединение пользовательских таблиц с таблицами в базе данных tempdb, чтобы таблицы в tempdb создавались с параметрами сортировки пользовательской базы данных. Для этого в определения столбцов временной таблицы добавьте предложение COLLATE database_default, как показано в следующем примере.

    CREATE TABLE #temp1 ( c1 int, c2 varchar(30) COLLATE database_default )