就像例子 我在我的sql数据库上有这个简单的视图
SELECT NOME
FROM dbo.PROMO
WHERE (VAL_DA < '28/02/2017 10:15:44')
它有效 然后我进行备份并在另一台服务器上恢复数据库
我运行相同的视图并得到错误 sql将char数据类型转换为datetime数据类型导致超出范围的datetime 我需要让改变日 - 月才能让它发挥作用
SELECT NOME
FROM dbo.PROMO
WHERE (VAL_DA < '02/28/2017 10:15:44')
服务器属性中的语言两者都是英语。 我控制了两台服务器之间的所有设置,看起来一样。 还有其他我应该寻找的设置吗? 有什么建议吗?
答案 0 :(得分:1)
数据库的每次登录都可以覆盖默认服务器语言。
即在为DB创建Login时,我们可以显式设置Login的默认语言。例如us_english,uk_english等。
所以无论服务器语言是什么,用于附加数据库的登录显然都具有与用于备份的登录不同的语言设置。
SELECT language FROM syslogins
源数据库和目标数据库的语言可能不同。
在您的情况下,源Db的登录语言为uk_english
,但目标数据库的登录名为Us_english
。
要保留日期格式,您需要将目标数据库的登录语言配置为与源数据库的登录相同。