Поделиться через


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

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

Рекомендации по передовой практике

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

Если возникают коллизии сопоставления, рассмотрите одно из следующих решений:

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

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

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

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

Дополнительные сведения

Установка и изменение параметров сортировки базы данных

Задание или изменение параметров сортировки столбца

ALTER DATABASE (Transact-SQL)

COLLATE (Transact-SQL)

sys.databases (Transact-SQL)

Статья базы знаний Майкрософт 325335

Практическое руководство. Установка SQL Server 2008 из командной строки

См. также

Мониторинг и применение рекомендаций с помощью управления на основе политик