開發人員測試時,發現生產服務器與測試服務器執行SELECT CAST(GETDATE() AS VARCHAR(10))語句顯示的格式不一樣。如下所示
Server A
Server B
其實出現這個問題,是因為登錄名(login)的語言不一致所致,如下所示
可以使用下面SQL語句來檢查對應的默認語言
SELECT @@LANGUAGE
或
SELECT loginname,name, language FROM sys.syslogins
上面出現不一致是因為同一登錄名的默認語言在服務器B為us_english,而在服務器A則為簡體中文。只需要修改對應登錄名的默認語句即可。可以使用下面SQL語句,修改登錄名的默認語言
SQL SERVER 認證賬號使用下面SQL語句
USE [master]
GO
ALTER LOGIN [test] WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[簡體中文], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
Windows 認證賬號使用下面SQL語句
USE [master]
GO
ALTER LOGIN [xxx\xxxx] WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[簡體中文]
GO