SQL Server 言語確認
SQL Server は、使用している言語に対応してメッセージなどを表示します。
言語環境が異なるといろいろ戸惑うこと、とくに日付の表記の違いとか、があるので注意が必要です。
SQL Server 使用言語の調べ方
以下のSQLで調べることができます。
select name from syslanguages where langid=(select value from sys.configurations where name='default language')
ただし、デフォルトの言語を知ることができるのみで、セッションで設定された言語は表示されません。
セッションで設定した言語の調べ方は、私も知りません。知ってたらコメントで教えてください。
エラーメッセージ
エラーメッセージの言語も設定した言語に変わります。
言語を変えて以下のようにエラーを発生させてみます。
SET LANGUAGE japanese; GO test GO SET LANGUAGE us_english; GO test GO SET LANGUAGE Italian; GO test
結果は、以下のようになります。
「メッセージ 2812、レベル 16、状態 62、行 3」のエラー情報が日本語のままですが、「ストアド プロシージャ ‘test’ が見つかりませんでした。」はちゃんと変更されてますね。
その他の関連表記
この他にも使用言語は、以下の表記にも関係してきます。
dateformat : 日付要素の順序を指定します。 有効なパラメーターはmdy、 dmy、 ymd、 ydm、 myd、およびdym。
datefirst : 週の最初の曜日を指定します。 設定が 7 なら日曜日です。
months : 言語に合わせた月名を表示。
shortmonths : 言語に合わせた短い月名を表示。
days : 言語に合わせた曜日を表示。
この言語設定に関する情報は syslanguages を参照すると見ることができます。
select * from syslanguages
この他にもまだ言語に影響される表記もありますが、とりあえずこの辺で。
以上、「SQL Server 使用言語を調べる」でした。