Wie man Kompatibilität waagerecht ausgerichtet für SQL-Server 2008 oder Datenbank 2005 einstellt

Wenn man Daten vorwählt oder Frage auf Datenbank 2005 des Microosft SQL-Servers 2008 oder des SQL-Servers durchführt, können die folgende Fehlermeldung oder der Ausfall zurückgebracht werden:

[Microsoft] [ODBC SQL-Server-Fahrer] [SQL-Server] [Msg 4147, Niveau 15, Zustand 1, Linie 4] verbinden das äußere Fragengebrauch NichtANSI Operatoren (“ *=“ oder „=*"). Um diese Frage ohne Änderung laufen zu lassen, stellen Sie bitte die Kompatibilität waagerecht ausgerichtet für gegenwärtige Datenbank bis 80, unter Verwendung der Wahl des SATZES COMPATIBILITY_LEVEL von ÄNDERN DATENBANK ein. Es wird stark empfohlen, um die Frage unter Verwendung äußeren ANSI neu zu schreiben verbindet Operatoren (VERLIESS ÄUSSER VERBINDEN, RECHTES ÄUSSERES VERBINDEN). Zukünftig Versionen
vom SQL-Server verbinden NichtANSI Operatoren wird nicht gestützt sogar in Rückwärtskompatibilität Modi.


oder,

Msg 4147, Niveau 15, Zustand 1, Linie 3
Das äußere Fragengebrauch NichtANSI verbinden Operatoren (“ *=“ oder „=*"). Um diese Frage ohne Änderung laufen zu lassen, stellen Sie bitte die Kompatibilität waagerecht ausgerichtet für gegenwärtige Datenbank bis 80 ein oder senken Sie, unter Verwendung des gespeichertes Verfahren sp_dbcmptlevel. Es wird stark empfohlen, um die Frage unter Verwendung äußeren ANSI neu zu schreiben verbindet Operatoren (VERLIESS ÄUSSER VERBINDEN, RECHTES ÄUSSERES VERBINDEN). Zukünftig verbinden Versionen des SQL-Servers, NichtANSI Operatoren werden nicht gestützt sogar in Rückwärtskompatibilität Modi.

Die Störung geschieht, weil Microsoft Unterstützung für fallen gelassen hat und beseitigtes im alten Stil das äußeres *= und =* Operatoren verbinden.

Um die SQL-Serverstörung oben zu regeln, muss DB-Verwalter die Datenbankkompatibilität waagerecht ausgerichtet einstellen bis 80, die Äquivalent mit SQL-Server 2000 als temporären Abhilfe. Selbstverständlich ist die beste Lösung, die SQL-Aussagen zu ändern, oder der Fragencode, zum das im alten Stil zu entfernen verbinden Operatoren mit gegenwärtigem Standard SQL sich anschließen Syntax.

Z.B. ist die SQL-Frage folgend ist unzulässig:

WÄHLEN Sie o.name VON sys.objects O, sys.views V WO o.object_id *= v.object_id vor;

Und sollte durch den folgenden Code ersetzt werden:

WÄHLEN Sie o.name VON GELASSENEM sys.objects O VERBINDEN sys.views V AUF o.object_id = v.object_id vor;

Oder die folgenden abgekürzten inneren schließen sich Aussage an:

WÄHLEN Sie o.name VON sys.objects O, sys.views V WO o.object_id = v.object_id vor;

Für Verwalter, der den Code nicht ändern kann, ist die einfachste Abhilfe, das Kompatibilitätsniveau der Datenbank umzuschalten, um die Rückwärtskompatibilität zu im alten Stil zur Verfügung zu stellen verbindet. sp_dbcmptlevel die gespeicherten Verfahren (missbilligt) oder Abwickeln-SQL können verwendet werden, um bestimmtes (teilweise, nicht alle) Datenbankverhalten einzustellen, um mit der früheren Version des SQL-Servers kompatibel zu sein. Dieser MSDN Artikel setzt Überblick auf fest, welchem Verhalten auf jedem Kompatibilitätsniveau geändert wird.

Version des SQL-Servers, die zu, kann umgeschalten werden kann eins vom folgenden sein:

60 = SQL-Server 6.0
65 = SQL-Server 6.5
70 = SQL-Server 7.0
80 = SQL-Server 2000
90 = SQL-Server 2005
100 = SQL-Server 2008

Anmerkung: Kompatibilitätsniveau 60, 65 und 70 nicht mehr vorhanden in SQL-Server 2008. Und zukünftige Version des SQL-Servers stützt (2) vorherige Version nur zwei der Rückwärtskompatibilität. Eine Datenbank, die eine indexierte Ansicht enthält, kann nicht zu einem Kompatibilitätsniveau niedriger geändert werden als 80. Nehmen Sie auch Kenntnis, die, wenn eine Datenbank auf Rückwärtskompatibilität Modus eingestellt wird, einige der neuen Funktionalitäten verloren werden kann, wie Unterstützung SQL-CLR und SSMS Diagramme für die Datenbank. Neben, beeinflußt der Kompatibilitätsmodus Verhalten nur für die spezifizierte Datenbank, nicht für dem gesamten Bediener.

Schritte, zum des Kompatibilitäts-Niveaus einer Datenbank im SQL-Server zu ändern und einzustellen

Die folgenden SQL-Befehle können im SQL-Server-Management-Studio-Fragenfenster herausgegeben werden. Erinnern Sie sich durchzuführen gehen nach jedem Befehl.

  1. Wahlweise freigestellt: Stellen Sie die Datenbank auf einzelnen Anwenderzugriffmodus ein:

    ÄNDERN Sie DATENBANK database_name GESETZTES SINGLE_USER;

  2. Stellen Sie die Datenbankkompatibilität waagerecht ausgerichtet bis eine der früheren Version ein, die oben angegeben wird:

    Methode Abwickeln-SQL

    ÄNDERN Sie das GESETZTE DATENBANK database_name COMPATIBILITY_LEVEL = {80 | 90 | 100}

    Z.B.,

    ÄNDERN Sie das GESETZTE DATENBANK my_db COMPATIBILITY_LEVEL = 80

    sp_dbcmptlevel gespeichertes Verfahrens-Methode

    EXEC sp_dbcmptlevel database_name, compatibility_level Wert;

    Z.B.,

    EXEC sp_dbcmptlevel my_db, 90;

  3. Wahlweise freigestellt: Zurück gesetzt der Datenbank in Multibenutzerzugangsart:

    ÄNDERN Sie DATENBANK database_name GESETZTES MULTI_USER;

WICHTIG: Die Seite ist und vorausgesetzt „maschinell übersetzt, wie“ ohne Garantie ist. Maschinelle Übersetzung kann schwierig sein zu verstehen. Beziehen Sie bitte sich auf ursprünglichen englischen Artikel, wann immer möglich.


Eine Antwort zu „, wie man einstellt Kompatibilität waagerecht ausgerichtet für SQL-Server 2008 oder Datenbank 2005“

  1. Microsoft - SQL-Server - Strategien für das Ansprechen des Punktes mißbilligtes Spur der SQL-„Daniel Adenijis
    14. August 2009 03:17
    1

    [...] 7)      Mein Digital-Leben. Wie man Kompatibilität waagerecht ausgerichtet für SQL-Server 2008 oder Datenbank 2005 einstellt.  http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005-.. [...]

Lassen Sie eine Antwort

Sie können diese Umbauten benutzen: <a href= "" title= "" > <abbr title= "" > <acronym title= "" > <b> <blockquote cite= "" > <cite> <code> <del datetime= "" > <em> <i> <q cite= "" > <strike> <strong>

Unterzeichnen Sie zu den Anmerkungen, die Eigenschaft gesperrt worden ist. Um Mitteilung der spätesten bekanntgegebenen Anmerkungen zu empfangen, unterzeichnen Sie zu meiner Zufuhr der Digital-Leben-Anmerkungen RSS oder das Register zum der neuen Anmerkungen in der täglichen eMail zu empfangen verdauen.
Custom Search

Neue Artikel

Ankommende Suchausdrücke für den Artikel

sql-Bedienerkompatibilitätsniveau - sql-Kompatibilitätsmodus 2008 - sql-Bediener2008 Kompatibilitätsmodus - sql-Kompatibilitätsniveau - Kompatibilitätsniveau sql-Bediener - sql-Bediener 2008 2005 Kompatibilitätsmodus - die Wahl 100 für Kompatibilitätsmodus ist nicht gestützter - sql-Kompatibilitätsmodus - sql-Kompatibilitätsmodus 80 - sql-Kompatibilität 2008 - der Fragengebrauch äußeres, den NichtaNSI Operatoren verbinden oder. um diese Frage ohne Änderung laufen zu lassen - sql-Bedienerkompatibilitätseinstellung 2008 - „äußeres SQL-Kompatibilitätsmodus - Eil“ Kompatibilität „Bediener 2008“ „des sql-Bedieners 2005 - *= nicht ANSI verbinden Operatoren - Rückwärtskompatibilität 2008 bis 2005 - ändern Datenbank compatibility_level - Compatibilty im sql-Bediener - Kompatibilitäts-Niveau zu SQL-Server 2008 - Kompatibilitätsmodus sql-Bediener 2008 - wie man entfernt Programmkompatibilitätsmitteilung für sql-Bediener 2008 - wie man sql-Bedienerkompatibilität 2008 2005 ändert - wie man überprüft waagerecht ausgerichtete mehrfache Datenbanken sql der Kompatibilität - wie man Kompatibilitätsmodus Frau-sql einstellt - wie man Rückwärtskompatibilität Modus sql-Bediener 2005 - schließen Sie sich Beispielen von sql-Bediener 2008 an - VERBINDEN NACH LINKS einstellt nicht ANSI im Index-Kompatibilitäts modus sql - gesetztes compatibilitylevel des SQL-SERVERS 2008 - laufender SQL-Server 2008 in Kompatibilitäts modus 2005 - - gesetzter sql-Bedienerkompatibilitätsmodus - gesetzte Datenbank-Kompatibilitäts-gegenwärtige Datenbank - gesetzter sql-Bediener 2008 in sql-Bediener2000 Modus - sql-Bedienerkompatibilitätsniveau wird bis 2005 nach Aufsteigen eingestellt - eingestellter - SQl- Kompatibilitäts niveau 80 - sql 2008 Kompatibilitäts modus sql-2008 rückwärts - sql 2008 rückwärts kompatibler sql 2000 - sqlserver - sql-Bediener GESETZTES DATENBANK-Kompatibilitätsniveau - SQL-Server +, diese Frage ohne Änderung laufen zu lassen, stellte bitte den Baut.“:- sql 2008 compatibilty - Satz 80 des sql-Bedieners 2008 - sql 2008 mydigitallife - sql-Bediener ein 2000 äußer verbinden compatiability - sql-Kompatibilitätsmodus 2008 - SQL-Server NichtaNSI 2008 sich anschließt - sql-Bedieneränderungs-Kompatibilitätsmodus - dem Fragengebrauch äußeres, den NichtANSI Operatoren verbinden („*=“ oder „=*"). Um diese Frage ohne Änderung laufen zu lassen, stellen Sie bitte die Kompatibilität waagerecht ausgerichtet für gegenwärtige Datenbank bis 80 ein oder senken Sie, unter Verwendung des gespeichertes Verfahren sp_dbcmptlevel - um diese Frage ohne Änderung laufen zu lassen, stellen Sie bitte die Kompatibilität waagerecht ausgerichtet für gegenwärtige Datenbank bis 80 ein oder senken Sie, unter Verwendung des gespeichertes Verfahren sp_dbcmptlevel. Es wird stark empfohlen, um die Frage unter Verwendung äußeren ANSI neu zu schreiben verbindet Operatoren (VERLIESS ÄUSSER VERBINDEN, RECHTES OUTE -