Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

2 Möglichkeiten zum Abrufen der Standardsprache einer Anmeldung in SQL Server (T-SQL)

Es gibt (mindestens) ein paar Möglichkeiten, wie Sie T-SQL verwenden können, um die Standardsprache einer bestimmten Anmeldung in SQL Server zurückzugeben.

Insbesondere können Sie die folgenden Methoden verwenden:

  • Fragen Sie LOGINPROPERTY() ab Funktion.
  • Fragen Sie sys.server_principals ab Systemkatalogansicht im master Datenbank.

Beispiele dafür finden Sie unten.

Die LOGINPROPERTY() Funktion

Die LOGINPROPERTY() -Funktion erfordert einen Anmeldenamen und eine Eigenschaft, die ihr als Argumente übergeben werden. Es erzeugt dann sein Ergebnis basierend auf diesen Argumenten.

Hier ist ein Beispiel.

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

Ergebnis:

us_english

Die sys.server_principals Anzeigen

Alternativ können Sie sys.server_principals verwenden Systemkatalogansicht.

Diese Ansicht gibt mehr Spalten zurück, als wir benötigen, sodass wir angeben können, welche Spalten zurückgegeben werden sollen.

Wir sollten auch das Login angeben, das wir zurückgeben möchten, sonst erhalten wir alle Logins (obwohl daran nichts auszusetzen ist, wenn Sie das tun müssen).

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

Ergebnis:

us_english

Ein Vorteil bei der Verwendung dieser Ansicht ist, dass es einfach ist, andere Spalten einzuschließen, wie z. B. den Standarddatenbanknamen usw.

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

Ergebnis:

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