Artigo: 827968 - Última revisão: terça-feira, 20 de Novembro de 2007 - Revisão: 4.7

A estimar o tamanho da base de dados do SQL Server CE ou SQL Server 2005 Mobile Edition

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sumário

Este artigo descreve como estimar o tamanho de uma base de dados Microsoft SQL Server 2000 Windows CE Edition ou uma base de dados Microsoft SQL Server 2005 Mobile Edition. No entanto, não pode ser determinada essa estimativa com precisão real por causa das seguintes razões:
  • O tamanho da tabela de sistema pode variar, especialmente quando utiliza o SQL Server CE ou SQL Server 2005 Mobile Edition sincronização.
  • A estimativa não conta para o espaço utilizado pelas índices.
  • Para uma questão de simplicidade, a estimativa assume o armazenamento de linhas contíguas (isto é, depois de compactar uma base de dados). SQL Server CE ou SQL Server 2005 Mobile Edition armazena linhas nas páginas de 4 KB e não dividir linhas entre páginas, excepto para tipos de dados texto e ntext . Uma vez que todas as páginas não são sempre preenchidas, existe algum espaço não utilizado em páginas individuais. Além disso, se uma página com linhas e algumas dessas linhas são eliminadas, o espaço para linhas eliminadas não é recuperado até que a base de dados for compactada. Se forem eliminadas todas as linhas numa página, a página é recuperada mais tarde.
  • O comprimento de alguns tipos de dados pode variar consoante os dados que contêm, incluindo os tipos de dados nvarchar e ntext . Quando calcular o tamanho de uma coluna, a estimativa se baseia o tamanho máximo de coluna, não no tamanho real dos dados armazenados na coluna. Por exemplo, se uma coluna tiver um tipo de dados de nvarchar(50) e tem um valor de "Olá", o tamanho real da coluna é de 5 bytes, mas o tamanho estimado é 50 bytes.

Mais Informação

Quando calcular o tamanho de uma tabela ou de uma base de dados, tenha em consideração as seguintes informações:
  • Cada linha na tabela tem uma sobrecarga de 6 bytes.
  • Cada coluna na tabela tem uma sobrecarga de 1 byte mais 1 byte para todos os 256 bytes de memória de linha.
  • Tipos de dados de comprimento fixo têm uma sobrecarga de 1 byte de cada coluna e a sobrecarga é arredondada para o byte mais elevado seguinte.
  • Cadeia de comprimento zero colunas ocupam 1 byte na linha.
  • SQL Server CE ou SQL Server 2005 Mobile Edition armazena dados em formato Unicode. Se a cadeia de agrupamento que é utilizada para criar a base de dados for que um carácter de byte duplo Definir idioma (DBCS) (tal como kanji), o tamanho das colunas cadeia é duplicado dado que cada byte é guardado como 2 bytes. Se a cadeia de agrupamento que é utilizada para criar a base de dados é que um carácter de byte único Definir idioma (SBCS) (tal como inglês), o SQL Server CE remove o byte não utilizado à esquerda. Como resultado, SBCS agrupamento cadeias são estimadas como 1 byte para cada carácter.
  • Se as tabelas de SQL Server CE ou as tabelas de SQL Server 2005 Mobile Edition são utilizadas na replicação de intercalação, existem três colunas de sistema para cada tabela.
  • Se as tabelas de SQL Server CE ou as tabelas de SQL Server 2005 Mobile Edition participam em Remote Data Access (RDA), existem colunas de sistema 2 para cada tabela.
