Quando viene creato un nuovo account di accesso in SQL Server, viene assegnata una lingua predefinita. Questa lingua viene utilizzata per i messaggi di sistema e i formati di data/ora. Questa lingua verrà utilizzata come lingua predefinita ogni volta che l'accesso si connette a SQL Server (ma può anche essere modificata in una lingua diversa all'interno della sessione).
Se desideri scoprire la lingua assegnata alla sessione corrente, puoi eseguire una delle opzioni in questa pagina.
Opzione 1:la funzione di configurazione @@LANGUAGE
La prima opzione per ottenere la lingua della sessione corrente è utilizzare il @@LANGUAGE
funzione scalare. Usalo semplicemente come parte di un SELECT
dichiarazione.
In questo modo:
SELECT @@LANGUAGE;
Risultato:
us_english
Opzione 2:il comando DBCC USEROPTIONS
Puoi anche eseguire DBCC USEROPTIONS
per restituire la lingua corrente, nonché altre opzioni per la connessione corrente.
In questo modo:
DBCC USEROPTIONS;
Risultato:
+-------------------------+----------------+ | 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 | +-------------------------+----------------+
Opzione 3:la vista sys.dm_exec_requests
Questa opzione è leggermente diversa dalle due precedenti in quanto questa visualizzazione di sistema restituisce informazioni a livello di singola richiesta (restituisce informazioni su ogni richiesta in esecuzione in SQL Server). Puoi restringere il campo alla richiesta corrente (che sarà il SELECT
istruzione con cui si interroga la vista).
Questa visualizzazione restituisce un numero relativamente elevato di colonne, quindi se sei interessato solo alla lingua, puoi selezionare solo quella colonna.
Ecco come restituire la lingua utilizzata nel processo utente corrente:
SELECT r.language FROM master.sys.dm_exec_requests r WHERE r.session_id = @@SPID;
Risultato:
+------------+ | language | |------------| | us_english | +------------+
Puoi sempre cambiare la lingua per la sessione corrente. Per scoprire come, vedere Come impostare la lingua corrente in SQL Server (T-SQL).
Si noti inoltre che alcune funzioni T-SQL integrate accettano argomenti per specificare la lingua/le impostazioni cultura da utilizzare a livello di query specifico. Ad esempio il PARSE()
La funzione consente di specificare le impostazioni cultura da usare per la query (o anche parte della query) che specifica come viene formattata la stringa data (ad esempio, vedere Come convertire una stringa in una data/ora in SQL Server utilizzando PARSE( )).
La lingua predefinita
Tieni presente che un utente può anche avere una lingua predefinita diversa dalla lingua corrente. Se usano il SET LANGUAGE
dichiarazione per passare a un'altra lingua, la loro lingua predefinita rimarrà quella predefinita, anche se la lingua della sessione corrente è cambiata.
Per trovare la lingua predefinita per un utente/accesso/ruolo, consulta Come trovare la lingua predefinita di un utente in SQL Server (T-SQL).