¿Cómo decide SQL Server el formato para la conversión de fecha y hora implícita?

<code>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
</code>

Esto está dando el siguiente error:

Msg 242, Nivel 16, Estado 3, Línea 4
La conversión de un tipo de datos varchar a un tipo de datos datetime resultó en un valor fuera de rango.

Mi pregunta es ¿cómo decide SQL Server qué formato usar para la conversión de fecha y hora implícita?

Respuestas a la pregunta(3)

Su respuesta a la pregunta