How to Set Compatibility Level for SQL Server 2008 or 2005 Database Sådan Set Forenelighed Niveau for SQL Server 2008 eller 2005 Database

When selecting data or performing query on Microosft SQL Server 2008 or SQL Server 2005 database, the following error message or failure may be returned: Når du vælger data eller udføre forespørgslen om Microosft SQL Server 2008 eller SQL Server 2005-database, kan følgende fejlmeddelelse eller fiasko kan returneres:

[Microsoft][ODBC SQL Server Driver][SQL Server][Msg 4147, Level 15, State 1, Line 4] The query uses non-ANSI outer join operators (”*=” or “=*”). [Microsoft] [ODBC SQL Server Driver] [SQL Server] [Msg 4147, Level 15, State 1, Line 4] Forespørgslen bruger ikke-ANSI ydre slutte operatører ("*=" eller "=*"). To run this query without modification, please set the compatibility level for current database to 80, using the SET COMPATIBILITY_LEVEL option of ALTER DATABASE. Hvis du vil køre denne søgning uden ændringer, skal du indstille kompatibilitet plan for nuværende database til 80, ved hjælp af SET COMPATIBILITY_LEVEL mulighed for ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales kraftigt at omskrive forespørgslen bruger ANSI ydre slutte operatører (LEFT OUTER JOIN, HØJRE OUTER JOIN). In the future versions I fremtidige versioner
of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. af SQL Server, ikke-ANSI slutte erhvervsdrivende ikke vil blive støttet selv i tilbageskuende kompatibilitet transportformer.


or, eller,

Msg 4147, Level 15, State 1, Line 3 Msg 4147, Level 15, State 1, Line 3
The query uses non-ANSI outer join operators (”*=” or “=*”). Forespørgslen bruger ikke-ANSI ydre slutte operatører ("*=" eller "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Hvis du vil køre denne søgning uden ændringer, skal du indstille kompatibilitet plan for nuværende database til 80 eller lavere, ved hjælp af lagret procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales kraftigt at omskrive forespørgslen bruger ANSI ydre slutte operatører (LEFT OUTER JOIN, HØJRE OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. I fremtidige versioner af SQL Server, ikke-ANSI slutte erhvervsdrivende ikke vil blive støttet selv i tilbageskuende kompatibilitet transportformer.

The error happens because Microsoft has dropped support for and eliminated old-style *= and =* outer join operators. Fejlen sker fordi Microsoft har opgivet støtte til og elimineres gammeldags *= og =* ydre slutte operatører.

In order to fix the SQL Server error above, DB administrator has to set the database compatibility level to 80, which equivalent with SQL Server 2000 as a temporary workaround. For at fastsætte den SQL Server-fejl ovenfor, DB administrator har for at indstille database kompatibilitet plan til 80, hvilket svarer med SQL Server 2000 som en midlertidig løsning. Of course, the best solution is to modify the SQL statements or queries code to remove the old-style join operators with current standard SQL join syntax. Naturligvis den bedste løsning er at ændre de SQL-sætninger eller forespørgsler kode til at fjerne den gamle stil slutte operatører med den nuværende standard SQL slutte syntaks.

For example, SQL query below is not valid: For eksempel, SQL forespørgsel nedenfor, er ikke gyldige:

SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id *= v.object_id;

And should be replaced with the following code: Og bør erstattes med følgende kode:

SELECT o.name FROM sys.objects o LEFT JOIN sys.views v ON o.object_id = v.object_id;

Or the following abbreviated inner join statement: Eller følgende forkortet indvendige slutte erklæring:

SELECT o.name FROM sys.objects o, sys.views v WHERE o.object_id = v.object_id;

For administrator who can't change the code, the easiest workaround is to revert the compatibility level of the database in order to provide the backward compatibility to old-style joins. Til administrator, der ikke kan ændre koden, er den letteste løsning er at vende tilbage foreneligheden niveau af databasen for at give bagudkompatible til gammeldags slutter. sp_dbcmptlevel stored procedures (deprecated) or Transact-SQL can be used to set certain (partially, not all) database behaviors to be compatible with the earlier version of SQL Server. sp_dbcmptlevel lagrede procedurer (deprecated) eller handle-SQL kan bruges til at indstille visse (delvis, men ikke alle) database adfærd for at være forenelig med den tidligere version af SQL Server. This Dette MSDN article MSDN artikel provides overview on what behaviors are changed on each compatibility level. giver overblik over, hvad adfærd er ændret på hver kompatibilitet plan.

Version of SQL Server that can be reverted to can be one of the following: Version af SQL Server, der kan vende tilbage til, kan en af følgende:

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

Note: Compatibility level 60, 65, and 70 no longer available in SQL Server 2008. Bemærk: Kompatibilitet plan 60, 65 og 70 ikke længere tilgængelig i SQL Server 2008. And future version of SQL Server will support only two (2) prior version of backward compatibility. Og kommende version af SQL Server vil støtte kun to (2) forudgående udgave af bagudkompatible. A database containing an indexed view cannot be changed to a compatibility level lower than 80. En database, der indeholder en indekseret opfattelse kan man ikke skifte til en kompatibilitetspakke lavere end 80. Do also take note that when a database is set to backward-compatibility mode, some of the new functionalities may be lost, such as SQL CLR support and SSMS diagrams for the database. Må også notere sig, at når en database er sat til tilbageskuende kompatibilitetstilstand, nogle af de nye funktioner kan gå tabt, såsom SQL CLR støtte og SSMS diagrammer for databasen. Beside, the compatibility mode affects behaviors only for the specified database, not for the entire server. Udover, kompatibiliteten tilstand påvirker adfærd kun for den angivne database, ikke for hele serveren.

Steps to Change and Set Compatibility Level of A Database in SQL Server Forandringer og Indstil Forenelighed plan af en database i SQL Server

The following SQL commands can be issued in SQL Server Management Studio Query window. Følgende SQL kommandoer kan udstedes i SQL Server Management Studio Forespørgselsudvidelse vindue. Remember to execute Go after each command. Husk at fuldbyrde Gå efter hver kommando.

  1. Optional: Set the database to single user access mode: Valgfrit: Angiv databasen til enkelt bruger adgang tilstand:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. Set the database compatibility level to one of the earlier version stated above: Indstil database kompatibilitet plan til en af den tidligere version anført ovenfor:

    Transact-SQL Method Handle-SQL Metode

    ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }

    For example, For eksempel,

    ALTER DATABASE my_db SET COMPATIBILITY_LEVEL = 80 ALTER DATABASE my_db SET COMPATIBILITY_LEVEL = 80

    sp_dbcmptlevel Stored Procedure Method sp_dbcmptlevel Stored Procedure Metode

    EXEC sp_dbcmptlevel database_name, compatibility_level value;

    For example, For eksempel,

    EXEC sp_dbcmptlevel my_db, 90; EXEC sp_dbcmptlevel my_db, 90;

  3. Optional: Put back the database in multiuser access mode: Valgfrit: Sæt tilbage databasen i flerbrugersystem adgang tilstand:

    ALTER DATABASE database_name SET MULTI_USER;

