Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Menemukan Bahasa Default Pengguna di SQL Server (T-SQL)

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).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IDENT_CURRENT vs @@IDENTITY vs SCOPE_IDENTITY di SQL Server:Apa Perbedaannya?

  2. Cara Membuat Kunci Asing Komposit di SQL Server (Contoh T-SQL)

  3. Ekspresi Reguler MSSQL

  4. Melarikan diri dari kutipan tunggal di SQL Server

  5. Pilih dan Edit Blok Vertikal di SQL Server Management Studio ( SSMS) - Tutorial SQL Server / TSQL Bagian 9