Режим совместимости с SQL Server - PullRequest
6 голосов
/ 17 сентября 2008

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

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

Ответы [ 4 ]

5 голосов
/ 17 сентября 2008

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

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

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

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

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

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

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

0 голосов
/ 17 сентября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...