Czy serwer SQL automatycznie je usuwa po upływie określonego czasu bezczynności lub czy muszę się martwić o ich automatyczne czyszczenie? Jeśli tak, w jaki sposób mogę zapytać o listę tabel do wyczyszczenia?Usuwanie globalnych tabel tymczasowych (## tempTable) w SQL Server
Odpowiedz
Lokalne tabele tymczasowe są niszczone po zamknięciu połączenia z serwerem SQL. Nie ma potrzeby ręcznego ich usuwania w normalnych okolicznościach. Jeśli utrzymujesz stałe połączenie lub pulę połączeń, możesz chcieć odejść od tymczasowych tabel natychmiast po użyciu.
Globalne tabele tymczasowe, z drugiej strony, ponieważ są widoczne dla wszystkich użytkowników w danej bazie danych, są niszczone wraz z ostatnim połączeniem, które je odsyła.
Pomimo faktu, że tabele tymczasowe są opuszczane po zakończeniu połączenia, często uważa się za dobrą praktykę wyraźne usuwanie takich tabel, aby uzyskać absolutną pewność, że miało miejsce czyszczenie.
Na przykład, jeśli platforma korzysta z puli połączeń, tzn. Połączenia nigdy nie zostaną usunięte, to czy w związku z tym tabele tymczasowe nadal istnieją?
Aby sprawdzić, czy istnieje tabela tymczasowa, można użyć poniższego wyciągu/czeku.
if object_id('tempdb..##temptbl') is not null
begin
drop table ##temptbl
end
w odpowiedzi na drugą część pytania, aby zapytać o listę tabel, aby oczyścić, spróbuj to zapytanie:
SELECT * FROM tempdb..sysobjects
którym będą wymienione wszystkie obecne globalne tabele tymczasowe
Dzięki, to jest naprawdę przydatne. – Contango
- 1. Zakres tabel tymczasowych w SQL Server
- 2. Tworzenie tymczasowych tabel w SQL
- 3. SQL Server 2005 - usuwanie wyzwalaczy tabel?
- 4. Usuń tabel tymczasowych z Apache SQL Spark
- 5. Wydajność typów tabel zdefiniowanych przez użytkownika w SQL Server
- 6. Czy istnieje sposób, aby uzyskać listę wszystkich bieżących tabel tymczasowych w SQL Server?
- 7. Usuwanie zduplikowanych rekordów w SQL Server
- 8. Jaka jest szybkość porównawcza tabel tymczasowych do fizycznych tabel w SQL?
- 9. Usuwanie danych z tabel zależnych
- 10. Aktualizacja SQL Server przy użyciu wielu tabel
- 11. lub operator Zwarcie w SQL Server
- 12. Usuwanie plików tymczasowych utworzonych przez pdf()
- 13. Pobierz arkusz programu Excel do tabel tymczasowych za pomocą skryptu
- 14. Czy indeksy tabel tymczasowych są usuwane po usunięciu tabeli?
- 15. SQL Server Enterprise Manager - Mass Usuwanie tabel i zmiana własnościowa tabelach
- 16. Zaznacz wszystkie kolumny ze wszystkich tabel w SQL Server 2008
- 17. Jaka jest właściwa składnia w SQL Server do adresowania tabel?
- 18. Aktualizuj wielu tabel w SQL Server przy użyciu INNER JOIN
- 19. Sugestie dotyczące wdrażania tabel kontroli w SQL Server?
- 20. Maksymalna liczba funkcjonujących tabel w SQL Server i MySQL
- 21. Pozbywanie się bufora tabeli w SQL Server Plan wykonania
- 22. Pule połączeń i zwalnianie tabel tymczasowych po powrocie
- 23. DataTableReader jest nieprawidłowy dla bieżącej DataTable „Temptable”
- 24. Jak przekonwertować oddzielone przecinkami NVARCHAR na rekordy tabel w SQL Server 2005?
- 25. Usuwanie wielu węzłach w jednolitym XQuery SQL Server
- 26. Podział ciąg przecinkiem w SQL Server 2008
- 27. Ulepszanie czasu wykonywania przechowywanych procedur - dostrajanie tabel tymczasowych?
- 28. Sourcing zdarzeń i wiele tabel relacyjnych SQL Server
- 29. Przecięcie w SQL Server
- 30. Czy istnieje standardowa praktyka synchronizacji tabel SQL Server?
Zakładam, że usługi raportowania nie będą trwałym połączeniem, więc byłbym w porządku? – Jeff
Uważam, że jest to nieprawidłowe dla globalnych tabel tymczasowych; Uważam, że globalne tabele tymczasowe (## MyTempTable) muszą zostać wyczyszczone, podczas gdy w przypadku normalnych tabel tymczasowych (#MyTempTable) to, co powiedziałbyś, miałoby zastosowanie .... prawda? –
@FrankV: Masz rację. Wyjaśniłem moją odpowiedź. – vezult