Как установить совместимость ровной на сервер 2008 или SQL база данных 2005
Выбирая данные или выполняющ вопрос на базе данных 2005 сервере 2008 Microosft SQL или сервере SQL, сообщение ошибки при слежении или отказ могут быть возвращены:
[Майкрософт] [водитель] [сервер] [Msg 4147 сервера ODBC SQL SQL, уровень 15, положение 1, линия 4] non-ANSI польз вопроса наружный соединяет ("*= операторов» или «=*"). Для того чтобы побежать этот вопрос без изменения, пожалуйста установите совместимость ровным для настоящей базы данных до 80, используя вариант КОМПЛЕКТА COMPATIBILITY_LEVEL ИЗМЕНИТЕ БАЗУ ДАННЫХ. Сильно порекомендованы, что перезаписывает вопрос используя ANSI наружный соединяет операторов (ВЫШЛ НАРУЖНОЙ СОЕДИНИТЕ, ПРАВАЯ НАРУЖНАЯ СОЕДИНИТЕ). В будущих версиях
сервера SQL, не поддержат non-ANSI соединяет операторов даже в режимах ОН назад-совместимости.
или,
Msg 4147, уровень 15, положение 1, линия 3
Non-ANSI польз вопроса наружный соединяет ("*= операторов» или «=*"). Для того чтобы побежать этот вопрос без изменения, пожалуйста установите совместимость ровным для настоящей базы данных до 80 или понизьте, используя, котор sp_dbcmptlevel хранят процедуры. Сильно порекомендованы, что перезаписывает вопрос используя ANSI наружный соединяет операторов (ВЫШЛ НАРУЖНЫМ СОЕДИНИТЕ, ПРАВАЯ НАРУЖНАЯ СОЕДИНИТЕ). В будущих версиях сервера SQL, не поддержат non-ANSI соединяет операторов даже в режимах ОН назад-совместимости.
Ошибка случается потому что Майкрософт упало поддержка для и исключенное прежние *= и =* наружные соединяют операторов.
Для того чтобы зафиксировать ошибку сервера SQL выше, администратор DB должен установить совместимость базы данных ровной до 80, которое эквивалент с сервером 2000 SQL как временное временное решение. Конечно, самое лучшее разрешение доработать заявления SQL или Код вопросов для того чтобы извлечь прежнее соединяет операторов с настоящим стандартом SQL соединяет синтаксис.
Например, вопрос SQL ниже инвалидн:
ВЫБЕРИТЕ o.name ОТ sys.objects o, sys.views v ГДЕ *= v.object_id o.object_id;
И быть заменено с следующим Кодом:
ВЫБЕРИТЕ o.name ОТ ВЫЙДЕННОГО sys.objects o СОЕДИНИТЕ sys.views v НА o.object_id = v.object_id;
Или следующие сокращенные внутренние соединяют заявление:
ВЫБЕРИТЕ o.name ОТ sys.objects o, sys.views v ГДЕ o.object_id = v.object_id;
Для администратора который не может изменить Код, самое легкое временное решение revert уровень совместимости базы данных для того чтобы снабдить совместимость в обратном направлении прежнее соединяет. (deprecated) процедуры по sp_dbcmptlevel, котор хранят или Transact-SQL можно использовать для того чтобы установить некоторые (частично, не все) поведения базы данных для того чтобы быть совместимы с ранней версией сервера SQL. Эта статья MSDN предусматривает обзор на какие поведения изменены на каждом уровне совместимости.
Версия сервера SQL которая можно reverted к смогите быть одним из следующего:
60 = сервер 6.0 SQL
65 = сервер 6.5 SQL
70 = сервер 7.0 SQL
80 = сервер 2000 SQL
90 = сервер 2005 SQL
100 = сервер 2008 SQL
Примечание: Имеющееся уровня 60, 65 совместимости, и 70 отсутствие более длиннего в сервере 2008 SQL. И будущая версия сервера SQL поддержит (2) прежнюю версию только 2 совместимости в обратном направлении. Базу данных содержа индексированный взгляд нельзя изменить к уровню совместимости более низко чем 80. Также примите примечание которое когда база данных установлена к режиму ОН назад-совместимости, некоторые из новых функциональностей может быть потеряно, как поддержка SQL CLR и диаграммы SSMS для базы данных. Около, режим совместимости влияет на поведения только для определенной базы данных, не для всего сервера.
Шаги для того чтобы изменить и установить уровень совместимости базы данных в сервере SQL
Следующие команды SQL можно выдать в окне вопроса студии управления сервера SQL. Вспомните исполнить пойдите после каждой команды.
- Опционно: Установите базу данных для того чтобы определить режим доступа пользователя:
ИЗМЕНИТЕ database_name УСТАНОВЛЕННОЕ SINGLE_USER БАЗЫ ДАННЫХ; - Установите совместимость базы данных ровным до одна из ранней версии заявленной выше:
Метод Transact-SQL
ИЗМЕНИТЕ database_name БАЗЫ ДАННЫХ УСТАНОВЛЕННОЕ COMPATIBILITY_LEVEL = {80 | 90 | 100}Например,
ИЗМЕНИТЕ my_db БАЗЫ ДАННЫХ УСТАНОВЛЕННОЕ COMPATIBILITY_LEVEL = 80
метод хранят процедуре по sp_dbcmptlevel, котор
Database_name sp_dbcmptlevel EXEC, значение compatibility_level;Например,
My_db sp_dbcmptlevel EXEC, 90;
- Опционно: Положено назад базе данных в multiuser режим доступа:
ИЗМЕНИТЕ database_name УСТАНОВЛЕННОЕ MULTI_USER БАЗЫ ДАННЫХ;
ВАЖНО: Страница обеспеченная машина - переведенная и «как» без гарантированности. Машинный перевод может быть трудн для того чтобы понять. Пожалуйста см. первоначально английская статья когда возможно.
Родственные статьи
- Деинсталлируйте и извлекайте множественные примеры базы данных сервера 2005 Майкрософт SQL
- Майкрософт DreamSpack предлагает бесплатную загрузку и лицензию визуально студии 2008, сервера 2003, сервера 2005 SQL и больше
- Оптимизируйте сервера 2000, 2005 или 2008 SQL в большой системе RAM путем фиксировать страницы в памяти и БЛАГОГОВЕНИИ
- Новая версия загрузки на Windows 7 и сервер 2008 R2 бета (KB967062) для того чтобы исправить общий вопрос совместимости применения
- Ошибка происходила пока устанавливающ соединение к серверу 2005 SQL который не позволяет местным и дистанционным соединениям
- Имеющаяся загрузка R2 сервера 2005 Майкрософт фактически бесплатно
- Проверите совместимость системы через версию 5.5 набора инструментов совместимости нового применения Майкрософт
- Сервер 2005 R2 SP1 Майкрософт фактически (Издание для предприятий) направляет соединения загрузки
- Вид исследователя интернета (IE) раскрывая фактически место 2005 администрации паутины сервера
- Измените пароль потребителя базы данных Oracle









































