none
Diferença em criar banco com 80 e 90 RRS feed

  • Pergunta

  • Gostaria de saber a diferença em criar banco com compatibility level 80 e 90, se eu criando como 90 melhora em performance, sei que eu criando como 90 eu consigo gerar os relatórios.

    gostaria de saber também a diferenca de um banco Recevry model: simples de um full. qual o recomendavel ?

    uma ultima duvida, quando eu gero o relatorio sobre o banco usando aquele Repor, na opcao disk usage / physical statistcs for all indexes, la ele mostra o operation recomended, e la tem algumas para rebuil ou reorganize, mesmo eu rodando os comandos para reindexar, reorganizar, rebuil essas mensagems continuam aparecendo ?

    Grato



    quinta-feira, 14 de julho de 2011 13:11

Respostas

  • Fabio,

     

    Vamos la, antes de tudo, desculpe pela resposta grande, mas são duvidas importantes, e é preciso que voce saiba bem as diferencas:

     

    Em relação ao compability level:

    O level 80 trabalha em nivel de compatibilidade com o SQL Server 2000, portanto, tudo que funciona no 2000, ira funcionar em uma base com nivel de compatibilidade 80.

    O level 90 trabalha em nivel de compatibilidade com o SQL Server 2005, portanto, tudo que funciona no  2005 ira funcionar em uma base com o nivel de compatibilidade 90, porem, se voce rodar alguma query que seja exclusiva do SQL Server 2000 e que em versões mais atuais foi descontinuada, sera retornado um erro.

     

    Em relação aos recovery model´s:

     

    Simple: Toda transação no banco de dados é gravada no log, se sua base estiver em recovery model simple, os seguintes step irão ocorrer:

    1 - Usuario roda a query.

    2 - Query gravada no log (O arquivo .ldf de sua base).

    3 - Query finaliza.

    4 - Query é deletada do log, fazendo com que seu arquivo de log não cresca.

     

    Full: Toda transação gravada no log com a base em recovery model full não sera deletada, os seguintes steps irão ocorrer:

    1 - Usuario roda a query.

    2 - Query gravada no log.

    3 - Query finaliza

    4 - Arquivo de log guarda a query portanto vai crescendo conforme o tempo

     

    Existe tambem o bulk-logged, que é recomendado para quando sera feita algum bulk-insert (Carga de dados em massa a partir de um arquivo txt por exemplo), onde voce ganha performance, alem de seu log não gravar linha por linha inserida

    Para algumas soluções de alta disponibilidade como log shipping por exemplo, é necessario que sua base esteja em recovery model full, pois essa solução consiste em retirar o backup de log de uma base e restaurar periodicamente na outra.

    Existem vantagens e desvantagens nas 2(3) maneiras:

    Simple

    Vantagem: Arquivo de log não cresce.

    Desvantagem: Não possui backup de log, teoricamente em caso de falha, voce teria um tempo mais de perda de dados (Claro que isso depende da solução de backup aplicada)

     

    Full

    Vantagem: Restore in time, voce pode especificar uma hora especifica na hora do restore

     Menor tempo de perda de dados em caso de falha (novamente, depende de sua solução de backup)

    Desvantagem: Mais arquivos para gerenciar.

         Necessario maior espaço em disco disponivel

     

    Existem muitos documentos na internet sobre esse assunto, recomendo algumas leituras, inclusive no Books Online do SQL Server que é uma ótima documentação, e possui muitas informações bem detalhadas sobre esse assunto.


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quinta-feira, 14 de julho de 2011 13:21
    Moderador

Todas as Respostas

  • Fabio,

     

    Vamos la, antes de tudo, desculpe pela resposta grande, mas são duvidas importantes, e é preciso que voce saiba bem as diferencas:

     

    Em relação ao compability level:

    O level 80 trabalha em nivel de compatibilidade com o SQL Server 2000, portanto, tudo que funciona no 2000, ira funcionar em uma base com nivel de compatibilidade 80.

    O level 90 trabalha em nivel de compatibilidade com o SQL Server 2005, portanto, tudo que funciona no  2005 ira funcionar em uma base com o nivel de compatibilidade 90, porem, se voce rodar alguma query que seja exclusiva do SQL Server 2000 e que em versões mais atuais foi descontinuada, sera retornado um erro.

     

    Em relação aos recovery model´s:

     

    Simple: Toda transação no banco de dados é gravada no log, se sua base estiver em recovery model simple, os seguintes step irão ocorrer:

    1 - Usuario roda a query.

    2 - Query gravada no log (O arquivo .ldf de sua base).

    3 - Query finaliza.

    4 - Query é deletada do log, fazendo com que seu arquivo de log não cresca.

     

    Full: Toda transação gravada no log com a base em recovery model full não sera deletada, os seguintes steps irão ocorrer:

    1 - Usuario roda a query.

    2 - Query gravada no log.

    3 - Query finaliza

    4 - Arquivo de log guarda a query portanto vai crescendo conforme o tempo

     

    Existe tambem o bulk-logged, que é recomendado para quando sera feita algum bulk-insert (Carga de dados em massa a partir de um arquivo txt por exemplo), onde voce ganha performance, alem de seu log não gravar linha por linha inserida

    Para algumas soluções de alta disponibilidade como log shipping por exemplo, é necessario que sua base esteja em recovery model full, pois essa solução consiste em retirar o backup de log de uma base e restaurar periodicamente na outra.

    Existem vantagens e desvantagens nas 2(3) maneiras:

    Simple

    Vantagem: Arquivo de log não cresce.

    Desvantagem: Não possui backup de log, teoricamente em caso de falha, voce teria um tempo mais de perda de dados (Claro que isso depende da solução de backup aplicada)

     

    Full

    Vantagem: Restore in time, voce pode especificar uma hora especifica na hora do restore

     Menor tempo de perda de dados em caso de falha (novamente, depende de sua solução de backup)

    Desvantagem: Mais arquivos para gerenciar.

         Necessario maior espaço em disco disponivel

     

    Existem muitos documentos na internet sobre esse assunto, recomendo algumas leituras, inclusive no Books Online do SQL Server que é uma ótima documentação, e possui muitas informações bem detalhadas sobre esse assunto.


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quinta-feira, 14 de julho de 2011 13:21
    Moderador
  • Boa Tarde,

    Eu peço que nas próximas iterações com o fórum coloque suas dúvidas em post distintos. São três dúvidas não relacionadas no mesmo post. Isso acaba tornando o post "eterno" e atrapalha a pesquisa do fórum.

    No resto mais, espero que as dúvidas tenham sido esclarescidas senão, um post nova para cada uma :)

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    quinta-feira, 14 de julho de 2011 16:33