Вопрос

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

  • Каковы последствия простого входа и изменения?
  • Что может сломаться?
  • Есть ли что-нибудь, что проверяет, сохранятся ли данные, прежде чем я это выполню?
  • Можно ли откатиться в режим 8 без выполнения восстановления и без потери данных?
Это было полезно?

Решение

Если вы переходите с 80 на 90, различия минимальны.Переход от 65 к 70+ может привести к серьезным последствиям (NULL хранятся по-другому).

Последствия - ваши SP могут вернуть разные результаты, чем вы ожидаете, вероятно, сломается:Функции, данные SPS должны выжить;ничто там не должно влиять на вещи.
Переход с 80 на 90 и обратно занимает всего несколько секунд.Да, вы можете двигаться вперед и назад.

http://msdn.microsoft.com/en-us/library/bb510680.aspx

некоторые ошибки: http://mapamdug.blogspot.com/2006/03/sql-server-2005-gotcha-1.html

Другие советы

  1. Режим совместимости не влияет на хранилище.Это просто флаг.Ничего не изменится ни в данных, ни в запросах.Это повлияет только на выполнение запроса.
  2. Ничего – или много чего.Использовали ли вы синтаксис, помеченный как устаревший и подлежащий удалению в 2000 году?Использовали ли вы скобки при предоставлении подсказок в запросах?Использовали ли вы подсказки по выполнению запроса?Если да, то лучше сначала пересмотреть вашу базу данных, удалить устаревший синтаксис, вернуть скобки и покопаться в BOL, чтобы найти, какие подсказки могут замедлить ваш точно настроенный запрос на новом движке.
  3. Нет.Но данные сохранятся.Фактически, если вы можете запустить свою базу данных на сервере 2005, даже в режиме 8, вы уже используете новый формат данных.
  4. Да, вы можете откатиться назад.Он не преобразуется, а просто устанавливает флаг, говорящий: «Мои запросы совместимы».

Режим совместимости отключает функции более новой версии, лично я не работал со многими базами данных, в которых есть проблемы, основная проблема в нашей среде - после перехода на 9 вы больше не можете использовать Enterprise Manager для просмотра база данных.

Резервное копирование/восстановление — хороший вариант, и я также считаю, что вы можете без проблем вернуть его обратно.

(Я сказал, что это возможно только в том случае, если вы переходите с версии 6.5, в которой ничего не сохранялось. char() поля, когда NULL - 70 и выше, используют все поле, что может привести к значительным изменениям размера.)

VBStreets прав в своем пункте - и определенно в пункте 3 - когда вы впервые запустили базу данных в 2005 году, она преобразовала структуру данных.Если вы сделаете резервную копию, ее невозможно будет восстановить на предыдущих версиях, независимо от уровня совместимости.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top