sql-server - registros - tamaño maximo base de datos sql server 2016 express
Tamaño de fila máximo de SQL Server (6)
8094 bytes.
Si incluye más información sobre lo que está haciendo, podría ayudarnos a descubrir la causa real.
Encontré este error hoy. Me pregunto si alguien me puede decir lo que significa:
No se puede ordenar una fila de tamaño 9522, que es mayor que el máximo permitido de 8094.
¿Eso es 8094 bytes? ¿Caracteres? ¿Campos? ¿Es un problema unir varias tablas que exceden algún límite?
El problema que parece atrapar a mucha gente es que puede crear una tabla que, por definición, contendría más de 8K de datos, y lo aceptará perfectamente. Y la tabla funcionará bien, hasta el punto en que intente insertar más de 8K de datos en la tabla.
Por lo tanto, supongamos que crea una tabla con un campo entero para la clave principal y 10 campos varchar (1000). La tabla funcionaría bien la mayor parte del tiempo, ya que la cantidad de veces que llenaría los 10 campos varchar (1000) sería muy poca. Howerver, en el caso de que intentara poner 1000 caracteres en cada uno de sus campos, le daría el error mencionado en esta pregunta.
En SQL 2000, el límite de la fila es de 8K bytes, que es del mismo tamaño que una página en la memoria.
[Editar]
En 2005, el tamaño de la página es el mismo (8K), pero la base de datos usa punteros en la fila de la página para señalar otras páginas que contienen campos más grandes. Esto permite que 2005 supere la limitación del tamaño de fila 8K.
Eso solía ser un problema en SQL 2000, pero pensé que eso se solucionó en 2005.
Esta publicación hace un buen trabajo al tratar de explicarlo (en el contexto de SQL 2005):
http://www.consortioservices.com/Blog/2008/02/28/MaximumRowSizeInSQLServer2005ToTheLimit.aspx
Para su información, ejecutar este comando SQL en su base de datos puede solucionar el problema si es causado por el espacio que necesita recuperarse luego de eliminar las columnas de longitud variable:
DBCC CLEANTABLE (0,[dbo.TableName])