Cómo estimar el tamaño de una base de datos de SQL Server CE o SQL Server 2005 Mobile Edition

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 827968
Resumen
Este artículo describe cómo estimar el tamaño de una base de datos de Microsoft SQL Server 2000 Windows CE Edition o una base de datos de Microsoft SQL Server 2005 Mobile Edition. Sin embargo, este cálculo no se puede determinar con precisión real por las siguientes razones:
  • El tamaño de la tabla del sistema puede variar, especialmente cuando youuse sincronización de SQL Server CE o SQL Server 2005 Mobile Edition.
  • La estimación no tiene en cuenta el espacio que se takenby los índices.
  • Para simplificar, la estimación supone almacenamiento fila contiguos (es decir, después de compactar una base de datos). SQL Server CE o SQL Server 2005 Mobile Edition almacena las páginas de filas EL4 KB y no dividir las filas entre páginas, excepto para texto y ntext tipos de datos. Dado que no siempre se rellenan todas las páginas, existe espacio de someunused en páginas individuales. Además, si una página tiene filas y algunas filas de esos se eliminan, el espacio para las filas eliminadas no es reclamado se compacta la base de datos de untilthe. Si se eliminan todas las filas de una página, la isreclaimed de página más tarde.
  • La longitud de algunos tipos de datos puede variar dependiendo de thedata que contienen, incluida la nvarchar y ntext tipos de datos. Al calcular el tamaño de una columna, el estimateis había basado en el tamaño máximo de columna, no en el tamaño real de los datos que almacena en la columna. Por ejemplo, si una columna tiene un tipo de datos nvarchar (50) y tiene un valor de "Hello", el tamaño real de la columna es de 5 bytes, pero el tamaño estimado es de 50 bytes.
Más información
Al estimar el tamaño de una tabla o de una base de datos, considere la siguiente información:
  • Cada fila de la tabla tiene una sobrecarga de 6bytes.
  • Cada columna de la tabla tiene una sobrecarga de 1 byte, byte plus1 para cada 256 bytes de almacenamiento de la fila.
  • Tipos de datos de longitud fija tienen una sobrecarga de la columna de foreach de 1 byte y la sobrecarga se redondea al siguiente byte superior.
  • Columnas de cadena de longitud cero ocupan 1 byte en therow.
  • SQL Server CE o SQL Server 2005 Mobile Edition almacena datos en formato Unicode. Si la cadena de thecollation que se utiliza para crear la base de datos es un lenguaje de conjunto de caracteres de doble byte (DBCS) (como kanji), el tamaño de las columnas de cadena es doubledbecause que cada byte se almacena como 2 bytes. Si la cadena de intercalación que es utilizado crear la base de datos es que un carácter de un solo byte establece idioma (SBCS) (tan asEnglish), SQL Server CE quita el byte inicial sin utilizar. Como resultado, las cadenas de SBCScollation se estiman en 1 byte para cada carácter.
  • Si se utilizan las tablas de SQL Server CE o las tablas de SQL Server 2005 Mobile Edition en mergereplication, hay tres columnas del sistema para cada tabla.
  • Si las tablas de SQL Server CE o las tablas de SQL Server 2005 Mobile Edition participan en DataAccess remotos (RDA), hay 2 columnas de sistema para cada tabla.
