Artigo: 307487 - Última revisão: sábado, 17 de Setembro de 2011 - Revisão: 3.0 Como diminuir a base de dados tempdb no SQL Server
Nesta páginaSumário
Este artigo indica três métodos que pode utilizar para diminuir a base de dados tempdb para um tamanho mais pequeno do que o último tamanho configurado. O primeiro método proporciona-lhe um controlo total do tamanho dos ficheiros tempdb mas requer o reinício do SQL Server. O segundo método diminui a totalidade do tempdb, com algumas limitações, que podem incluir o reinício do SQL Server. O terceiro método permite-lhe diminuir ficheiros individuais no tempdb. Os dois últimos métodos requerem que não exista actividade na base de dados tempdb durante a operação de redução. Nota Se estiver a utilizar o SQL Server 2005, estes métodos também se aplicam. No entanto, deverá utilizar o SQL Server Management Studio em vez do Enterprise Manager e Query Analyzer para efectuar estas operações. Tenha em atenção que o SQL Server management studio em 2005 não exibe o tamanho correcto dos ficheiros tempdb após uma operação de redução. O valor "Espaço atribuído actual" é sempre recuperado dos sys.master_ficheiros DMV e este valor não é actualizado após uma operação de redução para uma base de dados tempdb. Para localizar o tamanho correcto dos ficheiros tempdb após uma operação de redução, execute a seguinte declaração no estúdio de gestão: Nota O SQL Server 2008 não é afectado por este problema (a interface gráfica apresenta o tamanho incorrecto.) Informações de TempdbO tempdb é uma área de trabalho temporária. Entre outras utilizações, o SQL Server utiliza o tempdb para:
Por predefinição, a base de dados tempdb é configurada para aumentar automaticamente como necessário; por conseguinte, esta base de dados pode aumentar com o tempo para um tamanho maior do que o pretendido. Basta reiniciar o SQL Server para repor o tamanho do tempdb para o último tamanho configurado. O tamanho configurado é o último tamanho explícito definido com uma operação de modificação de tamanho de ficheiro como ALTER DATABASE com a opção MODIFY FILE ou o extracto DBCC SHRINKFILE. Este artigo apresenta três métodos que pode utilizar para diminuir o tempdb para um tamanho mais pequeno do que o último tamanho configurado. Método 1 para Diminuir TempdbEste método requer que o SQL Server seja reiniciado.
Método 2 para Diminuir TempdbUtilize o comando DBCC SHRINKDATABASE para reduzir a totalidade da base de dados tempdb. DBCC SHRINKDATABASE recebe o parâmetro target_percent, que é a percentagem pretendida de espaço disponível no ficheiro da base de dados após a base de dados ter sido reduzida. Se utilizar o DBCC SHRINKDATABASE, poderá ter de reiniciar o SQL Server.IMPORTANTE: Se executar o DBCC SHRINKDATABASE, não pode haver qualquer outro tipo de actividade da base de dados tempdb. Para assegurar que não existem outros processos a utilizar o tempdb, enquanto o DBCC SHRINKDATABASE está a ser executado, necessita de utilizar o SQL Server no modo de utilizador único. Para mais informações, consulte a secção Efeitos da Execução do DBCC SHRINKDATABASE ou DBCCSHRINKFILE Enquanto Tempdb Está a ser Utilizado deste artigo.
Método 3 para Diminur TempdbUtilize o comando DBCC SHRINKFILE para reduzir os ficheiros tempdb individuais. O DBCC SHRINKFILE proporciona mais flexibilidade do que o DBCC SHRINKDATABASE, uma vez que pode utilizá-lo num único ficheiro de base de dados, sem afectar outros ficheiros que pertencem à mesma base de dados. O DBCC SHRINKFILE recebe o parâmetro tamanho de destino, que representa o tamanho final pretendido do ficheiro da base de dados.IMPORTANTE: Necessita de executar o comando DBCC SHRINKFILE enquanto não ocorre mais actividade na base de dados tempdb. Para assegurar que não existem outros processos a utilizar o tempdb enquanto o DBCC SHRINKFILE está a ser executado, necessita de reiniciar o SQL Server no modo de utilizador único. Para mais informações sobre o DBCC SHRINKFILE, consulte a secção Efeitos da Execução do DBCC SHRINKDATABASE ou DBCCSHRINKFILE Enquanto Tempdb Está a ser Utilizado deste artigo.
No SQL Server 7.0, uma redução do registo de transacção é uma operação diferida e necessita de emitir um truncamento de registo e cópia de segurança para ajudar na operação de redução numa base de dados. No entanto, por predefinição, otempdb tem a opção trunc log on chkpt definida para LIGADO; portanto, não necessita de emitir um truncamento de registo para a base de dados. Para obter informações adicionais sobre como reduzir um registo de transacção da base de dados no SQL Server 7.0, clique no número de artigo abaixo, para visualizar o artigo na Base de Dados de Conhecimento da Microsoft: 256650
(http://support.microsoft.com/kb/256650/pt/
)
INF: Como reduzir o Registo de Transacção SQL Server 7.0 Efeitos da Execução do DBCC SHRINKDATABASE ou DBCCSHRINKFILE Enquanto Tempdb Está a ser UtilizadoSe o tempdb estiver a ser utilizado e tentar reduzi-lo, utilizando os comandos DBCC SHRINKDATABASE ou DBCC SHRINKFILE, poderá receber múltiplos erros de consistência semelhantes ao seguinte tipo e a operação de redução pode falhar:
Servidor: Msg 2501, Level 16, State 1, Line 1 Não foi possível localizar a tabela nomeada '1525580473'. Verificar objectos de sistema.
- ou -
Servidor: Msg 8909, Level 16, State 1, Line 0 Table Corrupt: Object ID 1, index ID 0, page ID %S_PGID. The PageId in the page header = %S_PGID.
REFERÊNCIASSQL Server Books Online; tópicos: "DBCC SHRINKFILE"; "DBCC SHRINKDATABASE"A informação contida neste artigo aplica-se a:
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções de Artigos
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
Voltar ao topo