Di SQL Server, Anda dapat mengetahui bahasa default untuk pengguna tertentu dengan menanyakan sys.server_principals tampilan katalog sistem.
Tampilan ini berisi baris untuk setiap prinsipal tingkat server. Ini berisi informasi seperti nama prinsipal, jenis, tanggal pembuatan/perubahan, database default, bahasa default, dll. Prinsipal adalah entitas yang dapat meminta sumber daya SQL Server.
Seorang kepala sekolah dapat menjadi salah satu dari berikut ini:
Kepala sekolah tingkat Windows
- Login Domain Windows
- Login Lokal Windows
Prinsip tingkat SQL Server
- Masuk SQL Server
Kepala sekolah tingkat basis data
- Pengguna Basis Data
- Peran Basis Data
- Peran Aplikasi
Contoh Mengembalikan Bahasa Bawaan Kepala Sekolah
Untuk mendapatkan bahasa default untuk prinsip tertentu, Anda dapat menanyakan sys.server_principals lihat dan gunakan WHERE klausa untuk nama utama yang Anda minati.
Seperti ini:
SELECT
type_desc,
default_database_name,
default_language_name
FROM master.sys.server_principals
WHERE name = 'sa'; Hasil:
+-------------+-------------------------+-------------------------+ | type_desc | default_database_name | default_language_name | |-------------+-------------------------+-------------------------| | SQL_LOGIN | master | us_english | +-------------+-------------------------+-------------------------+
Contoh ini mendapatkan bahasa default untuk sa Kepala Sekolah. Nama utama adalah unik di dalam server. Contoh ini juga mengembalikan database default serta tipe utama. Dalam hal ini prinsipnya adalah Login SQL Server.
Berikut contoh lain menggunakan pengguna yang berbeda:
SELECT
type_desc,
default_database_name,
default_language_name
FROM master.sys.server_principals
WHERE name = 'Bach'; Hasil:
+-------------+-------------------------+-------------------------+ | type_desc | default_database_name | default_language_name | |-------------+-------------------------+-------------------------| | SQL_LOGIN | Music | German | +-------------+-------------------------+-------------------------+
Dalam hal ini, login memiliki database dan bahasa default yang berbeda.
Tentu saja, Anda selalu dapat menggunakan tanda bintang untuk menampilkan semua kolom jika diperlukan.
Perhatikan bahwa setiap login dapat melihat nama loginnya sendiri, login sistem, dan peran server tetap. Untuk melihat login lain, perlu ALTER ANY LOGIN , atau izin masuk. Untuk melihat peran server yang ditentukan pengguna, memerlukan ALTER ANY SERVER ROLE , atau keanggotaan dalam peran.
Bahasa Default vs Bahasa Saat Ini
Dalam kebanyakan kasus, bahasa pengguna saat ini untuk sesi mereka akan menjadi bahasa default mereka. Namun hal ini tidak selalu terjadi, karena pengguna dapat mengubah bahasa saat ini dengan menggunakan SET LANGUAGE penyataan. Ini akan mengubah bahasa untuk sesi saat ini, tetapi bahasa default mereka akan tetap apa pun itu.
Untuk mengetahui lebih lanjut, lihat Cara Menyetel Bahasa Saat Ini di SQL Server (T-SQL) dan 3 Cara untuk Mendapatkan Bahasa Sesi Saat Ini di SQL Server (T-SQL).