A tabela seguinte descreve os tipos de dados no SQL Server CE e o tamanho de armazenamento para cada tipo de dados.
Reduzir esta tabelaExpandir esta tabela
Tipo de dadosDescrição
bigint Inteiro (número inteiro) dados entre -2 ^ 63 (- 9,223,372,036,854,775,808) e 2 ^ 63-1 (9.223.372.036.854.775.807). O tamanho de armazenamento é de 8 bytes.
número inteiro Inteiro (número inteiro) dados entre -2 ^ 31 (-2.147.483.648) e 2 ^ 31-1 (2.147.483.647). O tamanho de armazenamento é de 4 bytes.
smallint Dados de número inteiro de ?32, 768 a 32.767. O tamanho de armazenamento é 2 bytes.
tinyint Dados de número inteiro de 0 a 255. O tamanho de armazenamento é 1 byte.
bit Dados de número inteiro com um valor 1 ou 0.
numérico (p, s) Dados precisão fixa e escala numérica de -10 ^ 38 + 1 e 10 ^ 38? 1. O p Especifica a precisão e pode variar entre 1 e 38. Especifica a s dimensionar e pode variar entre 0 e p. numérico utiliza sempre bytes 19, independentemente da respectiva precisão e escala.
Money Dados monetários valores entre -2 ^ 63 (- 922,337,203,685,477.5808) e 2 ^ 63-1 (922.337.203.685.477,5807), com uma precisão um dez milésimos de uma unidade monetária. O tamanho de armazenamento é de 8 bytes.
vírgula flutuante Vírgula flutuante numerar o armazenamento de dados de - 1, 79E + 308 e 1, 79E + 308 tamanho é de 8 bytes.
real Flutuante precisão números dados - 3, 40E + 38 e 3, 40E + 38.
data/hora Dados de data e hora se situa entre 1 de Janeiro de 1753 e 31 de Dezembro de 9999, com uma precisão de três - centésimo um de um segundo ou 3,33 milissegundos. Os valores são arredondados para incrementos de.000,.003 ou.007 milissegundos. Armazenados como dois 4 bytes inteiros. Os primeiros 4 bytes armazenar o número de dias antes ou depois da data base (1 de Janeiro de 1900). A data base é a data de referência do sistema. Valores de data/hora anteriores ao se situa entre 1 de Janeiro de 1753 de e não são permitidos. Outros 4 bytes armazenar a hora do dia, o número de milissegundos após a meia-noite. Segundos tem um intervalo válido de 0 a 59.
character(n) nacional Sinónimo: nchar(n) Dados de comprimento fixo Unicode com um comprimento máximo de 255 caracteres. O comprimento predefinido é 1. O tamanho de armazenamento, em bytes, é duas vezes o número de caracteres introduzido.
carácter nacional varying(n) Sinónimo: nvarchar (n) Dados de comprimento variável Unicode com um comprimento de 1 a 255 caracteres. O comprimento predefinido é 1. O tamanho de armazenamento, em bytes, é duas vezes o número de caracteres introduzido.
ntext Dados de comprimento variável Unicode com um comprimento máximo de (2 ^ 30-2) / 2 (536,870,911) caracteres. O tamanho de armazenamento, em bytes, é duas vezes o número de caracteres introduzido.
binary(n) Dados binários de comprimento fixo com um comprimento máximo de bytes 510. O comprimento predefinido é 1.
varbinary(n) Dados binários de comprimento variável com um comprimento máximo de bytes 510. O comprimento predefinido é 1.
imagem Dados binários de comprimento variável com um comprimento máximo de 2 ^ 30-1 (1.073.741.823) bytes.
uniqueidentifier UM GUID. Tamanho de armazenamento é 16 bytes.
IDENTITY [(s, i)]Esta é uma propriedade de uma coluna de dados, não um tipo de dados distintos. Colunas de dados dos tipos de dados número inteiro podem ser utilizadas para colunas de identidade. Uma tabela pode ter apenas uma coluna de identidade. Uma base e incremento podem ser especificados e a coluna não pode ser actualizada. s (seed) = valor inicial (incremento) i = valor de incremento.
ROWGUIDCOLEsta é uma propriedade de uma coluna de dados, não um tipo de dados distintos. Esta é uma coluna numa tabela é definida utilizando o tipo de dados uniqueidentifier . Uma tabela só pode ter uma coluna ROWGUIDCOL.

Se estiver a utilizar o SQL Server 2005 Mobile Edition

Para mais informações sobre os tipos de dados no SQL Server 2005 Mobile Edition, consulte "Tipo de dados" tópico no SQL Server 2005 Books Online.

Nos seguintes cenários, o tamanho de uma tabela é estimado dependendo do tipo de dados da coluna, o número de linhas, o agrupamento e o tipo de sincronização.

Cenário 1

Neste cenário, o tamanho da tabela myTableA1 é estimado. A tabela tem as seguintes características:
  • A tabela myTableA1 tem 10.000 linhas.
  • A tabela myTableA1 é criada com o agrupamento de inglês predefinido e a tabela não utiliza qualquer tipo de sincronização de SQL Server CE.
