No puedes
Tienes que insertar solamente aaaa-mm-dd omitiendo la hora para que funcione como debe. SQL Server no tiene tipos de datos para solo fechas (que como los extraño).
Lo que hago para asegurarlo (cuando no me puedo fiar del método de ingreso) es usar un trigger INSTEAD OF para asegurar que omito la parte de la fecha. Aunque en este caso es precisamente la creación del trigger lo que queremos evitar.
...Se me ocurre crear un CONSTRAINT dentro del campo para validar que solo haya horas 00:00 y así eliminas el trigger, aunque cuando la regla falle te ocasionará un ROLLBACK en lugar de hacerlo transparente para el usuario.
Hunabuku,
No, no es más fácil un trigger. Un indice lo hace todo automáticamente, aunque Gabo acaba de postear la limitación de hacerlo por índice. Pero si lo prefieres necesitas algo como esto:
CREATE TRIGGER TRi_mitrigger ON tabla
FOR INSERT
AS
IF (SELECT Count(*) FROM tabla GROUP BY fecha) > 1
ROLLBACK TRANSACTION
Esto porque los nuevos registros ya los ves dentro de la tabla cuando corres el trigger, ni siquiera necesitas lidiar con la tabla Inserted