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.
Uruchom New Trace i zaloguj się jako użytkownik: sa
Aby zakończyć:
Microsoft SQL Server Management Studio
Włączenie okna SQL Query
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;
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;
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;
(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;
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
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
Usuń zawartość tabeli cdn.Pracidx za wyjątkiem pracownika 'J23'
USE CDN_ELTES_PIGA;
GO
-- Wyświetl zawartość tabeli dla pracownika J23
DELETE FROM cdn.Pracidx WHERE PRI_Kod <> 'J23';
GO
Zmień zawartość tabeli cdn.PracKod i cdn.Pracidx za wyjątkiem pracownika 'J23' - animizacja danych
USE CDN_ELTES_PIGA;
GO
SELECT DB_NAME() AS BazaAktualna;
SELECT * FROM CDN_ELTES_PIGA.CDN.PracKod order by 1 desc;
DECLARE @i INT;
SET @i = 2;
WHILE @i <= 1350
BEGIN
UPDATE CDN_ELTES_PIGA.CDN.PracKod SET PRA_kod = @i WHERE PRA_PraId = @i;
SET @i = @i + 1;
END
SELECT * FROM CDN_ELTES_PIGA.CDN.PracKod order by 1 desc;
USE CDN_ELTES_PIGA;
GO
SELECT DB_NAME() AS BazaAktualna;
SELECT * FROM CDN_ELTES_PIGA.CDN.PracKod order by 1 desc;
DECLARE @i INT;
SET @i = 2;
WHILE @i <= 1350
BEGIN
UPDATE CDN_ELTES_PIGA.CDN.PracKod SET PRA_kod = @i, PRA_EPEmail = @i, PRA_EPTelefon = @i WHERE PRA_PraId = @i;
SET @i = @i + 1;
END
SELECT * FROM CDN_ELTES_PIGA.CDN.PracKod order by 1 desc;
USE CDN_ELTES_PIGA;
GO
SELECT DB_NAME() AS BazaAktualna;
SELECT * FROM CDN_ELTES_PIGA.CDN.PracNieobec order by 1 desc;
DECLARE @i INT;
SET @i = 1;
WHILE @i <= 6000
BEGIN
UPDATE CDN_ELTES_PIGA.CDN.PracNieobec SET PNB_Seria = @i, PNB_Numer = @i, PNB_Opis = @i WHERE PNB_PnbId = @i;
SET @i = @i + 1;
END
SELECT * FROM CDN_ELTES_PIGA.CDN.PracNieobec order by 1 desc;
USE CDN_ELTES_PIGA;
GO
SELECT DB_NAME() AS BazaAktualna;
SELECT * FROM CDN_ELTES_PIGA.CDN.Rodzina order by 1 desc;
DECLARE @i INT;
SET @i = 1;
WHILE @i <= 30
BEGIN
UPDATE CDN_ELTES_PIGA.CDN.Rodzina SET RDZ_Nazwisko = @i, RDZ_Imie = @i, RDZ_Pesel = @i, RDZ_ADRUlica = @i, RDZ_ADRMiasto = @i WHERE RDZ_RdzId = @i;
SET @i = @i + 1;
END
SELECT * FROM CDN_ELTES_PIGA.CDN.Rodzina order by 1 desc;














No comments to display
No comments to display