Hoe te om het Niveau van de Verenigbaarheid voor SQL Server te bepalen het Gegevensbestand van 2008 of van 2005

Wanneer het selecteren van gegevens of het uitvoeren van vraag over de Server 2008 van Microosft SQL of SQL het gegevensbestand van de Server 2005, kan de volgende foutenmelding of de mislukking zijn teruggekeerd:

[Microsoft] [de Bestuurder van de Server van ODBC SQL] [SQL Server] [Msg 4147, Niveau 15, Staat 1, Lijn 4] Niet-ANSI van het vraaggebruik buiten sluit zich aan bij exploitanten (“ *=“ of „=*“). Om deze vraag zonder wijziging in werking te stellen, te bepalen gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80, gebruikend de VASTGESTELDE optie COMPATIBILITY_LEVEL van ALTER GEGEVENSBESTAND. Het wordt sterk geadviseerd om de vraag te herschrijven gebruikend buiten ANSI aansluit zich bij exploitanten (LINKER BUITEN TREEDT toe, JUISTE TREEDT BUITEN toe). In de toekomstige versies
van SQL Server, sluit aan niet-ANSI zich bij exploitanten niet zal gesteund worden zelfs op achteruit-verenigbaarheidswijzen.


of,

Msg 4147, Niveau 15, Staat 1, Lijn 3
Niet-ANSI van het vraaggebruik buiten sluit zich aan bij exploitanten (“ *=“ of „=*“). Om deze vraag zonder wijziging in werking te stellen, bepaal gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 of te verminderen, gebruikend opgeslagen procedure sp_dbcmptlevel. Het wordt sterk geadviseerd om de vraag te herschrijven gebruikend buiten ANSI aansluit zich bij exploitanten (LINKER BUITEN TREEDT toe, JUISTE TREEDT BUITEN toe). In de toekomstige versies van SQL Server, sluit aan niet-ANSI zich bij exploitanten niet zal gesteund worden zelfs op achteruit-verenigbaarheidswijzen.

De fout gebeurt omdat Microsoft steun heeft gelaten vallen voor en geëlimineerden ouderwetse *= en =* buiten sluit zich aan bij exploitanten.

om de SQL fout van de Server te bevestigen hierboven moet de beheerder van OB het niveau van de gegevensbestandverenigbaarheid aan 80 bepalen, welk equivalent met SQL Server 2000 als tijdelijke alternerende actie. Natuurlijk, de beste oplossing is de SQL verklaringen of vragen te wijzigen sluit aan de code zich om ouderwets te verwijderen bij exploitanten met huidige standaardSQL aansluit zich bij syntaxis.

Bijvoorbeeld, SQL is de vraag hieronder ongeldig:

SELECTEER o.name VAN sys.objects o, sys.views v WAAR o.object_id *= v.object_id;

En met de volgende code zou moeten worden vervangen:

SELECTEER o.name VAN VERLATEN sys.objects o AANSLUITEN zich bij sys.views v OP o.object_id = v.object_id;

Of volgende afgekorte binnen sluit zich aan bij verklaring:

SELECTEER o.name VAN sys.objects o, sys.views v WAAR o.object_id = v.object_id;

Voor beheerder die niet de code kan veranderen, moet de gemakkelijkste alternerende actie het verenigbaarheidsniveau van het gegevensbestand terugkeren te verstrekken de achterwaartse verenigbaarheid aan ouderwets toetreedt. sp_dbcmptlevel kunnen de opgeslagen (afgekeurde) procedures of af:handelen-SQL worden gebruikt om bepaald (gedeeltelijk, niet allen) gegevensbestandgedrag compatibel te plaatsen om met de vroegere versie van SQL Server te zijn. Dit Msdn- artikel verstrekt overzicht op welk gedrag op elk verenigbaarheidsniveau zijn veranderd.

De versie van SQL Server die kan zijn teruggekeerd aan kan één van het volgende zijn:

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

Nota: Niveau van de verenigbaarheid 60, 65, en 70 niet meer beschikbaar in SQL Server 2008. En de toekomstige versie van SQL Server zal (2) vroegere versie slechts twee van achterwaartse verenigbaarheid steunen. Een gegevensbestand dat een geïndexeerde= mening bevat kan niet op een verenigbaarheidsniveau worden veranderd lager dan 80. Nemen ook nota dat wanneer een gegevensbestand aan achteruit-verenigbaarheidswijze wordt geplaatst, enkele nieuwe functionaliteit, zoals SQL CLR steun en diagrammen SSMS voor het gegevensbestand kan worden verloren. Naast, beïnvloedt de verenigbaarheidswijze gedrag slechts voor het gespecificeerde gegevensbestand, niet voor de volledige server.

