Det finns (åtminstone) ett par sätt du kan använda T-SQL för att returnera standardspråket för en angiven inloggning i SQL Server.
I synnerhet kan du använda följande metoder:
- Fråga
LOGINPROPERTY()
fungera. - Fråga
sys.server_principals
systemkatalogvy imaster
databas.
Exempel på dessa finns nedan.
LOGINPROPERTY()
Funktion
LOGINPROPERTY()
funktionen kräver att ett inloggningsnamn och en egenskap skickas till den som argument. Den producerar sedan sitt resultat baserat på dessa argument.
Här är ett exempel.
SELECT LOGINPROPERTY('Bart', 'DefaultLanguage');
Resultat:
us_english
sys.server_principals
Visa
Ett alternativt sätt att göra det är att använda sys.server_principals
systemkatalogvy.
Den här vyn returnerar fler kolumner än vi behöver, så vi kan ange vilka kolumner vi vill ha tillbaka.
Vi bör också ange vilken inloggning vi vill returnera, annars får vi alla inloggningar (även om det inte är något fel med det, om det är vad du behöver göra).
SELECT
default_language_name
FROM master.sys.server_principals
WHERE name = 'Bart';
Resultat:
us_english
En fördel med att använda den här vyn är att det är lätt att inkludera andra kolumner, som standarddatabasnamnet osv.
SELECT
type_desc,
default_database_name,
default_language_name
FROM master.sys.server_principals
WHERE name = 'Bart';
Resultat:
+-------------+-------------------------+-------------------------+ | type_desc | default_database_name | default_language_name | |-------------+-------------------------+-------------------------| | SQL_LOGIN | master | us_english | +-------------+-------------------------+-------------------------+