It sounds like one of the servers language is something other than english and you are trying use @@Datefirst to return the first day consistently across all servers.
You will likely need to set the language in your script the gets this date.
try running this on the server with the "incorrect" result
select @@datefirst
set language english
select @@datefirst
This does not permanently change the language setting. It will remain with this setting for the current connection only. Any other connections will still use whatever language the server is setup to use.
Hope that helps.
_______________________________________________________________
Need help? Help us help you.
Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.
Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.
Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/