¿Por qué NO establecerías IGNORE_DUP_KEY en ON?

IGNORE_DUP_KEY = ON básicamente le dice a SQL Server que inserte filas no duplicadas, pero silenciosamente ignore cualquier duplicado; el comportamiento predeterminado es generar un error y cancelar la transacción completa cuando hay duplicados en una columna que no los permite.

He trabajado con una tonelada de datos que normalmente tienen al menos un duplicado cuando no debería haberlos, así que me gusta usarUNIQUE restricciones cuando sé que un valor no debería tener dups; sin embargo, cuando trato de cargar datos en masa, lo último que quiero es que se haga el 90% y luego de repente se encuentre con un duplicado y error todo (Sí, sé que la solución obvia es asegurarse de que no haya duplicados , pero a veces solo me entregan una hoja de cálculo llena de datos y me dicen que la cargue lo antes posible).

Entonces, ¿cuál es la razón por la que el valor predeterminado esOFF, y por qué no desea que esté activado todo el tiempo para que las entradas no duplicadas tengan éxito mientras no tenga que preocuparse por ningún duplicado; lo más probable es que los duplicados estén allí por error de todos modos.

¿Está relacionado con el rendimiento u otra cosa? Parece una gran idea, pero debe haber alguna razón por la cual no es el comportamiento predeterminado.

Principalmente, ¿hay una buena razónn para usar esto que debo tener en cuenta, ¿o debería estar en condiciones de evaluar caso por caso?

Respuestas a la pregunta(5)

Su respuesta a la pregunta