A tabela seguinte descreve o tipo de cada coluna na tabela myTableA1 e o número de bytes ocupados por cada coluna.
Reduzir esta tabelaExpandir esta tabela
ColunaTipo de dadosTamanho em bytes Bytes de custos gerais
1 nvarchar 251
2 nchar 251
3 bigint 81
4 data/hora 81
n/a sobrecarga n/a6
Totais6610
O tamanho total de cada linha na tabela myTableA1 é 76 (66 + 10) bytes. Uma vez que a tabela tem 10.000 linhas, o tamanho total da tabela myTableA1 é 760,000 bytes (76 * 10, 000). Uma vez que o cálculo tem em consideração o tamanho máximo do tipo de dados nvarchar , trata-se apenas uma estimativa do tamanho da tabela. O tamanho real da tabela poderão variar consoante o valor que é armazenado no tipo de dados nvarchar .

Nota Se os valores de dados numa coluna devem variar consideravelmente, tem de utilizar o tipo de dados nvarchar para reduzir o tamanho da base de dados.

Cenário 2

Neste cenário, o tamanho da tabela myTableA2 é estimado. A tabela tem as seguintes características:
  • A tabela myTableA2 tem 91 linhas.
  • A tabela myTableA2 é criada com o agrupamento de inglês predefinido e a tabela é utilizada na replicação de intercalação.
A tabela seguinte descreve o tipo de cada coluna na tabela myTableA2 e o número de bytes ocupados por cada coluna.
Reduzir esta tabelaExpandir esta tabela
ColunaTipo de dadosTamanho em bytes Bytes de custos gerais
CódigoDoCliente nvarchar 51
NomeDaEmpresa nvarchar 401
ContactName nvarchar 301
TítuloParaContacto nvarchar 301
endereço nvarchar 601
Cidade nvarchar 151
região nvarchar 151
código postal nvarchar 101
país nvarchar 151
telefone nvarchar 241
fax nvarchar 241
n/a custos gerais de linha n/a6
n/a sobrecarga de maior do que 256 bytesn/a1
n/a número inteiro para replicação41
n/a UniqueIdentifier para replicação161
n/a binário 241
Totais312 21
O tamanho total de cada linha da tabela myTableA2 é 333 (312 + 21) bytes. Uma vez que a tabela tem 91 linhas, o tamanho total da tabela myTableA2 é 30,303 bytes. Uma vez que o tamanho real dos valores de coluna de cadeia não for conhecido, este tamanho é apenas uma estimativa.

Cenário 3

Neste cenário, o tamanho da tabela myTableA3 é estimado. A tabela participa RDA e tem as seguintes características:
  • A tabela myTableA3 tem 91 linhas.
  • A tabela myTableA3 é criada com o agrupamento de inglês predefinido e esta tabela tem colunas de chave primária, uma vez que são utilizados como parte de uma das colunas de sistema que é controlado para RDA.
A tabela seguinte descreve o tipo de cada coluna na tabela myTableA3 e o número de bytes ocupados por cada coluna.
Reduzir esta tabelaExpandir esta tabela
ColunaTipo de dadosTamanho em bytes Bytes de custos gerais
CódigoDoCliente (PK) nvarchar 51
NomeDaEmpresa (PK) nvarchar 401
ContactName nvarchar 301
TítuloParaContacto nvarchar 301
endereço nvarchar 601
Cidade nvarchar 151
região nvarchar 151
código postal nvarchar 101
país nvarchar 151
telefone nvarchar 241
fax nvarchar 241
n/a custos gerais de linha n/a6
n/a sobrecarga de maior do que 256 bytesn/a1
n/a número inteiro para RDA41
n/a binário para RDA (4 bytes para cada coluna em colunas de chave primária, mais bytes do valor da coluna se a chave primária for alterada; caso contrário, 1 byte)53/1
Totais325/27320
Se a chave primária for alterada, o tamanho total da tabela é 345 (325 + 20) bytes para cada linha. Uma vez que a tabela myTableA3 tem 91 linhas, o tamanho da tabela é 31,395 bytes. Se a chave primária não for alterada, o tamanho total da tabela é 293 (273 + 20) bytes para cada linha. Uma vez que a tabela myTableA3 tem 91 linhas, o tamanho da tabela é 26,663 bytes. Uma vez que o tamanho real dos valores de coluna de cadeia não for conhecido, trata-se apenas uma estimativa.

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Windows CE Edition 2.0
  • Microsoft SQL Server 2000 Windows CE Edition 1.1
  • Microsoft SQL Server 2000 Windows CE Edition
  • Microsoft SQL Server 2005 Compact Edition
Palavras-chave: 
kbmt kbtable kbdatabase kbinfo KB827968 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 827968  (http://support.microsoft.com/kb/827968/en-us/ )