MCDBA Brasil


  • Home
  • Sobre
  • Contato

Livros





Links Rápidos

SQL Server Builds (All Versions/Editions)


Download SQL Server 2017 (trial)


SQL Server 2017 Feature Pack


SQL Server 2016 Feature Pack


Cumulative Update SQL Server 2017 builds


Cumulative Update SQL Server 2016 builds


Cumulative Update SQL Server 2014 builds


Cumulative Update SQL Server 2012 builds


SQL Server 2005/2008 Samples Databases


Documentando o Servidor SQL Server


Analisando a Performance do Servidor-CheckList


Virtual PASS PT


Faça parte do maior virtual chapter do PASS com conteúdos técnicos em Português sobre SQL Server.

Todos os meses um evento Online para você! Acompanhe aqui os WebCasts já agendados

Sindicalize seu blog ou site ao VirtualPASSPT

SQL Server Blogs

SQL Server Query Processing Team


SQL Programmability & API Development Team


SQL Server Manageability Team


Latin America Support Team


Database + Disk + Performance


Microsoft SQL Server Support


SQL CLR Team


SQL Query Optimization Team


SQL 2005 Code Samples


SQL Server Express Team


SQL SMO Samples


SQL Storage Engine Team


SQL CAT Team


SQL Protocols Team


PSS SQL Server Engineers


Slava Oks on SQLOS


Ken Henderson’s blog


LUTI@Microsoft Blog


kimberly L. Trip’s blog


Fernando Garcia Blog

Dica da Semana

Estimando o Tamanho da uma Tabela

por Nilton Pinheiro novembro 15, 2008 Nenhum comentário

Embora a estimativa de crescimento de uma base de dados seja um item importante na administração de banco de dados, uma das grandes dificuldades de muitos DBAs está em estimar o tamanho de sua base de dados ao longo do tempo. Estimar o tamanho de uma base de dados pode ajudar você a determinar as configurações de hardware necessárias para:

1) Alcançar a performance desejada por sua aplicação,
2) Garantir que sempre existirá espaço em disco suficiente para alocar sua base de dados.


Para estimar o tamanho de uma base de dados, faça uma estimativa de cada tabela individualmente e então some os valores obtidos.


O Books Online do SQL Server 2000 possui um tópico (Estimating the Size of a Table) onde descreve os cálculos necessários para se estimar o espaço a ser ocupado pelos dados em uma tabela. Porém devemos lembrar que o tamanho total de uma tabela dependerá se ela possuirá ou não índeces e se sim, que tipo de índices. Os passos para a realização destes cálculos também podem ser encontrados no Books Online nos tópicos:


– Estimating the Size of a Table with a Clustered Index
– Estimating the Size of a Table Without a Clustered Index


Como poderemos observar, os cálculos conforme demonstrado pelo Books Online são complexos e sua aplicação fará com que o DBA gaste um bom tempo na realização dos cálculos. Pensando em facilitar este processo, a dica desta semana trás uma procedure a qual poderá ser utilizada para calcular o espaço estimado para o armazenamento dos
dados da tabela.


Para facilitar sua utilização, a procedure é criada com o prefixo sp_ e deverá estar no banco de dados MASTER. Isto fará com que ela possa ser chamada a partir de qualquer banco de dados. Para utilizar a procedure você deverá informar no mínimo dois parâmetros:


– @Tabela: Este é o nome da tabela sobre a qual o cálculo será realizado,


– @Num_Rows: Este é a quantidade de registros estimado para a tabela


Um terceiro parâmetro @ClusterIndex é opcional e informa se a tabela terá indice cluster ou não. Este parâmetro é utilizado apenas para calcular o número de linhas livres que será reservado por página de dados.


Exemplo de utilização da procedure:


Uma vez criada a procedure, execute-a passando no mínimo o nome da tabela e a quantidade de registros estimados. Neste exemplo, criamos uma tabela na base Pubs e chamamos a procedure para calcular o espaço usado pelos dados quando a tabela tiver 10000 (dez mil) registros.


