none
Sql Server Express 2012 - Tabela temporária RRS feed

  • Discussão Geral

  • Usamos sql expres 2012

    temos um processo que precisa usar tabelas temprárias

    preciso criar uma tabela temporária para o usuário logado para fazer este processo

    nossas dúvidass são.

    1 - as tabelas temporárias fazem parte dos 10 gigas do sql server express?

    2 - posso criar a tabela e eu mesmo remover esta tabela sem fechar a conexão com o banco de dados?

    3- existe um limite de tamanho ou de número de tabelas temporárias que posso criar no sql express 2012?


    • Editado jceoms quinta-feira, 7 de maio de 2015 12:26
    • Tipo Alterado Eduardo.Romero sexta-feira, 8 de maio de 2015 13:48
    quinta-feira, 7 de maio de 2015 12:22

Todas as Respostas

  • Boa  tarde,

    O tamanho da Base de Dados em SQL Server, é avaliado pelo tamanho do ficheiro Log+Tamanho dos ficheiros de Dados MDF e NDF+tamanho dos ficheiros do FileStream.

    Considerando que você esteja falando de uma tabela temporária nativa do SQL Server (aquela que começa com #), esta tabela será criada na Base de Dados TempDB, seguindo as mesmas regras do SQL Server no que diz respeito ao seu tamanho.

    Porém, caso você esteja usando mais de uma Base de Dados na mesma instância, pode ser bastante comprometedor estar a criar esta tabelas temporárias, uma vez que o seu limite pode ser atingido frequentemente. Porém, esta mesma tabela é apagado no momento em que o utilizador (do SQL) se desconecta do servidor.

    No seu caso, eu aconselhava a usar o Table Function. Funciona como se fosse uma tabela normal, porém, as suas transacções são feitas na memória do Servidor (o que em termos de desempenho é óptimo), permite a execução por mais de um utilizador simultaneamente e, (não tenho a certeza) você não tem as mesmas limitações em termos de tamanho da tabela.

    Caso tenha dúvidas, não hesite...

    Aguardo pelo seu feedback,

    Alberto Mandlate

    quinta-feira, 7 de maio de 2015 13:25
  • Bom dia,

    Vou tentar responder as suas duvidas...

    1 - as tabelas temporárias fazem parte dos 10 gigas do sql server express?

    Eu acredito que sim pois é um limitação a nível de instâncias você não poder ter vários bancos de 10 GB.

    2 - posso criar a tabela e eu mesmo remover esta tabela sem fechar a conexão com o banco de dados?

    Sim,

    create table #teste

    (nome varchar(10))

    Faz o que vc quer fazer e depois um

    drop table #teste

    3- existe um limite de tamanho ou de número de tabelas temporárias que posso criar no sql express 2012?

    Seguindo o mesmo critério da resposta 1, você pode criar qts tabelas temporárias quiser respeitando os 10 GB.

    Espero ter ajudado.


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesso o meu blog http://tiagoneves.net

    quinta-feira, 7 de maio de 2015 13:27
  • Deleted
    quinta-feira, 7 de maio de 2015 13:33
  • Deleted
    quinta-feira, 7 de maio de 2015 13:51
  • Deleted
    quinta-feira, 7 de maio de 2015 17:52
  • José.Diz,

    Também não encontrei nada, mas parece que o limite para uso de objetos temporaries esta relacionado com a quantidade de objetos que o banco de dados suporta.

    Mas a algum tempo atrás eu não me lembro, parece que eu vi uma apresentação dizendo que o número máximo de tabelas temporárias é de 32.768, não posso afirmar mas eu vi algo neste sentido.


    Pedro Antonio Galvao Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 8 de maio de 2015 17:01
  • Deleted
    sexta-feira, 8 de maio de 2015 21:30