Mudei o domínio do meu SQL Server e, embora tudo esteja funcionando principalmente, o formato de data para as consultas parece ter mudado.
Então, se eu executar isso:
select convert(datetime,'2012-02-13')
eu recebo
Msg 242, Nível 16, Estado 3, Linha 1
A conversão de um tipo de dados varchar em um tipo de dados datetime resultou em um valor fora do intervalo.
quando eu corro
select @@Language, @@Langid
eu recebo
britânico | 23
Eu tentei definir sp_defaultlanguage, mas isso parece não fazer diferença.
Também verifiquei as configurações regionais no painel de controle e parece que também está definido como britânico.
Mesmo este exemplo de código causa um problema:
set language british
select convert(datetime, '2012-02-13')
Com o resultado
Configuração de idioma alterada para britânico. Msg 242, Nível 16, Estado 3, Linha 3 A conversão de um tipo de dados varchar em um tipo de dados datetime resultou em um valor fora do intervalo.
A configuração do Windows não afeta as datas de análise do SQL Server. Há um idioma padrão no nível do servidor que pode ser substituído por um definido no nível de login.
Tal como está, o formato "seguro" para SQL Server é yyyymmdd de qualquer maneira. Tente usar isso
De CRIAR LOGIN
Para o servidor, você usaria "idioma padrão" via
sp_configure
E você pode executar SET LANGUAGE ou SET DATEFORMAT sempre que quiser, é claro