¿El servidor SQL las purga automáticamente después de una determinada longitud de inactividad o debo preocuparme por purgarlas automáticamente? De ser así, ¿cómo consulto para obtener una lista de tablas para purgar?Eliminación de tablas temporales globales (## tempTable) en SQL Server
Respuesta
Las tablas temporales locales se destruyen cuando cierra su conexión a SQL Server. No es necesario purgarlos manualmente en circunstancias normales. Si mantiene una conexión persistente, o la agrupación de conexiones, es posible que desee adquirir el hábito de eliminar tablas temporales inmediatamente después de su uso.
Las tablas temporales globales, por otro lado, dado que son visibles para todos los usuarios en una base de datos dada, se destruyen junto con la última conexión que hace referencia a ellas.
A pesar del hecho de que las tablas temporales se eliminan cuando termina una conexión, a menudo se considera una buena práctica eliminar explícitamente dichas tablas para poder realizar una limpieza completa.
Por ejemplo, si su plataforma hace uso de la agrupación de conexiones, es decir, las conexiones nunca se pueden descartar, entonces, ¿sus tablas temporales por lo tanto, todavía existen?
Para comprobar la existencia de una tabla temporal, puede utilizar la siguiente instrucción/comprobación.
if object_id('tempdb..##temptbl') is not null
begin
drop table ##temptbl
end
En respuesta a la segunda parte de su pregunta, para consultar la lista de tablas para purgar, trate de esta consulta:
SELECT * FROM tempdb..sysobjects
que listará todas las actuales tablas temporales globales
Gracias, esto es realmente útil. – Contango
- 1. tablas temporales globales - SQL Server vs Oracle
- 2. Tablas temporales locales y globales en SQL Server
- 3. Uso de tablas temporales en SQL Server
- 4. Sql server 2008, son tablas temporales únicas
- 5. SQL Server/Oracle: tablas temporales privadas
- 6. ¿Son seguras las tablas temporales en SQL Server multiusuario?
- 7. usando tablas temporales en SQL Azure
- 8. SQL Server SELECT INTO y bloqueo con tablas temporales
- 9. SQL Server consulta de eliminación que implica dos tablas
- 10. Tablas temporales en el servidor sql
- 11. Tablas temporales en el servidor sql?
- 12. Intercalación predeterminada de tablas temporales
- 13. Mejor uso de índices en tablas temporales en T-SQL
- 14. Eliminación de columnas en MS SQL Server
- 15. SQL: eliminación de tablas con el prefijo
- 16. Tablas temporales de PostgreSQL
- 17. Tablas temporales del servidor SQL frente a los cursores
- 18. SQL Server, tablas temporales con truncar contra variable de tabla con eliminar
- 19. ¿Dónde se almacenan las tablas temporales en el servidor sql?
- 20. Innodb y tablas temporales
- 21. Tablas temporales en procedimientos almacenados
- 22. SQL: eliminación de registros duplicados en SQL Server
- 23. Cuándo utilizar la tabla temporal en SQL Server 2005
- 24. ¿Cómo uso la eliminación de cascada con SQL Server?
- 25. Combinar dos tablas en SQL Server 2008
- 26. unen tres tablas en SQL Server 2005
- 27. ¿Cuál es la velocidad comparativa de las tablas temporales con las tablas físicas en SQL?
- 28. Sugerencias para implementar tablas de auditoría en SQL Server?
- 29. Eliminación de archivos temporales después del uso
- 30. Eliminación de archivos temporales creados por pdf()
Supongo que informar los servicios no sería una conexión persistente, ¿estaría bien? – Jeff
Creo que esto es incorrecto para las tablas temporales globales; Creo que las tablas temporales globales (## MyTempTable) deben ser depuradas, mientras que para las tablas temporales normales (#MyTempTable) lo que dices se aplicaría ... ¿Cierto? –
@FrankV: tienes razón. He aclarado mi respuesta. – vezult