2015-09-16 3 views
0

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

Например:

  • Сервер сверка является Czech_CI_AS
  • базы данных, которые я резервное копирование, имеет параметры сортировки Czech_CI_AS.
  • И мне нужно восстановить резервную копию базы данных, но с помощью сопоставления SQL_Latin1_General_CP437_CI_AI.

Где-то я делаю что-то не так, вы мне поможете?

+0

Вам действительно нужно предоставить код, указать, какие ошибки или результаты вы испытываете. Пожалуйста, прочитайте [ask] –

+0

Спасибо за предупреждение. Улучшить .. – HoP

ответ

2

Как вы обнаружили, сортировка исходной базы данных сохраняется в резервной копии, и поэтому, когда вы создаете новую базу данных из этой резервной копии где-то еще, исходная сортировка идет с ней. В команде restore нет опции для изменения сортировки во время восстановления.

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

См MSDN:

При изменении параметров сортировки базы данных, можно изменить следующим образом:

  • Есть CHAR, VARCHAR, текст, NCHAR, NVARCHAR или NTEXT столбцы в системных таблицах изменено на новое сопоставление.

  • Все существующие параметры char, varchar, text, nchar, nvarchar или ntext и значения скалярного возврата для хранимых процедур и пользовательских функций заменяются на новую сортировку.

  • Типы данных типа char, varchar, text, nchar, nvarchar или ntext и все пользовательские типы данных на основе этих системных данных типов заменены на новую сортировку по умолчанию.

Вы можете изменить параметры сортировки любых новых объектов, которые создаются в базе данных пользователя с помощью предложения COLLATE в DATABASE заявления ALTER. Этот оператор не изменяет сортировку столбцов в любых существующих пользовательских таблицах. Их можно изменить, используя предложение COLLATE ALTER TABLE.

+0

Сортировка хранится на уровне экземпляра, базы данных и столбца, а не на таблице. Вы должны изменить каждый из столбцов, основанных на тексте, по отдельности - см. [Этот связанный вопрос SO] (http://stackoverflow.com/q/16730114/1220971) для сценария для создания операторов alter для вас. – Bridge

+0

Спасибо за ваше время! – HoP