sql >> Databasteknik >  >> RDS >> Sqlserver

2 sätt att få standardspråket för en inloggning i SQL Server (T-SQL)

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 i master 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              |
 +-------------+-------------------------+-------------------------+ 

  1. Hur man reparerar en MySQL-databas i cPanel

  2. INT vs Unique-Identifier för ID-fält i databasen

  3. Vilken tidsseriedatabas är bättre:TimescaleDB vs InfluxDB

  4. ROW_NUMBER i SQL – Välj toppexempel i SQL och SQL Server