sql server如何用不同語種語言顯示報錯的錯誤消息


問題:
生產環境的操作系統和數據庫可能是英文版的,而我們的母語是中文,如果英語能力差點,可能有時對英語環境下的數據庫腳本報錯的英文提示看不懂,如果直接拿英語錯誤提示通過翻譯工具去翻譯,也不一定就是完全翻譯得100%准確。

解決方案:
通過set language指定語種語言,使sql server的報錯以該語種語言的形式呈現。

腳本:

/*
    說明:通過set language指定語種語言,使sql server的報錯以該語種語言的形式呈現
    腳本來源:https://www.cnblogs.com/zhang502219048/p/12826544.html
    參考:https://docs.microsoft.com/zh-cn/sql/t-sql/statements/set-language-transact-sql?view=sql-server-2017
    參考表:select * from sys.syslanguages
*/

--Divide by zero error encountered.
set language US_ENGLISH
begin try
    declare @i int = 1 / 0
end try
begin catch
    select ERROR_MESSAGE() as ErrorInfo
end catch
go

--遇到以零作除數錯誤。
set language 簡體中文
begin try
    declare @i int = 1 / 0
end try
begin catch
    select ERROR_MESSAGE() as ErrorInfo
end catch
go

--發現除以零的錯誤。
set language 繁體中文
begin try
    declare @i int = 1 / 0
end try
begin catch
    select ERROR_MESSAGE() as ErrorInfo
end catch
go

--0 除算エラーが発生しました。
set language 日本語
begin try
    declare @i int = 1 / 0
end try
begin catch
    select ERROR_MESSAGE() as ErrorInfo
end catch
go

--0으로 나누기 오류가 발생했습니다.
set language 한국어
begin try
    declare @i int = 1 / 0
end try
begin catch
    select ERROR_MESSAGE() as ErrorInfo
end catch
go

腳本運行結果(以英語、中文(簡體、繁體)、日語、朝鮮語(韓語)為例):

 參考微軟官方文檔:
https://docs.microsoft.com/zh-cn/sql/t-sql/statements/set-language-transact-sql?view=sql-server-2017

【轉載請注明博文來源:https://www.cnblogs.com/zhang502219048/p/12826544.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM