Mengatur atau mengubah kolase server

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Kolase server bertindak sebagai kolase default untuk semua database sistem yang diinstal dengan instans SQL Server, dan juga database pengguna yang baru dibuat.

Anda harus mempertimbangkan kolamen tingkat server dengan hati-hati, karena dapat memengaruhi:

  • Aturan pengurutan dan perbandingan di =, JOIN, ORDER BY dan operator lain yang membandingkan data tekstual.
  • Kolate CHARkolom , , NCHARVARCHAR, dan NVARCHAR dalam tampilan sistem, fungsi sistem, dan objek di tempdb (misalnya, tabel sementara).
  • Nama variabel, kursor, dan GOTO label. Misalnya, variabel @pi dan @PI dianggap sebagai variabel yang berbeda jika kolase tingkat server peka huruf besar/kecil, dan variabel yang sama jika kolase tingkat server tidak peka huruf besar/kecil.

Kolase server di SQL Server

Kolase server ditentukan selama penginstalan SQL Server. Kolaborasi tingkat server default didasarkan pada lokal sistem operasi.

Misalnya, kolatasi default untuk sistem yang menggunakan Bahasa Inggris AS (id-ID) adalah SQL_Latin1_General_CP1_CI_AS. Untuk informasi selengkapnya, termasuk daftar lokal OS ke pemetaan kolaborasi default, lihat bagian "Kolaborasi tingkat server" dari Collation dan Unicode Support.

Catatan

Kolase tingkat server untuk SQL Server Express LocalDB SQL_Latin1_General_CP1_CI_AS dan tidak dapat diubah, baik selama atau setelah penginstalan.

Mengubah kolase server di SQL Server

Mengubah kolase default untuk instans SQL Server dapat menjadi operasi yang kompleks.

Catatan

Alih-alih mengubah kolase default instans SQL Server, Anda dapat menentukan kolase default untuk setiap database baru yang Anda buat melalui COLLATE klausa CREATE DATABASE pernyataan dan ALTER DATABASE . Untuk informasi selengkapnya, lihat Mengatur atau Mengubah Kolase Database.

Mengubah kolatasi instans melibatkan langkah-langkah berikut:

  • Pastikan Anda memiliki semua informasi atau skrip yang diperlukan untuk membuat ulang database pengguna Anda dan semua objek di dalamnya.

  • Ekspor semua data Anda menggunakan alat seperti Utilitas bcp. Untuk informasi selengkapnya, lihat Impor dan Ekspor Data Massal (SQL Server).

  • Hilangkan semua database pengguna.

  • Bangun ulang database yang master menentukan kolatasi baru di SQLCOLLATION properti setup perintah . Contohnya:

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
    /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ]
    /SQLCOLLATION=CollationName  
    

    Untuk informasi selengkapnya, lihat Membangun Kembali Database Sistem.

  • Buat semua database dan semua objek di dalamnya.

  • Impor semua data Anda.

Mengatur kolase server di Azure SQL Managed Instance

Kolase tingkat server di Azure SQL Managed Instance dapat ditentukan saat instans dibuat dan tidak dapat diubah nanti. Anda dapat mengatur kolase tingkat server melalui templat portal Azure atau PowerShell dan Resource Manager saat Anda membuat instans. Kolatasi tingkat server default adalah SQL_Latin1_General_CP1_CI_AS.

Jika Anda memigrasikan database dari SQL Server ke Azure SQL Managed Instance, periksa kolase server di SQL Server sumber menggunakan SERVERPROPERTY(N'Collation') fungsi dan buat instans terkelola yang cocok dengan kolase SQL Server Anda. Memigrasikan database dari SQL Server ke SQL Managed Instance dengan kolase tingkat server yang tidak cocok dapat menyebabkan beberapa kesalahan tak terduga dalam kueri. Anda tidak dapat mengubah kolater tingkat server pada instans terkelola yang ada.

Kolase di Azure SQL Database

Anda tidak dapat mengubah atau mengatur kolase server logis di Azure SQL Database, tetapi dapat mengonfigurasi kolase setiap database baik untuk data maupun untuk katalog. Kolase katalog menentukan kolase untuk metadata sistem, seperti pengidentifikasi objek. Kedua kolase dapat ditentukan secara independen saat Anda membuat database di portal Azure, di T-SQL dengan CREATE DATABASE, di PowerShell dengan New-AzSqlDatabase.