USE PUBS
GO
CREATE TABLE tbsize (col1 int, col2 char(500), col3 varchar(500))
GO
sp_tablespace tbsize,10000


Resultado:


==== Espaço estimado para armazenar os dados da tabela: tbsize ====
 
Reg_Por_Pagina Num_Paginas Num_Extend  Espaço_Estimado_KB
——————– —————— —————– ————————–
7                           1428                   178             11424


Reg_Por_Pagina: Número de registros que teremos por página de dados,
Num_Paginas: Numero de paginas,
Num_Extend : Número de extensões,
Espaço_Estimado_KB: Espaço estimado para o armazenamento dos 10000 registros.


É bom lembrar que esta procedure calcula apenas o espaço necessário para o armazenamento dos dados e não o espaço total da tabela. Para isso, seria necessário calcular também o espaço necessários para o armazenamento dos índices cluster e ounão cluster.


Para fazer o downloa da procedure, clique aqui.


Caso sua necessidade seja realizar o cálculo completo, veja o artigo http://www.mcdbabrasil.com.br/modules.php?name=News&file=article&sid=54

Avaliação:
Compartilhe:
  • Anterior Update no que existe, Insert no que não existe17 anos atrás
  • Próximo Cumulative Update Package 1 for SQL Server 2008 – Build 176317 anos atrás

Deixe uma resposta Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

MVP Reconnect Award

Categorias

  • Artigos (359)
  • Dica da Semana (95)
  • Documentação (54)
  • Downloads (113)
  • MSDE 2000 (3)
  • Sem categoria (1)
  • Tutoriais (9)

Posts recentes

  • #FechouBrasil #PartiuPortugal
  • Brigando com o erro “The cached MSI file is missing”
  • MCDBABRASIL está de volta
  • Documentando o Servidor SQL Server
  • Brigando com os Erros 17182, 17826 e 17120

SQL Server AlwaysOn Video Series

Video1: Introdução ao SQLServer2012 AlwaysOn


Video2: Introdução ao SQLServer2012 AlwaysOn Availability Group


Video3: Introdução ao SQLServer2012 AlwaysOn AVG-Demo


Video4: Introdução ao SQLServer2012 AlwaysOn Listener


Video5: Introdução ao SQLServer2012 AlwaysOn Readable Secondaries


Video6: Introdução ao SQLServer2012 AlwaysOn Readable Secondaries-Demo


Video7: Introdução ao SQLServer2012 AlwaysOn Failover Clustering


Serie SQL Server Failover Clustering End-to-End

Parte 1: Configuração da Rede e Ambiente


Parte 2: Configurando o Windows 2008 R2 Domain Controler e DNS


Parte 3: Preparando os nós para o Failover Cluster


Parte 4: Configurando um Failover Cluster de 2 nós


Parte 5: Configurando as LUNs no iSCSI Software Target (Parte 1)


Parte 6: Configurando as LUNs no iSCSI Software Target (Parte 2)


Parte 7: Apresentando as LUNs para os nós do Failover Cluster


Parte 8: Configurando os discos no Failover Cluster


Parte 9: Instalando a primeira instância virtual do SQL Server 2008


Parte 10: Instalando a segunda instância virtual do SQL Server 2008


Parte 11: Instalando e Configurando o MSDTC no Failover Cluster


Parte 12: Configurando Mount Points no Cluster e SQL Server 2008


Vídeo Extra: Removendo uma Instância do SQL Server 2008 R2 em Cluster


Alta Disponibilidade no SQL Server 2008 R2: Failover Clustering Overview


Alta Disponibilidade no SQL Server 2008 R2: Failover Clustering na Prática

Menu

  • Home
  • Sobre
  • Contato

Mais

  • RSS Feeds
2026 MCDBA Brasil.