Istnieje (przynajmniej) kilka sposobów wykorzystania T-SQL do zwrócenia domyślnego języka określonego loginu w SQL Server.
W szczególności możesz użyć następujących metod:
- Zapytaj
LOGINPROPERTY()
funkcjonować. - Zapytaj
sys.server_principals
widok katalogu systemowego wmaster
baza danych.
Przykłady z nich znajdują się poniżej.
LOGINPROPERTY()
Funkcja
LOGINPROPERTY()
funkcja wymaga podania nazwy użytkownika i właściwości jako argumentów. Następnie przedstawia swój wynik w oparciu o te argumenty.
Oto przykład.
SELECT LOGINPROPERTY('Bart', 'DefaultLanguage');
Wynik:
us_english
sys.server_principals
Zobacz
Alternatywnym sposobem na to jest użycie sys.server_principals
widok katalogu systemowego.
Ten widok zwraca więcej kolumn niż potrzebujemy, więc możemy określić, które kolumny chcemy zwrócić.
Powinniśmy również określić login, który chcemy zwrócić, w przeciwnym razie uzyskamy wszystkie loginy (choć nie ma w tym nic złego, jeśli trzeba to zrobić).
SELECT
default_language_name
FROM master.sys.server_principals
WHERE name = 'Bart';
Wynik:
us_english
Jedną z zalet korzystania z tego widoku jest to, że łatwo jest uwzględnić inne kolumny, takie jak domyślna nazwa bazy danych itp.
SELECT
type_desc,
default_database_name,
default_language_name
FROM master.sys.server_principals
WHERE name = 'Bart';
Wynik:
+-------------+-------------------------+-------------------------+ | type_desc | default_database_name | default_language_name | |-------------+-------------------------+-------------------------| | SQL_LOGIN | master | us_english | +-------------+-------------------------+-------------------------+