Skip to main content

MS SQL: delete - czyszczenie tabel pracowników

Microsoft SQL Server Profiler

SQL Server Profiler służy do śledzenia, analizy i diagnozowania zdarzeń zachodzących w bazie danych Microsoft SQL Server. Jest to narzędzie graficzne, które przechwytuje i zapisuje zdarzenia, takie jak zapytania, procedury składowane czy blokady, w celu późniejszego przeanalizowania ich działania. Pozwala to na znajdowanie wolno działających zapytań, identyfikowanie wąskich gardeł wydajnościowych oraz rozwiązywanie problemów z blokadami i deadlockami. 

Główne zastosowania SQL Server Profilera:
  • Znajdowanie i diagnozowanie wolno działających zapytań: Umożliwia przechwycenie serii instrukcji Transact-SQL, które prowadzą do problemu z wydajnością.
  • Optymalizacja wydajności: Przechwycone dane można analizować, aby zoptymalizować system, np. poprzez dodanie odpowiednich indeksów.
  • Analiza blokad i deadlocków: Pomaga w identyfikowaniu i rozwiązywaniu problemów związanych z blokowaniem zasobów przez różne procesy.
  • Monitorowanie zdarzeń: Pozwala na śledzenie szerokiego zakresu zdarzeń, w tym logowań, transakcji, wywołań procedur i triggerów.
  • Tworzenie i testowanie planów wykonania: Można go użyć do przechwycenia dokładnego tekstu zapytania do wykorzystania w przewodniku po planie. 

image.png

image.png

Uruchom New Trace i zaloguj się jako użytkownik: sa

image.png

image.png

image.png

Aby zakończyć:

image.png

Microsoft SQL Server Management Studio

Włączenie okna SQL Query

image.png

Ustawienie bazy danych

Ustawienie aktualnej bazy danych, np. CDN_ELTES_PIGA:

USE ELTES_PIGA;
GO

Sprawdzenie aktualnie ustawionej bazy danych:

SELECT DB_NAME() AS BazaAktualna;

image.png

image.png

Wyświetlenie listy tabel

Z widoku systemowego INFORMATION_SCHEMA.TABLES

USE CDN_ELTES_PIGA;
GO

SELECT TABLE_SCHEMA, TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
ORDER BY TABLE_SCHEMA, TABLE_NAME;

image.png

Z katalogu systemowego sys.tables

USE CDN_ELTES_PIGA;
GO

SELECT s.name AS SchemaName,
       t.name AS TableName,
       t.create_date,
       t.modify_date
FROM sys.tables t
JOIN sys.schemas s ON t.schema_id = s.schema_id
ORDER BY s.name, t.name;

image.png

(Opcjonalnie) Jeśli chcesz też widzieć widoki

USE CDN_ELTES_PIGA;
GO

SELECT TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
ORDER BY TABLE_TYPE, TABLE_SCHEMA, TABLE_NAME;

image.png

Sprawdzenie istnienia tabeli

USE CDN_ELTES_PIGA;
GO

-- Sprawdź, czy tabele istnieją
SELECT * FROM sys.tables WHERE name IN ('PracIdx') AND SCHEMA_NAME(schema_id) = 'cdn';
GO

image.png

Podgląd wybranej tabeli, np. cdn.Pracidx

USE CDN_ELTES_PIGA;
GO

-- Wyświetl zawartość tabeli dla pracownika J23
SELECT * FROM cdn.Pracidx WHERE PRI_Kod = 'J23' ORDER BY PRI_PriId DESC;
GO

image.png

Usuń zawartość tabeli cdn.Pracidx za wyjątkiem pracownika 'J23'