Stappen om het Niveau van de Verenigbaarheid van een Gegevensbestand in SQL Server te veranderen en te bepalen

De volgende SQL bevelen kunnen in SQL het venster van de Vraag van de Studio van het Beheer van de Server worden uitgegeven. Herinner me uit te voeren gaan na elk bevel.

  1. Facultatief: Plaats het gegevensbestand aan de enige wijze van de gebruikerstoegang:

    VERANDER GEGEVENSBESTAND DATABASE_NAME PLAATSEN SINGLE_USER;

  2. Bepaal het niveau van de gegevensbestandverenigbaarheid aan één van de vroegere hierboven verklaarde versie:

    Methode af:handelen-SQL

    VERANDER GEGEVENSBESTAND DATABASE_NAME PLAATSEN COMPATIBILITY_LEVEL = {80 | 90 | 100}

    Bijvoorbeeld,

    VERANDER VASTGESTELD GEGEVENSBESTAND MY_DB COMPATIBILITY_LEVEL = 80

    sp_dbcmptlevel de Opgeslagen Methode van de Procedure

    EXEC sp_dbcmptlevel database_name, compatibility_level waarde;

    Bijvoorbeeld,

    EXEC sp_dbcmptlevel my_db, 90;

  3. Facultatief: Zet het gegevensbestand op toegangswijze voor meerdere gebruikers terug:

    VERANDER GEGEVENSBESTAND DATABASE_NAME PLAATSEN MULTI_USER;

BELANGRIJK: De pagina is door computer vertaald en verstrekt „zoals“ zonder garantie is. De automatische vertaling kan moeilijk zijn te begrijpen. Gelieve te verwijzen naar oorspronkelijk Engels artikel waar mogelijk.


Één Reactie op „hoe te om het Niveau van de Verenigbaarheid voor SQL Server te bepalen het Gegevensbestand van 2008 of van 2005“

  1. Microsoft - SQL Server - Strategieën om de Kwestie van afgekeurde SQL „Daniel Adeniji's Sleep te behandelen
    14 augustus, het 03:17 van 2009
    1

    [...] 7)      Mijn Digitaal Leven. Hoe te om het Niveau van de Verenigbaarheid voor SQL Server te bepalen het Gegevensbestand van 2008 of van 2005.  http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005-.. [...]

Verlaat een Antwoord

U kunt deze markeringen gebruiken: <a href= "" title= "" > <abbr title= "" > <acronym title= "" > <b> <blockquote cite= "" > <cite> <code> <del datetime= "" > <em> <i> <q cite= "" > <strike> <strong>

Teken aan commentareneigenschap in is onbruikbaar gemaakt. Om bericht van recentste geposte commentaren te ontvangen, teken aan Mijn Digitaal Leven het voer of het register van Commentaren in RSS om nieuwe commentaren in dagelijkse e-mailsamenvatting te ontvangen.
Custom Search

Nieuwe Artikelen

De inkomende Termijnen van het Onderzoek voor het Artikel

