Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

2 modi per ottenere la lingua predefinita di un accesso in SQL Server (T-SQL)

Esistono (almeno) un paio di modi in cui puoi usare T-SQL per restituire la lingua predefinita di un account di accesso specificato in SQL Server.

In particolare, puoi utilizzare i seguenti metodi:

  • Chiedi a LOGINPROPERTY() funzione.
  • Interroga sys.server_principals vista del catalogo di sistema nel master banca dati.

Di seguito sono riportati alcuni esempi.

Il LOGINPROPERTY() Funzione

Il LOGINPROPERTY() La funzione richiede un nome di accesso e una proprietà da passare come argomenti. Quindi produce il suo risultato sulla base di tali argomenti.

Ecco un esempio.

SELECT LOGINPROPERTY('Bart', 'DefaultLanguage');

Risultato:

us_english

Il sys.server_principals Visualizza

Un modo alternativo per farlo è usare sys.server_principals vista del catalogo di sistema.

Questa vista restituisce più colonne di quelle di cui abbiamo bisogno, quindi possiamo specificare quali colonne vogliamo che vengano restituite.

Dovremmo anche specificare l'accesso che vogliamo restituire, altrimenti otterremo tutti gli accessi (anche se non c'è niente di sbagliato in questo, se è quello che devi fare).

SELECT 
    default_language_name 
FROM master.sys.server_principals
WHERE name = 'Bart';

Risultato:

us_english

Uno dei vantaggi dell'utilizzo di questa visualizzazione è che è facile includere altre colonne, come il nome del database predefinito, ecc.

SELECT 
    type_desc,
    default_database_name,
    default_language_name 
FROM master.sys.server_principals
WHERE name = 'Bart';

Risultato:

+-------------+-------------------------+-------------------------+
 | type_desc   | default_database_name   | default_language_name   |
 |-------------+-------------------------+-------------------------|
 | SQL_LOGIN   | master                  | us_english              |
 +-------------+-------------------------+-------------------------+