2012-03-22 3 views
1

У меня есть один вопрос, я пытался найти больше информации в Интернете, но я все еще не уверен в этом.Настройка и изменение сортировки SQL Server

Если у меня есть экземпляр SQL Server со следующим примером сопоставления по умолчанию «Modern_Spanish_CI_AS», и у меня также есть восстановленная база данных с другим примером сопоставления «Latin1_General_CI_AS».

Что будет использовать SQL Server SQL Server? по умолчанию Modern_Spanish ... или он будет использоваться из базы данных Latin1_General?

В следующей ссылке объясняет что-то об этом Setting and Changing the Server Collation

спасибо!

ответ

2

Он будет использовать настройку Latin1_General_CI_AS, так как это то, что установлено в самой базе данных.

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

Изменение конфигурации сопоставления по умолчанию на уровне сервера не влияет на существующие базы данных, вам придется менять каждое сопоставление индивидуально, хотя это само по себе может вызвать каскадные проблемы с любыми другими объектами уровня базы данных, которые вы создали, как хранимые процедуры, ограничения и даже любой динамический SQL, который вы выполняете в отношении базы данных от сторонних приложений.

+0

Все индексы, которые вы создали в столбцах (var) char, и статистика по этим индексам также будут затронуты. –

2

SQL-серверные сопоставления могут быть установлены на разных уровнях: сервер, база данных, столбец, высылка. Если вы не установили сопоставление на более низком уровне, оно унаследовано от уровня выше. Например. при создании базы данных сортировка базы данных будет сортировкой сервера, если вы явно не установите сортировку для БД.

И многие сортировки будут работать вместе хорошо. Иногда могут быть трудности, часто из-за неожиданного характера порядка сортировки. Я не знаю точно, но я ожидаю, что вы укажете, что вы совместимы.

Итак, ваша БД (почти наверняка) восстановится с помощью сопоставления Latin1_General_CI_AS и почти наверняка будет в порядке. Существует список совместимых сопоставлений, которые Google сможет вам помочь.

+2

Все будет плохо, если восстановленная база данных использует временные таблицы. Таблицы Temp по умолчанию соответствуют настройке tempdb, которая совпадает с настройкой сервера по умолчанию. Одним из сценариев, которые могут привести к катастрофе, является то, что база данных создает временную таблицу и выполняет на ней чувствительную к сортировке операцию (например, присоединение к одной из своих собственных таблиц). –

Смежные вопросы