| Termin | Definicja |
|---|---|
| Tabela globalna tymczasowa | Tabela globalna tymczasowa jest widoczna dla wszystkich sesji i istnieje do zamknięcia ostatniej z nich. Jak działa globalna tabela tymczasowa w SQL ServerGlobalna tabela tymczasowa w Microsoft SQL Server jest obiektem tworzonym w bazie systemowej Przykładowa definicja może wyglądać następująco: Widoczność, nazwa i cykl życia obiektuPo utworzeniu globalnej tabeli tymczasowej inne sesje mogą odwoływać się do niej przez tę samą nazwę, o ile tabela nadal istnieje. Sesja może wykonać zapytanie takie jak SQL Server usuwa globalną tabelę tymczasową automatycznie wtedy, gdy sesja, która ją utworzyła, zakończy działanie, a inne instrukcje korzystające z tego obiektu przestaną być wykonywane. W praktyce tabela może więc pozostać dostępna przez pewien czas po rozłączeniu twórcy, jeżeli druga sesja ma aktywne odwołanie do obiektu. Można ją także usunąć wcześniej poleceniem Globalna tabela tymczasowa nie jest trwałym elementem schematu aplikacji. Po jej usunięciu albo zakończeniu całego cyklu życia obiektu dane znikają. Nie należy więc używać jej jako zamiennika zwykłej tabeli przeznaczonej do przechowywania informacji pomiędzy uruchomieniami aplikacji. Jeżeli kilka procesów musi wymieniać dane przez dłuższy czas, właściwym miejscem jest tabela trwała z określonym schematem, kluczami i regułami dostępu. Współbieżność i konsekwencje użycia w zapytaniachWspólna widoczność oznacza, że dane zapisane przez jedną sesję mogą być odczytane przez inne sesje. Projektant zapytania musi zatem określić, która sesja odpowiada za utworzenie tabeli, jakie rekordy należą do konkretnego zadania oraz kiedy dane można bezpiecznie usunąć. Bez dodatkowego identyfikatora, na przykład kolumny Globalne tabele tymczasowe są umieszczane w Podwójna kratka jest częścią nazwy obiektu i należy zachować ją w każdym odwołaniu. Próba utworzenia drugiej globalnej tabeli o tej samej nazwie może zakończyć się błędem, gdy pierwszy obiekt nadal istnieje. Z tego powodu aplikacje wykonujące niezależne zadania często stosują nazwy zawierające rozpoznawalny identyfikator operacji albo tworzą zwykłe tabele tymczasowe, jeśli współdzielenie danych nie jest wymagane. Warto również jawnie wykonać Sprawdzanie tabeli w diagnostyce SQL ServerObecność globalnej tabeli tymczasowej można kontrolować w metadanych Podczas analizy problemu należy sprawdzić kolejność utworzenia obiektu, moment zakończenia sesji twórczej, aktywne zapytania oraz blokady w W środowisku serwisowym poprawna diagnoza powinna rozróżniać błąd samego SQL Server od błędu logiki aplikacji. Komunikat o nieistniejącej tabeli może oznaczać niewłaściwą kolejność wykonywania poleceń, użycie innej instancji SQL Server, pracę w innym kontekście połączenia albo przedwczesne zakończenie sesji tworzącej obiekt. Z kolei brak oczekiwanych wierszy może wynikać z niezatwierdzonej transakcji, usunięcia danych przez równoległe zadanie lub braku izolacji rekordów należących do poszczególnych operacji. |