La tabla siguiente describe los tipos de datos en SQL Server CE y el tamaño de almacenamiento de información para cada tipo de datos.
Tipo de datosDescripción
bigintDatos enteros (número entero) de -2 ^ 63 (- 9,223,372,036,854,775,808) a 2 ^ 63-1 (9.223.372.036.854.775.807). El tamaño de almacenamiento es 8 bytes.
enteroDatos enteros (número entero) de -2 ^ 31 (-2.147.483.648) y 2 ^ 31-1 (2.147.483.647). El tamaño de almacenamiento es 4 bytes.
smallintDatos enteros de – 32.768 a 32.767. El tamaño de almacenamiento es de 2 bytes.
tinyintDatos enteros de 0 a 255. El tamaño de almacenamiento es de 1 byte.
bitDatos enteros con un valor 1 ó 0.
numeric (p, s)Datos de precisión fija y escala numérica entre -10 ^ 38 + 1 a 10 ^ 38? 1. La p especifica la precisión y puede variar entre 1 y 38. La s especifica la escala y puede variar entre 0 y p. numérico siempre utiliza 19 bytes, con independencia de su precisión y la escala.
dineroValores de datos monetarios de -2 ^ 63 (- 922,337,203,685,477.5808) a 2 ^ 63-1 (922.337.203.685.477,5807), con una precisión de una diezmilésima de una unidad monetaria. El tamaño de almacenamiento es 8 bytes.
floatPunto flotante número entre - 1, 79E + 308 a 1, 79E + 308 el almacenamiento es de 8 bytes de tamaño.
realPrecisión datos numéricos flotante de - 3, 40E + 38 a 3, 40E + 38.
fecha y horaDatos de fecha y hora desde 1 de enero de 1753 al 31 de diciembre, 9999 con una precisión de una tricentésima de un segundo o 3,33 milisegundos. Los valores se redondean con incrementos de milisegundos.000,.003 o.007. Se almacenan como dos enteros de 4 bytes. Los primeros 4 bytes almacenan el número de días antes o después de la fecha base (1 de enero de 1900). La fecha base es la fecha del sistema referencia. No se permiten valores para datetime anteriores al 1 de enero de 1753. Los otros 4 bytes almacenan la hora del día como el número de milisegundos después de la medianoche. Segundos tienen un intervalo válido de 0 a 59.
nacional character(n) Sinónimos: nchar (n)Datos Unicode de longitud fija con una longitud máxima de 255 caracteres. La longitud predeterminada es 1. El tamaño de almacenamiento, en bytes, es dos veces el número de caracteres especificado.
varying(n) de carácter nacional Sinónimos: nvarchar (n)Datos Unicode de longitud variable con una longitud de 1 a 255 caracteres. La longitud predeterminada es 1. El tamaño de almacenamiento, en bytes, es dos veces el número de caracteres especificado.
ntextDatos Unicode de longitud variable con una longitud máxima de (2 ^ 30-2) / 2 (536.870.911) caracteres. El tamaño de almacenamiento, en bytes, es dos veces el número de caracteres especificado.
binaryDatos binarios de longitud fija con una longitud máxima de bytes 510. La longitud predeterminada es 1.
varbinary (n)Datos binarios de longitud variable con una longitud máxima de bytes 510. La longitud predeterminada es 1.
imagenDatos binarios de longitud variable con una longitud máxima de 2 ^ 30 – 1 (1.073.741.823) bytes.
uniqueidentifierUN GUID. Tamaño de almacenamiento es de 16 bytes.
IDENTIDAD [(s, i)]Se trata de una propiedad de una columna de datos, no es un tipo de datos distinto. Sólo las columnas de datos de los tipos de datos integer pueden utilizarse para columnas de identidad. Una tabla puede tener sólo una columna de identidad. Pueden especificarse una inicialización e incremento, y no se puede actualizar la columna. s (inicialización) = valor inicial i (incremento) = valor de incremento.
ROWGUIDCOLSe trata de una propiedad de una columna de datos, no es un tipo de datos distinto. Se trata de una columna de una tabla en la que se define mediante el tipo de datos uniqueidentifier . Una tabla sólo puede tener una columna ROWGUIDCOL.

Si está utilizando SQL Server 2005 Mobile Edition

Para obtener más información acerca de los tipos de datos en SQL Server 2005 Mobile Edition, consulte el tema "Data Types" en libros virtuales de SQL Server 2005.

En los escenarios siguientes, se estima el tamaño de una tabla según el tipo de datos de la columna, el número de filas, la intercalación y el tipo de sincronización.

Escenario 1

Se estima que esta situación, el tamaño de la tabla myTableA1 . La tabla tiene las siguientes características:
  • La tabla myTableA1 tiene 10.000 filas.
  • La tabla myTableA1 se crea con la intercalación predeterminada inglés y la tabla no se utiliza ningún tipo de sincronización de SQL Server CE.
