How to Set Compatibility Level for SQL Server 2008 or 2005 Database Bagaimana ke Tetapkan Kompatibilitas Tingkat untuk SQL Server 2008 atau 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: Bila memilih data atau melakukan permintaan Microosft pada SQL Server 2008 atau SQL Server 2005 database, berikut pesan error atau tidak dapat dikembalikan:

[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] Permintaan menggunakan non-ANSI ("*=" operator luar bergabung atau "=*"). 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. Untuk menjalankan permintaan ini tanpa modifikasi, silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80, menggunakan SET COMPATIBILITY_LEVEL pilihan untuk merubah DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Sangat dianjurkan untuk menggunakan penulisan ulang permintaan bergabung ANSI operator luar (Outer LEFT JOIN, RIGHT JOIN Outer). In the future versions Di masa mendatang versi
of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. dari SQL Server, non-ANSI bergabung operator tidak akan didukung bahkan di kompatibilitas ke belakang-mode.


or, atau,

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 “=*”). Permintaan menggunakan non-ANSI ("*=" operator luar bergabung atau "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Untuk menjalankan permintaan ini tanpa modifikasi, silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80 atau lebih rendah, dengan menggunakan prosedur yang tersimpan sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Sangat dianjurkan untuk menggunakan penulisan ulang permintaan bergabung ANSI operator luar (Outer LEFT JOIN, RIGHT JOIN Outer). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. Di masa mendatang versi SQL Server, non-ANSI bergabung operator tidak akan didukung bahkan di kompatibilitas ke belakang-mode.

The error happens because Microsoft has dropped support for and eliminated old-style *= and =* outer join operators. Kesalahan yang terjadi karena Microsoft telah menurun dan dukungan untuk dihapuskan lama-gaya *= =* luar dan bergabung operator.

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. Untuk memperbaiki kesalahan di atas SQL Server, DB Administrator telah menetapkan database tingkat kompatibilitas ke 80, yang setara dengan SQL Server 2000 sebagai Workaround sementara. 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. Tentu saja, solusi yang terbaik adalah untuk mengubah atau query SQL pernyataan kode untuk menghapus gaya lama bergabung dengan operator sekarang bergabung sintaks standar SQL.

For example, SQL query below is not valid: Misalnya, SQL query di bawah ini tidak valid:

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: Dan harus diganti dengan kode berikut:

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: Atau disingkat batin berikut bergabung Pernyataan:

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. Untuk administrator yang tidak dapat mengubah kode Workaround termudah adalah untuk mengembalikan tingkat kompatibilitas database untuk menyediakan kompatibilitas mundur untuk bergabung dengan gaya lama. 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 disimpan prosedur (usang) atau transact-SQL dapat digunakan untuk menetapkan tertentu (sebagian, tidak semua) database perilaku agar kompatibel dengan versi SQL Server. This Ini MSDN article MSDN artikel provides overview on what behaviors are changed on each compatibility level. memberikan gambaran umum tentang perilaku apa yang berubah pada setiap tingkat kompatibilitas.

Version of SQL Server that can be reverted to can be one of the following: Versi SQL Server yang dapat dikembalikan untuk dapat menjadi salah satu berikut ini:

60 = SQL Server 6.0 60 = SQL Server 6,0
65 = SQL Server 6.5 65 = 6,5 SQL Server
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. Catatan: Kompatibilitas tingkat 60, 65, dan 70 tidak lagi tersedia dalam SQL Server 2008. And future version of SQL Server will support only two (2) prior version of backward compatibility. Dan masa depan versi SQL Server akan mendukung hanya dua (2) sebelum versi kompatibilitas ke belakang. A database containing an indexed view cannot be changed to a compatibility level lower than 80. J berisi data yang diindeks melihat tidak dapat diubah ke tingkat kompatibilitas yang lebih rendah dari 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. Apakah juga akan diketahui bahwa bila database diatur ke modus backward-kompatibilitas, beberapa fungsi baru bisa hilang, seperti SQL CLR SSMS dukungan dan diagram untuk database. Beside, the compatibility mode affects behaviors only for the specified database, not for the entire server. Disamping, kompatibilitas modus mempengaruhi perilaku hanya untuk ditentukan database, tidak untuk seluruh server.

Steps to Change and Set Compatibility Level of A Database in SQL Server Langkah-langkah untuk Perubahan dan Tetapkan Kompatibilitas Tingkat J Database di SQL Server

The following SQL commands can be issued in SQL Server Management Studio Query window. Perintah SQL berikut ini dapat dikeluarkan di SQL Server Management Studio Permintaan jendela. Remember to execute Go after each command. Jangan lupa untuk menjalankan perintah Menuju setelah masing-masing.

  1. Optional: Set the database to single user access mode: Opsional: Atur database untuk satu user mengakses mode:

    ALTER DATABASE database_name SET SINGLE_USER;

  2. Set the database compatibility level to one of the earlier version stated above: Mengatur database tingkat kompatibilitas ke salah satu versi di atas:

    Transact-SQL Method Metode transact-SQL

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

    For example, Misalnya,

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

    sp_dbcmptlevel Stored Procedure Method Metode sp_dbcmptlevel Stored Prosedur

    EXEC sp_dbcmptlevel database_name, compatibility_level value;

    For example, Misalnya,

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

  3. Optional: Put back the database in multiuser access mode: Opsional: Pasang kembali database dalam mode multiuser akses:

    ALTER DATABASE database_name SET MULTI_USER;

IMPORTANT : The page is machine translated and provided "as is" without warranty. PENTING: Halaman yang diterjemahkan mesin dan diberikan "sebagaimana adanya" tanpa jaminan. Machine translation may be difficult to understand. Mesin terjemahan mungkin sulit dimengerti. Please refer to Silakan merujuk ke original English article artikel asli Inggris whenever possible. bila memungkinkan.


Leave a Reply Meninggalkan Balas

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> Anda dapat menggunakan tag ini: <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. Berlangganan ke fitur komentar telah dinonaktifkan. To receive notification of latest comments posted, subscribe to Untuk menerima pemberitahuan komentar diposting terbaru, berlangganan My Digital Life Comments RSS feed Saya Digital Life Komentar RSS feed or atau register to receive mendaftar untuk menerima new comments in daily email digest. komentar baru di email harian digest.
Custom Search

New Articles Artikel Baru

Incoming Search Terms for the Article Cari Syarat masuk untuk Artikel

The query uses non-ANSI outer join operators ("*=" or "=*"). Permintaan menggunakan non-ANSI ("*=" operator luar bergabung atau "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Untuk menjalankan permintaan ini tanpa modifikasi, silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80 atau lebih rendah, dengan menggunakan prosedur yang tersimpan sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Sangat dianjurkan untuk menggunakan penulisan ulang permintaan bergabung ANSI operator luar (Outer LEFT JOIN, RIGHT JOIN Outer). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. Di masa mendatang versi SQL Server, non-ANSI bergabung operator tidak akan didukung bahkan di kompatibilitas ke belakang-mode. - -- sql server 2008 compatibility mode sql server 2008 compatibility mode - -- sql server compatibility level sql server tingkat kompatibilitas - -- SQL compatibility level SQL kompatibilitas tingkat - -- sql compatibility mode Modus kompatibilitas sql - -- The query uses non-ANSI outer join operators ("*=" or "=*"). Permintaan menggunakan non-ANSI ("*=" operator luar bergabung atau "=*"). 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. Untuk menjalankan permintaan ini tanpa modifikasi, silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80, menggunakan SET COMPATIBILITY_LEVEL pilihan untuk merubah DATABASE. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Sangat dianjurkan untuk menggunakan penulisan ulang permintaan bergabung ANSI operator luar (Outer LEFT JOIN, RIGHT JOIN Outer). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. Di masa mendatang versi SQL Server, non-ANSI bergabung operator tidak akan didukung bahkan di kompatibilitas ke belakang-mode. - -- sql 2008 compatibility mode Modus kompatibilitas sql 2008 - -- compatibility level sql server tingkat kompatibilitas sql server - -- database compatibility mode is set to 90 database kompatibilitas modus diatur ke 90 - -- sql 2005 compatibility mode Modus kompatibilitas sql 2005 - -- SET COMPATIBILITY_LEVEL SET COMPATIBILITY_LEVEL - -- sql 2005 compatibility level sql 2005 tingkat kompatibilitas - -- sql server set compatibility level sql server mengatur tingkat kompatibilitas - -- "The option 100 for compatibility mode is not supported" "Opsi 100 untuk kompatibilitas modus tidak didukung" - -- sql server 2008 compatibility sql server 2008 kompatibilitas - -- sql server 2008 2005 compatibility mode sql server 2008 2005 compatibility mode - -- sql backward compatibility with 2008 sql kompatibilitas ke belakang dengan 2008 - -- sql server 2008 2005 mode sql server 2008 2005 modus - -- database compatibility level database kompatibilitas tingkat - -- please set the compatibility level for current database to 80 silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80 - -- set compatibility_level option of alter database compatibility_level menetapkan pilihan untuk mengubah database - -- sql compatibility mode 80 sql kompatibilitas modus 80 - -- compatibility level sqlserver tingkat kompatibilitas sqlserver - -- sql server 2008 compatibility level sql server 2008 tingkat kompatibilitas - -- To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Untuk menjalankan permintaan ini tanpa modifikasi, silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80 atau lebih rendah, dengan menggunakan prosedur yang tersimpan sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Sangat dianjurkan untuk menggunakan penulisan ulang permintaan bergabung ANSI operator luar (Outer LEFT JOIN, RIGHT JOIN Outer). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. Di masa mendatang versi SQL Server, non-ANSI bergabung operator tidak akan didukung bahkan di kompatibilitas ke belakang-mode. - -- sql server 2005 compatibility level sql server 2005 tingkat kompatibilitas - -- compatibility level sql server 2008 tingkat kompatibilitas sql server 2008 - -- how to set compatibility level in sql server 2005 cara menetapkan tingkat kompatibilitas di sql server 2005 - -- Setting database option COMPATIBILITY_LEVEL to 100 for database Pengaturan database pilihan COMPATIBILITY_LEVEL ke 100 untuk database - -- sql server compatibility levels sql server tingkat kompatibilitas - -- PLEASE SET THE COMPATIBILITY LEVEL FOR CURRENT DATABASE TO 80 OR lower PLEASE SET kompatibilitas CURRENT DATABASE UNTUK TINGKAT KE 80 ATAU rendah - -- To run this query without modification, please set the compatibility level for current database to 80 Untuk menjalankan permintaan ini tanpa modifikasi, silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80 - -- check compatibility level in sql server 2008 memeriksa kompatibilitas tingkat di sql server 2008 - -- sql serveer 2005 SET COMPATIBILITY_LEVEL sql serveer 2005 SET COMPATIBILITY_LEVEL - -- how to set cara menetapkan - -- set compatibility level sql 2005 menetapkan tingkat kompatibilitas sql 2005 - -- sql command change compatible 6.5 7 perintah sql mengubah kompatibel 6,5 7 - -- compatibility level sql tingkat kompatibilitas sql - -- set the compatibility level for current database to 80 or lower mengatur tingkat kompatibilitas database untuk saat ini ke 80 atau lebih rendah - -- setting database option compatibility_level to 100 for database Pengaturan database pilihan compatibility_level ke 100 untuk database - -- the option 100 for compatibility mode is not supported pilihan 100 untuk kompatibilitas modus tidak didukung - -- sql 2008 compatibility sql 2008 kompatibilitas - -- MS SQL 2008 server to run SQL 2005 database compatibility mode MS SQL Server 2008 untuk menjalankan SQL 2005 database kompatibilitas modus - -- Set Compatbilty Mode SQl Set Compatbilty Mode SQL - -- sql server 2008 compatibility 2005 sql server 2008 kompatibilitasnya 2005 - -- SET COMPATIBILITY_LEVEL sql 2005 SET COMPATIBILITY_LEVEL sql 2005 - -- compatibility level tingkat kompatibilitas - -- The query uses non-ANSI outer join operators ("*=" or "=*"). Permintaan menggunakan non-ANSI ("*=" operator luar bergabung atau "=*"). To run this query without modification, please set the compatibility level for current database to 80 or lower, using stored procedure sp_dbcmptlevel. Untuk menjalankan permintaan ini tanpa modifikasi, silahkan mengatur tingkat kompatibilitas database untuk saat ini ke 80 atau lebih rendah, dengan menggunakan prosedur yang tersimpan sp_dbcmptlevel. It is strongly recommended to rewrite the query using ANSI outer join operators (LEFT OUTER JOIN, RIGHT OUTER JOIN). Sangat dianjurkan untuk menggunakan penulisan ulang permintaan bergabung ANSI operator luar (Outer LEFT JOIN, RIGHT JOIN Outer). In the future versions of SQL Server, non-ANSI join operators will not be supported even in backward-compatibility modes. Di masa mendatang versi SQL Server, non-ANSI bergabung operator tidak akan didukung bahkan di kompatibilitas ke belakang-mode. - -- how to set the sql server compatibility level cara untuk mengatur tingkat kompatibilitas sql server - -- ms sql compatibility level ms sql tingkat kompatibilitas - --