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 immaster
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 | +-------------+-------------------------+-------------------------+