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.
- Wahlweise freigestellt: Stellen Sie die Datenbank auf einzelnen Anwenderzugriffmodus ein:
ÄNDERN Sie DATENBANK database_name GESETZTES SINGLE_USER; - 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;
- 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.
In Verbindung stehende Artikel
- Deinstallieren Sie und entfernen Sie mehrfache Datenbank-Fälle von Microsoft-SQL-Server 2005
- Microsoft DreamSpack bietet kostenloses Download und Lizenz Sichtstudios 2008, des Bedieners 2003, des SQL-Servers 2005 und mehr an
- Download-Update für Windows 7 und den Bediener 2008 R2 Beta (KB967062) zum der allgemeinen Anwendungs-Kompatibilitäts-Ausgabe zu reparieren
- Optimieren Sie SQL-Server 2000, 2005 oder 2008 im Großen RAM System, indem Sie Seiten im Gedächtnis und in der EHRFURCHT verriegeln
- Überprüfen Sie Systems-Kompatibilität über Microsoft-Neuanmeldung-Kompatibilitättoolkit-Version 5.5
- Wie man festlegte Unterstützungen für den Eil SQL-Server 2005 durchführt
- Störung ist bei der Festlegung eines Anschlußes zu SQL-Server 2005 aufgetreten, der nicht die lokalen und Fernanschlüsse erlaubt
- Download R2 des Microsoft-Virtual- Server2005 vorhanden für freies
- Ändern Sie Oracle-Datenbank-Benutzer-Kennwort
- Microsoft-Virtual Server 2005 R2 SP1 (Geschäftsversion) verweisen Download-Verbindungen










































14. August 2009 03:17
[...] 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-.. [...]