Niet-ANSI van het vraaggebruik buiten sluit zich aan bij exploitanten („*=“ of „=*“). Om deze vraag zonder wijziging in werking te stellen, bepaal gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 of te verminderen, gebruikend opgeslagen procedure sp_dbcmptlevel. Het wordt sterk geadviseerd om de vraag te herschrijven gebruikend buiten ANSI aansluit zich bij exploitanten (LINKER BUITEN TREEDT toe, JUISTE TREEDT BUITEN toe). In de toekomstige versies van SQL Server, sluit aan niet-ANSI zich bij exploitanten niet zal gesteund worden zelfs op achteruit-verenigbaarheidswijzen. - sql het niveau van de serververenigbaarheid - sql de wijze van de server 2008 verenigbaarheid - sql 2008 verenigbaarheidswijze - sql van het verenigbaarheidsniveau server - SQL verenigbaarheidsniveau - sql verenigbaarheidswijze - Niet-ANSI van het vraaggebruik buiten sluit zich aan bij exploitanten („*=“ of „=*“). Om deze vraag zonder wijziging in werking te stellen, te bepalen gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80, gebruikend de VASTGESTELDE optie COMPATIBILITY_LEVEL van ALTER GEGEVENSBESTAND. Het wordt sterk geadviseerd om de vraag te herschrijven gebruikend buiten ANSI aansluit zich bij exploitanten (LINKER BUITEN TREEDT toe, JUISTE TREEDT BUITEN toe). In de toekomstige versies van SQL Server, sluit aan niet-ANSI zich bij exploitanten niet zal gesteund worden zelfs op achteruit-verenigbaarheidswijzen. - VASTGESTELDE COMPATIBILITY_LEVEL - optie 100 voor verenigbaarheid wordt de wijze niet gesteund - wordt de wijze van de gegevensbestandverenigbaarheid geplaatst aan 90 - sql 2005 verenigbaarheidswijze - sql het niveau van de server 2005 verenigbaarheid - sql 2005 verenigbaarheidsniveau - Niet-ANSI van het vraaggebruik buiten aansluit zich bij exploitanten („*=“ of „=*“). Om deze vraag zonder wijziging in werking te stellen, bepaal gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 of te verminderen, gebruikend opgeslagen procedure sp_dbcmptlevel. Het wordt sterk geadviseerd om de vraag te herschrijven gebruikend buiten ANSI aansluit zich bij exploitanten (LINKER BUITEN TREEDT toe, JUISTE TREEDT BUITEN toe). In de toekomstige versies van SQL Server, sluit aan niet-ANSI zich bij exploitanten niet zal gesteund worden zelfs op achteruit-verenigbaarheidswijzen - allen - sql 2008 verenigbaarheidsniveau - het niveau van de gegevensbestandverenigbaarheid - sql verenigbaarheidswijze 80 - sql 2008 verenigbaarheid - sql server 2008 achterwaartse verenigbaarheid - de reeks compatibility_level optie van verandert gegevensbestand - sql de wijze van de serververenigbaarheid - hoe te om verenigbaarheidsniveau in sql server 2005 te bepalen - „Optie 100 want de verenigbaarheidswijze geen gesteunde“ - vastgesteld verenigbaarheidsniveau sql 2005 - compatibility_level sql server - sql het niveau van de server 2008 verenigbaarheid - is om deze vraag zonder wijziging in werking te stellen, gelieve te verminderen bepaalde het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 of, gebruikend opgeslagen procedure sp_dbcmptlevel. Het wordt sterk geadviseerd om de vraag te herschrijven gebruikend buiten ANSI aansluit zich bij exploitanten (LINKER BUITEN TREEDT toe, JUISTE TREEDT BUITEN toe). In de toekomstige versies van SQL Server, sluit aan niet-ANSI zich bij exploitanten niet zal gesteund worden zelfs op achteruit-verenigbaarheidswijzen. - sql de de verenigbaarheidswijze van server 2008 2005 - sql van het verenigbaarheidsniveau server 2008 - Niet-ANSI van het vraaggebruik buiten sluit zich aan bij exploitanten („*=“ of „=*“). Om deze vraag zonder wijziging in werking te stellen, bepaal gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 of te verminderen, gebruikend opgeslagen procedure sp_dbcmptlevel. Het wordt sterk geadviseerd om de vraag te herschrijven gebruikend buiten ANSI aansluit zich bij exploitanten (LINKER BUITEN TREEDT toe, JUISTE TREEDT BUITEN toe). In de toekomstige versies van SQL Server, sluit aan niet-ANSI zich bij exploitanten niet zal gesteund worden zelfs op achteruit-verenigbaarheidswijzen. - veranderingssql het niveau van de serververenigbaarheid - Niet-ANSI van het vraaggebruik buiten sluit zich aan bij exploitanten („*=“ of „=*“). Om deze vraag zonder wijziging in werking te stellen, bepaal gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 of te verminderen, gebruikend opgeslagen procedure sp_dbcmptlevel. Het wordt sterk geadviseerd om de vraag - sql server 2008 verenigbaarheid te herschrijven - sql wijze 80 van de server 2008 verenigbaarheid - sql niveau van de server het vastgestelde verenigbaarheid - sql de niveaus van de serververenigbaarheid - BEPAAL GELIEVE het NIVEAU van de VERENIGBAARHEID VOOR HUIDIG GEGEVENSBESTAND AAN 80 OF te verminderen - om deze vraag zonder wijziging in werking te stellen, te bepalen gelieve het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 - sql compatibel systeem 6.5 7 van de bevelverandering - het verenigbaarheidsniveau voor huidig gegevensbestand aan 80 gelieve te bepalen - sql het niveau van servercompatability - verenigbaarheidsniveau - SQL server 7.0 verenigbaarheid - sql achterwaartse verenigbaarheid met 2008 - SQL van de verenigbaarheidswijze server 2008 - verenigbaarheidsWIJZE 100 IN SQL OB van de SERVER 2008 - SQLSERVER verenigbaarheidsniveau - sql plaats verenigbaarheidswijze -