IMPORTANT : The page is machine translated and provided "as is" without warranty. VIGTIGT: Den side er maskinen oversat og leveres "som de er" uden garanti. Machine translation may be difficult to understand. Maskinoversættelse kan være vanskeligt at forstå. Please refer to Der henvises til original English article originale engelske artikel whenever possible. når det er muligt.


Leave a Reply Efterlad et svar

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> Du kan bruge disse tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime = ""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to comments feature has been disabled. Abonner på kommentarer funktion er blevet deaktiveret. To receive notification of latest comments posted, subscribe to Til at modtage anmeldelse af nyeste kommentarer indsendt, abonnere på My Digital Life Comments RSS feed My Digital Life Kommentarer RSS-feed or eller register to receive register til at modtage new comments in daily email digest. nye kommentarer i e-mail dagligt digest.
Custom Search

New Articles Nye Artikler

Incoming Search Terms for the Article Indkommende søgeord til artikel

The query uses non-ANSI outer join operators ("*=" or "=*"). Forespørgslen bruger ikke-ANSI ydre slutte operatører ("*=" eller "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Hvis du vil køre denne søgning uden ændringer, skal du indstille kompatibilitet plan for nuværende database til 80 eller lavere, ved hjælp af lagret procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales kraftigt at omskrive forespørgslen bruger ANSI ydre slutte operatører (LEFT OUTER JOIN, HØJRE OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. I fremtidige versioner af SQL Server, ikke-ANSI slutte erhvervsdrivende ikke vil blive støttet selv i tilbageskuende kompatibilitet transportformer. - -- sql server compatibility level SQL Server kompatibilitet plan - -- sql 2005 compatibility mode sql 2005 kompatibilitetstilstand - -- sql server 2008 compatibility mode SQL Server 2008 kompatibilitetstilstand - -- sql server compatibility levels SQL Server kompatibilitet niveauer - -- sql compatibility mode sql kompatibilitetstilstand - -- check compatibility level in sql server 2008 kontrollere kompatibilitet niveau i SQL Server 2008 - -- compatibility level sql server kompatibilitet niveau SQL Server - -- sql serveer 2005 SET COMPATIBILITY_LEVEL sql serveer 2005 SET COMPATIBILITY_LEVEL - -- database compatibility mode is set to 90 database kompatibilitet er indstillet til 90 - -- how to set hvordan du indstiller - -- sql 2005 compatibility level sql 2005 kompatibilitet plan - -- MS SQL 2008 server to run SQL 2005 database compatibility mode MS SQL 2008 server til at køre SQL 2005 database kompatibilitetstilstand - -- SET COMPATIBILITY_LEVEL SET COMPATIBILITY_LEVEL - -- SQLSERVER compatibility level SQLServer kompatibilitet plan - -- SQL compatibility level SQL kompatibilitet plan - -- how to set compatibility level 80 of sql server 2005 hvordan du indstiller kompatibilitet niveau 80 i SQL Server 2005 - -- sql 2000 2005 select compatibility sql 2000 2005 vælg kompatibilitet - -- sql 2008 compatibility level sql 2008 kompatibilitet plan - -- please set the compatibility level for current database to 80,using the set compatibility_level option of alter database. skal du indstille kompatibilitet plan for nuværende database til 80, ved hjælp af det sæt compatibility_level mulighed for at ændre database. - -- set sql server 2008 to 80 sæt SQL Server 2008 til 80 - -- sql server 2008 compatibility SQL Server 2008 kompatibilitet - -- The query uses non-ANSI outer join operators ("*=" or "=*"). Forespørgslen bruger ikke-ANSI ydre slutte operatører ("*=" eller "=*"). To run this query without modification, please set the compatibility level for current database to 80, using the SET COMPATIBILITY_LEVEL option of ALTER DATABASE. Hvis du vil køre denne søgning uden ændringer, skal du indstille kompatibilitet plan for nuværende database til 80, ved hjælp af SET COMPATIBILITY_LEVEL mulighed for ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales kraftigt at omskrive forespørgslen bruger ANSI ydre slutte operatører (LEFT OUTER JOIN, HØJRE OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. I fremtidige versioner af SQL Server, ikke-ANSI slutte erhvervsdrivende ikke vil blive støttet selv i tilbageskuende kompatibilitet transportformer. - -- non-ANSI outer join operators ("*=" or "=*"). ikke-ANSI ydre slutte operatører ("*=" eller "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower Hvis du vil køre denne søgning uden ændringer, skal du indstille kompatibilitet plan for nuværende database til 80 eller lavere - -- changing compatibility level in sql 2008 from 2000 skiftende kompatibilitet niveau i sql 2008 fra 2000 - -- please set the compatibility level for current database to 80 skal du indstille kompatibilitet plan for nuværende database til 80 - -- setting sql compatibility indstilling sql kompatibilitet - -- set compatibility_level option of alter database sæt compatibility_level mulighed for at ændre database - -- set compatibility level using sp_dbcmptlevel sæt kompatibilitet niveau ved hjælp sp_dbcmptlevel - -- non-ansi outer join operators and database compatibility ikke-ANSI ydre slutte operatører og database kompatibilitet - -- set compatibility to 80 on sql server 2008 sæt kompatibilitet til 80 på SQL Server 2008 - -- sql 2008 6.5 compatibility mode sql 2008 6,5 kompatibilitetstilstand - -- The query uses non-ANSI outer join operators ("*=" or "=*"). Forespørgslen bruger ikke-ANSI ydre slutte operatører ("*=" eller "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Hvis du vil køre denne søgning uden ændringer, skal du indstille kompatibilitet plan for nuværende database til 80 eller lavere, ved hjælp af lagret procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales kraftigt at omskrive forespørgslen bruger ANSI ydre slutte operatører (LEFT OUTER JOIN, HØJRE OUTER JOIN). - -- compatibility level sqlserver kompatibilitet niveau SQLServer - -- cpmpatibility level sql 2005 lower 80 cpmpatibility niveau sql 2005 lavere 80 - -- microsoft sql 2005 backward compatibility download Microsoft SQL 2005 bagudkompatible download - -- SQL Server 2008 + IE 6 compatibility SQL Server 2008 + IE 6 kompatibilitet - -- the query uses non-ansi outer join operators. forespørgslen bruger ikke-ANSI ydre slutte operatører. compatibility level for current database to 80 or lower kompatibilitet plan for nuværende database til 80 eller lavere - -- sql server 2005 versus 2008 SQL Server 2005 versus 2008 - -- To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Hvis du vil køre denne søgning uden ændringer, skal du indstille kompatibilitet plan for nuværende database til 80 eller lavere, ved hjælp af lagret procedure sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales kraftigt at omskrive forespørgslen bruger ANSI ydre slutte operatører (LEFT OUTER JOIN, HØJRE OUTER JOIN). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. I fremtidige versioner af SQL Server, ikke-ANSI slutte erhvervsdrivende ikke vil blive støttet selv i tilbageskuende kompatibilitet transportformer. - -- "sql server 2008" compatibility transact sql "SQL Server 2008" kompatibilitet handle sql - -- SQL Server 2008 database in compatibility mode 90 SQL Server 2008 database i kompatibilitetstilstand 90 - -- compatibility setting for SQL SERVER 2008 kompatibilitet indstilling til SQL Server 2008 - -- compatibility mode is set to 90. kompatibilitet er indstillet til 90. JOIN USING JOIN BRUG - -- how to set sql 2005 compatibility mode hvordan du indstiller sql 2005 kompatibilitetstilstand - -- level sql server niveau SQL Server - -- Running 2008 SQL Server Databases in 2005 mode Kørsel 2008 SQL Server-databaser i 2005 mode - -- set sql server multi user mode sæt SQL Server multi-bruger-tilstand - -- sql 2005 set sql 2005 sæt - -- sql server ansi compatibility SQL Server ANSI kompatibilitet - --