Når et nyt login oprettes i SQL Server, tildeles det et standardsprog. Dette sprog bruges til systemmeddelelser og dato/tidsformater. Dette sprog vil blive brugt som standardsprog, når det pågældende login opretter forbindelse til SQL Server (men det kan også ændres til et andet sprog i sessionen).
Hvis du nogensinde ønsker at finde ud af det sprog, der er tildelt den aktuelle session, kan du køre en af mulighederne på denne side.
Mulighed 1:@@LANGUAGE-konfigurationsfunktionen
Den første mulighed for at få sproget for den aktuelle session er at bruge @@LANGUAGE
skalar funktion. Du skal blot bruge det som en del af en SELECT
erklæring.
Sådan:
SELECT @@LANGUAGE;
Resultat:
us_english
Mulighed 2:DBCC USEROPTIONS-kommandoen
Du kan også køre DBCC USEROPTIONS
for at returnere det aktuelle sprog, samt andre muligheder for den aktuelle forbindelse.
Sådan:
DBCC USEROPTIONS;
Resultat:
+-------------------------+----------------+ | Set Option | Value | |-------------------------+----------------| | textsize | -1 | | language | us_english | | dateformat | mdy | | datefirst | 7 | | lock_timeout | 5000 | | quoted_identifier | SET | | arithabort | SET | | ansi_null_dflt_on | SET | | ansi_warnings | SET | | ansi_padding | SET | | ansi_nulls | SET | | concat_null_yields_null | SET | | isolation level | read committed | +-------------------------+----------------+
Mulighed 3: sys.dm_exec_requests-visningen
Denne indstilling er en smule anderledes end de to foregående muligheder, idet denne systemvisning returnerer oplysninger på det individuelle anmodningsniveau (det returnerer oplysninger om hver anmodning, der udføres i SQL Server). Du kan indsnævre den til den aktuelle anmodning (som vil være SELECT
). erklæring, som du forespørger på visningen med).
Denne visning returnerer et relativt stort antal kolonner, så hvis du kun er interesseret i sproget, kan du vælge netop den kolonne.
Sådan returnerer du det sprog, der bruges i den aktuelle brugerproces:
SELECT r.language FROM master.sys.dm_exec_requests r WHERE r.session_id = @@SPID;
Resultat:
+------------+ | language | |------------| | us_english | +------------+
Du kan altid ændre sproget for den aktuelle session. For at finde ud af hvordan, se Sådan indstilles det aktuelle sprog i SQL Server (T-SQL).
Bemærk også, at nogle indbyggede T-SQL-funktioner accepterer argumenter for at specificere sproget/kulturen, der skal bruges på det specifikke forespørgselsniveau. For eksempel PARSE()
funktionen giver dig mulighed for at angive en kultur, der skal bruges til forespørgslen (eller endda en del af forespørgslen), der specificerer, hvordan den givne streng er formateret (se for eksempel Sådan konverteres en streng til en dato/tid i SQL Server ved hjælp af PARSE( )).
Standardsproget
Bemærk, at en bruger også kan have et standardsprog, der er forskelligt fra det aktuelle sprog. Hvis de bruger SET LANGUAGE
sætning for at skifte til et andet sprog, forbliver deres standardsprog som deres standardsprog, selvom sproget for den aktuelle session er ændret.
For at finde standardsproget for en bruger/login/rolle, se Sådan finder du en brugers standardsprog i SQL Server (T-SQL).