2010-09-10 27 views
8

Cuando intento crear Reino Unido por 7 columnas consigotamaño total de un índice o una clave principal no puede exceder de 900 bytes

tamaño total de un índice o una clave principal no puede exceder de 900 bytes.

¿Cómo puedo resolver este error?

+5

En pocas palabras: reducir el tamaño de su índice Ninguna entrada de índice en SQL Server puede tener más de 900 bytes, es un límite fijo y fijo. No hay forma de evitarlo ¿Puede mostrarnos cómo está tratando de crear el índice único? ¿Qué campos están involucrados en este índice único? –

+1

@marc_s De [la pregunta anterior del OP] (http://stackoverflow.com/questions/3686297/t-sql-unique-constraints-over-7-columns-by-sql-management-studio) No creo es el PK. –

+0

@Martin Smith: ¡gracias por el aviso! –

Respuesta

8

Nada particularmente satisfactorio. Consulte this article para obtener algunas sugerencias sobre cómo se puede imponer una restricción única en las columnas que superan el límite de 900 bytes.

  • CHECKSUM (colisiones posibles)
  • disparadores (elevados gastos generales y podría fallar bajo aislamiento de instantánea)
  • HASHBYTES (Menor probabilidad de colisiones pero aún es posible)
1

Aparte de lo obvio (cambiando el tamaño de estas 7 columnas), no hay configuración o similar. Sin embargo, puede aplicar esto mediante el uso de activadores para garantizar que esas 7 columnas sean únicas juntas.

Cuestiones relacionadas