欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sql server如何用不同语种语言显示报错的错误消息

程序员文章站 2022-07-09 19:18:32
问题:生产环境的操作系统和数据库可能是英文版的,而我们的母语是中文,如果英语能力差点,可能有时对英语环境下的数据库脚本报错的英文提示看不懂,如果直接拿英语错误提示通过翻译工具去翻译,也不一定就是完全翻译得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

脚本运行结果(以英语、中文(简体、繁体)、日语、朝鲜语(韩语)为例):
sql server如何用不同语种语言显示报错的错误消息

 参考微软官方文档:

【转载请注明博文来源:】