V SQL Server můžete zjistit výchozí jazyk pro daného uživatele dotazem na sys.server_principals
zobrazení systémového katalogu.
Toto zobrazení obsahuje řádek pro každý objekt na úrovni serveru. Obsahuje informace, jako je jméno, typ, datum vytvoření/úpravy, výchozí databáze, výchozí jazyk atd. Principál je entita, která může vyžadovat zdroje SQL Server.
Principál může být kterýkoli z následujících:
Zásady na úrovni Windows
- Přihlášení k doméně Windows
- Místní přihlášení systému Windows
Instant na úrovni serveru SQL Server
- Přihlášení k serveru SQL
Zásady na úrovni databáze
- Uživatel databáze
- Role databáze
- Role aplikace
Příklad vrácení výchozího jazyka ředitele
Chcete-li získat výchozí jazyk pro daný objekt, můžete zadat dotaz na sys.server_principals
zobrazit a použít WHERE
klauzule pro hlavní jméno, které vás zajímá.
Takhle:
SELECT type_desc, default_database_name, default_language_name FROM master.sys.server_principals WHERE name = 'sa';
Výsledek:
+-------------+-------------------------+-------------------------+ | type_desc | default_database_name | default_language_name | |-------------+-------------------------+-------------------------| | SQL_LOGIN | master | us_english | +-------------+-------------------------+-------------------------+
Tento příklad získá výchozí jazyk pro sa
ředitel školy. Hlavní název je v rámci serveru jedinečný. Tento příklad také vrátí výchozí databázi a také hlavní typ. V tomto případě je principál přihlášení k serveru SQL.
Zde je další příklad s použitím jiného uživatele:
SELECT type_desc, default_database_name, default_language_name FROM master.sys.server_principals WHERE name = 'Bach';
Výsledek:
+-------------+-------------------------+-------------------------+ | type_desc | default_database_name | default_language_name | |-------------+-------------------------+-------------------------| | SQL_LOGIN | Music | German | +-------------+-------------------------+-------------------------+
V tomto případě má přihlášení jinou výchozí databázi a jazyk.
Samozřejmě můžete vždy použít hvězdičku k vrácení všech sloupců, pokud je to nutné.
Upozorňujeme, že každé přihlášení může vidět své vlastní přihlašovací jméno, systémová přihlášení a pevné role serveru. Chcete-li zobrazit další přihlášení, vyžaduje ALTER ANY LOGIN
nebo povolení k přihlášení. Chcete-li zobrazit uživatelem definované role serveru, vyžaduje ALTER ANY SERVER ROLE
nebo členství v roli.
Výchozí jazyk vs. aktuální jazyk
Ve většině případů bude výchozím jazykem uživatele aktuální jazyk jeho relace. To však nemusí být vždy případ, protože uživatel může změnit aktuální jazyk pomocí SET LANGUAGE
prohlášení. Tím se změní jazyk aktuální relace, ale jejich výchozí jazyk zůstane beze změny.
Další informace naleznete v části Jak nastavit aktuální jazyk na serveru SQL Server (T-SQL) a 3 způsoby, jak získat jazyk aktuální relace na serveru SQL (T-SQL).