declare @str_datetime varchar(50)
set @str_datetime=\'30-04-2012 19:01:45\' -- 30th April 2012
declare @dt_datetime datetime
select @dt_datetime=@str_datetime
You can also change de default date format for each logins and/or for each future added logins (without the needs to do "SET DATEFORMAT" in each session.
You go in SQL Management Studio / Security / Logins. Right-clic the login, then Properties. You will see "Default Language" at the bottom.
If you want to make sure any logins added in the future get the "good" language. You right-click on your server root, then Properties and Advanced page. There is an option "Default Language" there too that is used to newly created logins.