none
Particionamento de tabela RRS feed

  • Pergunta

  • Olá a todos

    Uma tabela foi particionada, se estiver certo, os passos para particionamento seriam os seguintes ?:

    1- CRIAR FILE GROUP

    2- CRIAR OS ARQUIVOS DAS PARTIÇÕES

    3- CRIAR PARTITION FUNCTION E SCHEMA

    4- DROPAR O INDIÇE E RECRIAR DEIXANDO ELE DENTRO DO PARTICIONAMENTO

    A duvida é, na imagem seguinte o índice foi recriado, porem o particionamento foi feito erradamente ? sendo que o índice não esta dentro do schema de partição?

    O Particionamento foi feito por data, porem o campo que armazena data não faz parte do índice, e ele ainda é um indiçe non clustered.

    Mais uma duvida, quando é recriado o índice, o banco de dados primário o mdf, ele aumenta bastante o tamanho ?

    Espero ter conseguido explicar o cenário.

    Sei que existe uma opção de criar a tabela e fazer uma carga de dados para a tabela igual a original, como seria feito isso, e se é melhor do que dropar o índice e recria-lo





    terça-feira, 19 de janeiro de 2021 01:03

Respostas

  • Dyego,

    Se eu entendi a sua dúvida: "A duvida é, na imagem que coloquei o índice criado não faz parte de um schema de partição correto ? ele faz parte do arquivo primário." --- Sim neste seu caso sim.

    Esta outra dúvida: "poderia ir na opção de armazenamento da tabela >criar partição> estimar espaço e fazer o processo? isso pelo SSMS." Eu particularmente nunca criei pelo SSMS através da interface gráfica eu sempre fiz por linha de comando.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta Dyego Rodrigues sexta-feira, 22 de janeiro de 2021 20:05
    quarta-feira, 20 de janeiro de 2021 16:53
    Moderador

Todas as Respostas

  • Dyego,

    Vamos por partes, em relação a sequência de passos para se criar um particionamento de tabelas, praticamente é este, no caso eu recomendo que você crie o índice antes da população dos dados.

    Sobre a sua dúvida:

    O Particionamento foi feito por data, porem o campo que armazena data não faz parte do índice, e ele ainda é um indiçe non clustered.

    --- O particionamento é realizar através da função de particionamento do dado, independente da coluna ser ou não ser um índice.

    Mais uma duvida, quando é recriado o índice, o banco de dados primário o mdf, ele aumenta bastante o tamanho ?

    --- Dizer que ele vai aumentar bastante é relativo, mas ele vai crescer sim, saiba que o índice é uma estrutura fisicamente armazenada, contendo o tamanho das colunas de acordo com os seus respectivos tipos de dados.

    Vou compartilhar com você uma lista de posts publicados no meu blog, que destacam especificamente o uso de Partition Function e tabelas particionadas:

    Criando partition function no Microsoft SQL Server – Parte I | Junior Galvão – MVP – Data Platform (wordpress.com)

    Criando partition function no SQL Server – Parte II | Junior Galvão – MVP – Data Platform (wordpress.com)

    Criando partition function no SQL Server – Parte Final | Junior Galvão – MVP – Data Platform (wordpress.com)

    Gostaria de destacar também um recurso interessante adicionado a partir do SQL Server 2014 SP2 conhecido como Estatísticas Incrementais que possuem um comportamento que poderá lhe ajudar ainda mais no uso das tabelas particionadas:

    Dica do Mês – Conhecendo e aplicando o uso de atualização de estatísticas incrementais | Junior Galvão – MVP – Data Platform (wordpress.com)


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]



    terça-feira, 19 de janeiro de 2021 12:04
    Moderador
  • Junior

    Quando você fala nessa parte

    Vamos por partes, em relação a sequência de passos para se criar um particionamento de tabelas, praticamente é este, no caso eu recomendo que você crie o índice antes da população dos dados.

    A duvida é, na imagem que coloquei o índice criado não faz parte de um schema de partição correto ? ele faz parte do arquivo primário.

    E após os passos de criar o schema , particição criar o índice (dentro do schema de partição), o outro passo poderia ir na opção de armazenamento da tabela >criar partição> estimar espaço e fazer o processo? isso pelo SSMS.

    terça-feira, 19 de janeiro de 2021 12:19
  • Dyego,

    Se eu entendi a sua dúvida: "A duvida é, na imagem que coloquei o índice criado não faz parte de um schema de partição correto ? ele faz parte do arquivo primário." --- Sim neste seu caso sim.

    Esta outra dúvida: "poderia ir na opção de armazenamento da tabela >criar partição> estimar espaço e fazer o processo? isso pelo SSMS." Eu particularmente nunca criei pelo SSMS através da interface gráfica eu sempre fiz por linha de comando.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    • Marcado como Resposta Dyego Rodrigues sexta-feira, 22 de janeiro de 2021 20:05
    quarta-feira, 20 de janeiro de 2021 16:53
    Moderador
  • Obrigado por tirar as duvidas!
    sexta-feira, 22 de janeiro de 2021 20:05
  • Obrigado por tirar as duvidas!

    Dyego,

    Imagina, disponha.


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    segunda-feira, 25 de janeiro de 2021 12:08
    Moderador