How to Set Compatibility Level for SQL Server 2008 or 2005 Database Slik angir Kompatibilitet Nivå 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 velger data eller utføre søket på Microosft SQL Server 2008 eller SQL Server 2005-database, kan følgende feilmelding eller feil 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] Søkeprefikset bruker ikke-ANSI ytre delta 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 kjøre dette søket uten endringer, kan du angi kompatibilitetsflagget for gjeldende database til 80 ved hjelp av SET COMPATIBILITY_LEVEL muligheten til ALTER DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales sterkt å skrive om søket ved hjelp av ANSI ytre delta operatører (venstre Ytre bli med, HØYRE Ytre bli med). In the future versions I fremtidige versjoner
of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. SQL Server, ikke-ANSI bli operatører vil ikke bli støttet, selv i tilbakeberegnes kompatibilitet moduser.
or, eller,
Msg 4147, Level 15, State 1, Line 3 Msg 4147, Level 15, State 1, Linje 3
The query uses non-ANSI outer join operators (”*=” or “=*”). Søkeprefikset bruker ikke-ANSI ytre delta 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 kjøre dette søket uten endringer, kan du angi kompatibilitetsflagget for gjeldende database til 80 eller lavere, bruker lagret prosedyre sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Det anbefales sterkt å skrive om søket ved hjelp av ANSI ytre delta operatører (venstre Ytre bli med, HØYRE Ytre bli med). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. I fremtidige versjoner av SQL Server, ikke-ANSI bli operatører vil ikke bli støttet, selv i tilbakeberegnes kompatibilitet moduser.
The error happens because Microsoft has dropped support for and eliminated old-style *= and =* outer join operators. Feilen skjer fordi Microsoft har kuttet støtten til og fjernet gammel stil *= og =* ytre delta 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 å løse SQL Server feil ovenfor, DB har å stille databasen kompatibilitet nivå til 80, som tilsvarer 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. Selvfølgelig den beste løsningen er å endre SQL-setninger eller forespørsler kode for å fjerne gammel stil med operatører med gjeldende standard SQL delta syntaks.
For example, SQL query below is not valid: For eksempel SQL-spørring 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 må byttes ut 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 indre delta utsagn:
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. For administrator som ikke kan endre koden, den enkleste løsningen er å gå kompatibilitetsflagget nivå i databasen for å kunne tilby bakoverkompatibilitet med gamle stil tiltrer. 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 prosedyrer (deprecated) eller transact-SQL kan brukes til å sette visse (delvis, ikke alle) database virkemåtene å være kompatibel med tidligere versjoner av SQL Server. This Dette MSDN article MSDN artikkelen provides overview on what behaviors are changed on each compatibility level. gir oversikt over hva atferd er endret på hver kompatibilitet nivå.
Version of SQL Server that can be reverted to can be one of the following: Versjonen av SQL Server som kan bli erstattet kan være ett av 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. Merk: Compatibility level 60, 65 og 70 ikke lenger er tilgjengelig i SQL Server 2008. And future version of SQL Server will support only two (2) prior version of backward compatibility. Og fremtidige versjoner av SQL Server støtter kun to (2) tidligere versjon av bakoverkompatibilitet. A database containing an indexed view cannot be changed to a compatibility level lower than 80. En database som inneholder en indeksert visning kan ikke endres til en kompatibilitet nivå lavere enn 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å ta oppmerksom på at når en database er satt til tilbakeberegnes kompatibilitetsmodus, noen av de nye funksjonene kan gå tapt, for eksempel 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. Foruten den kompatibilitetsmodus påvirker atferd kun for den angitte databasen, ikke for hele serveren.
Steps to Change and Set Compatibility Level of A Database in SQL Server Fremgangsmåten for å endre og Set Kompatibilitet Nivå av en database i SQL Server
The following SQL commands can be issued in SQL Server Management Studio Query window. Følgende SQL-kommandoer kan bli utstedt i SQL Server Management Studio Query vinduet. Remember to execute Go after each command. Husk å kjøre Go etter hver kommando.
- Optional: Set the database to single user access mode: Valgfritt: Angi databasen til enkelt bruker tilgang modus:
ALTER DATABASE database_name SET SINGLE_USER; - Set the database compatibility level to one of the earlier version stated above: Angi database kompatibilitet nivå til en av de tidligere versjon nevnt ovenfor:
Transact-SQL Method Transact-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;
- Optional: Put back the database in multiuser access mode: Valgfritt: Sett av database i flerbrukerferdigheter tilgang modus:
ALTER DATABASE database_name SET MULTI_USER;
IMPORTANT : The page is machine translated and provided "as is" without warranty. VIKTIG: Siden er maskinen oversatt og tilgjengelig "som er" uten garanti. Machine translation may be difficult to understand. Maskinen oversettelse kan være vanskelig å forstå. Please refer to Vennligst henvis til original English article original engelsk artikkel whenever possible. når det er mulig.
Related Articles Relaterte artikler
- Uninstall and Remove Multiple Database Instances of Microsoft SQL Server 2005 Avinstaller og fjerne flere Database forekomster av Microsoft SQL Server 2005
- Microsoft DreamSpack Offers Free Download and License of Visual Studio 2008, Server 2003, SQL Server 2005 and More Microsoft DreamSpack tilbyr gratis nedlasting og lisens av Visual Studio 2008, Server 2003, SQL Server 2005 og Flere
- Optimize SQL Server 2000, 2005 or 2008 in Large RAM System by Locking Pages in Memory and AWE Optimere SQL Server 2000, 2005 eller 2008 i Stor RAM System ved å låse sider i minnet og AWE
- Download Update for Windows 7 and Server 2008 R2 Beta (KB967062) to Fix Common Application Compatibility Issue Last ned oppdateringen for Windows 7 og Server 2008 R2 Beta (KB967062) for å løse felles Application Compatibility Issue
- Error Has Occurred While Establishing A Connection To SQL Server 2005 Which Does Not Allow Local and Remote Connections Det har oppstått Mens etablere en tilkobling til SQL Server 2005 Hvilke ikke tillater lokale og eksterne tilkoblinger
- Microsoft Virtual Server 2005 R2 Download Available for Free Microsoft Virtual Server 2005 R2 Dataoverføre tilgjengelig gratis
- Check System Compatibility Via Microsoft New Application Compatibility Toolkit Version 5.5 Check System Compatibility Via Microsoft New Application Compatibility Toolkit versjon 5.5
- Microsoft Virtual Server 2005 R2 SP1 (Enterprise Edition) Direct Download Links Microsoft Virtual Server 2005 R2 SP1 (Enterprise Edition) Direct Download Links
- Change Oracle Database User Password Endre Oracle Database Bruker Passord
- Internet Explorer (IE) Hang When Opening Virtual Server 2005 Web Administration Site Internet Explorer (IE) Hang Når Åpning Virtual Server 2005 Web Administration Site










































August 14th, 2009 03:17 14 august 2009 03:17
[...] 7) My Digital Life. [...] 7) My Digital Life. How to Set Compatibility Level for SQL Server 2008 or 2005 Database. Slik angir Kompatibilitet Nivå for SQL Server 2008 eller 2005 Database. http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005-.. http://www.mydigitallife.info/2009/05/17/how-to-set-compatibility-level-for-sql-server-2008-or-2005- .. . . [...] [...]