問題:生產環境的操作系統和資料庫可能是英文版的,而我們的母語是中文,如果英語能力差點,可能有時對英語環境下的資料庫腳本報錯的英文提示看不懂,如果直接拿英語錯誤提示通過翻譯工具去翻譯,也不一定就是完全翻譯得100%準確。 解決方案:通過set language指定語種語言,使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】