La tabla siguiente describe el tipo de cada columna de la tabla myTableA1 y el número de bytes que están ocupados por cada columna.
ColumnaTipo de datosTamaño en Bytes Bytes de sobrecarga
1nvarchar251
2nchar251
3bigint81
4fecha y hora81
n /Sobrecargan /6
Totales6610
El tamaño total de cada fila de la tabla myTableA1 es 76 (66 + 10) bytes. Porque la tabla tiene 10.000 filas, el tamaño total de la tabla myTableA1 es 760.000 bytes (76 * 10, 000). Porque el calculationtakes en cuenta el tamaño máximo de los datos nvarchar tipo, esto es sólo una estimación del tamaño de la tabla. Theactual tamaño de la tabla puede variar dependiendo del valor que se almacena en el tipo de datos nvarchar .

Nota: Si se esperan que los valores de datos de una columna varyconsiderably, debe utilizar el tipo de datos nvarchar para reducir el tamaño de la base de datos.

Escenario 2

Se estima que esta situación, el tamaño de la tabla myTableA2 . La tabla tiene las siguientes características:
  • La tabla myTableA2 tiene 91 filas.
  • La tabla myTableA2 se crea con la intercalación predeterminada inglés y la tabla se utiliza en la duplicación de mezcla.
La tabla siguiente describe el tipo de cada columna de la tabla myTableA2 y el número de bytes que están ocupados por cada columna.
ColumnaTipo de datosTamaño en Bytes Bytes de sobrecarga
CustomerIDnvarchar51
Nombre de la empresanvarchar401
Nombre de contactonvarchar301
ContactTitlenvarchar301
Direcciónnvarchar3671
Ciudadnvarchar151
Regiónnvarchar151
Código postalnvarchar101
bolivianvarchar151
Teléfononvarchar241
Faxnvarchar241
n /Sobrecarga de filan /6
n /Sobrecarga mayor de 256 bytesn /1
n /Entero para la replicación41
n /UniqueIdentifier para replicación161
n /Binario241
Totales312 21
Thetotal el tamaño de cada fila de la tabla myTableA2 es 333 (312 + 21) bytes. Porque la tabla tiene 91 filas, thetotal tamaño de la tabla myTableA2 es 30.303 bytes. Porque no se conoce el tamaño real de los valores de columna de cadena, este tamaño es sólo una estimación.

Escenario 3

En este escenario, se estima el tamaño de la tabla myTableA3 . La tabla participa inRDA y tiene las siguientes características:
  • La tabla myTableA3 tiene 91 filas.
  • La tabla myTableA3 se crea con la intercalación predeterminada inglés y esta tabla tiene columnas de clave principal, ya que se utilizan como parte de una de las columnas del sistema que se realiza un seguimiento de RDA.
La tabla siguiente describe el tipo de cada columna de la tabla myTableA3 y el número de bytes que están ocupados por cada columna.
ColumnaTipo de datosTamaño en Bytes Bytes de sobrecarga
CustomerID (PK)nvarchar51
Nombre de la empresa (PK)nvarchar401
Nombre de contactonvarchar301
ContactTitlenvarchar301
Direcciónnvarchar3671
Ciudadnvarchar151
Regiónnvarchar151
Código postalnvarchar101
bolivianvarchar151
Teléfononvarchar241
Faxnvarchar241
n /Sobrecarga de filan /6
n /Sobrecarga mayor de 256 bytesn /1
n /Entero de RDA41
n /Binario para RDA (4 bytes para cada columna de las columnas de clave principales más bytes del valor de columna si la clave principal se cambia; en caso contrario, 1 byte)53/1
Totales325/27323
Se modifica la clave principal Siel, el tamaño total de la tabla es de 345 (325 + 20) bytesfor cada fila. Dado que las filas de tablehas 91 myTableA3 , el tamaño de la tabla es 31,395 bytes. Si la clave principal es notchanged, el tamaño total de la tabla es 293 (273 + 20) bytes para cada fila. Porque la tablamyTableA3 tiene 91 filas, el tamaño de la tableis 26.663 bytes. No se conoce la Becausethe el tamaño real de los valores de columna de cadena, se trata sólo de anestimate.

Advertencia: este artículo se tradujo automáticamente

Propriétés

ID d'article : 827968 - Dernière mise à jour : 04/23/2016 01:35:00 - Révision : 5.0

Microsoft SQL Server 2000 Windows CE Edition, Microsoft SQL Server 2005 Compact Edition

  • kbtable kbdatabase kbinfo kbmt KB827968 KbMtes
Commentaires