Administracja i programowanie pod Microsoft SQL Server 2000



Podobne dokumenty
Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Wstęp INFORMATOR TECHNICZNY WONDERWARE. Wysyłanie wiadomości z programu Wonderware Historian. 1. Aktywowanie Database Mail

Administracja i programowanie pod Microsoft SQL Server 2000

Laboratorium A: Monitorowanie aktywności serwera

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server

SYSTEM INFORMATYCZNY KS-SEW

Oracle PL/SQL. Paweł Rajba.

Ćwiczenia 2 IBM DB2 Data Studio

Zasady współpracy programu Doradca Handlowy z Symfonią

Microsoft SQL Server 2012 Krok po kroku

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Administracja i programowanie pod Microsoft SQL Server 2000

Wdrożenie modułu płatności eservice. dla systemu Magento

Obowiązuje od wersji

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

BAZY DANYCH Cz III. Transakcje, Triggery

Bazy Danych i Usługi Sieciowe

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

BACKUP BAZ DANYCH MS SQL

Cele. Definiowanie wyzwalaczy

Bazy danych i usługi sieciowe

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Systemowe aspekty baz

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT

Administracja i programowanie pod Microsoft SQL Server 2000

SQL Server Configuration Manager centrum dowodzenia

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

15. Funkcje i procedury składowane PL/SQL

Pracownia internetowa w szkole ZASTOSOWANIA

Struktura bazy danych

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

SAP BASIS Architektura systemu klient Server

Administracja i programowanie pod Microsoft SQL Server 2000

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

Zarządzanie Infrastrukturą IT. Jak ręcznie utworzyć instancję EAUDYTORINSTANCE na SQL Serwerze

Alians AMReminder. Przypomnij kontrahentom o nierozliczonych płatnościach

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Programowanie obiektów

Administracja i programowanie pod Microsoft SQL Server 2000

BACKUP BAZ DANYCH FIREBIRD

CREATE USER

Instrukcja instalacji

SAS Institute Technical Support

1 Powłoka programu Windows PowerShell Skrypty programu Windows PowerShell Zarządzanie dziennikami... 65

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik

Instrukcja instalacji i obsługi programu Szpieg 3

Administracja i programowanie pod Microsoft SQL Server 2000

Programowanie po stronie serwera w SZBD. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Win Admin Replikator Instrukcja Obsługi

Administracja i programowanie pod Microsoft SQL Server 2000

Instalacja Active Directory w Windows Server 2003

Zalecana instalacja i konfiguracja Microsoft SQL Server 2016 Express Edition dla oprogramowania Wonderware

Podręcznik użytkownika

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

Systemowe aspekty baz danych

Systemy operacyjne i sieci komputerowe Szymon Wilk Konsola MMC 1

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Instrukcja instalacji Control Expert 3.0

Laboratorium A: Korzystanie z raportów zasad grupy/klucz do odpowiedzi

Kancelaria Prawna.WEB - POMOC

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

HELIOS pomoc społeczna

Instrukcja obsługi aplikacji Karty Pojazdów dla Dealerów Samochodowych

William R. Stanek. Vademecum Administratora 2012 R2. Windows Server. Podstawy i konfiguracja. Przekład: Leszek Biolik

Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wlkp. Laboratorium architektury komputerów

Instrukcja instalacji aplikacji PlanSoft.org

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Prawa dostępu do serwera. Nadawanie i odbieranie uprawnień DCL. Użytkownicy a role

Microsoft SQL Server 2012 : krok po kroku / Patrick LeBlanc. Warszawa, Spis treści

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Materiały dla studentów Sieci Komputerowe. Aby zainstalować usługę Active Directory dla nowej domeny, należy wykonać następujące kroki:

Szpieg 2.0 Instrukcja użytkownika

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

Pracownia internetowa w każdej szkole (edycja jesień 2005)

Win Admin Replikator Instrukcja Obsługi

PHP: bazy danych, SQL, AJAX i JSON

Inżynieria Programowania Laboratorium 3 Projektowanie i implementacja bazy danych. Paweł Paduch paduch@tu.kielce.pl

Instrukcja instalacji usługi Sygnity Service

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Silent setup SAS Enterprise Guide (v 3.x)

SQL Server. Odtwarzanie baz danych.

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

Transkrypt:

Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/

Zawartość modułu 13 Zastosowania SQL Server Agent SQL Mail, SQL Server Agent Mail Konfiguracja SQLMaila SQLServerAgent Zarządzanie zadaniami Operatorzy Zarządzanie zadaniami - 1 -

SQL Server Agent Zastosowania przetwarzanie alertów uruchamianie zadań w terminie wysyłanie powiadomień do operatorów - 2 -

SQL Mail SQL Mail służy do wykonywania zapytań i zwracania zbiorów wyników przez email działa za pośrednictwem usługi SQL Server można za jego pomocą m.in.: przetworzyć maile ze skrzynki pocztowej SQL Mail wysłać maila - 3 -

SQL Server Agent Mail SQL Server Agent Mail służy do wysyłania zawiadomień poprzez email lub pager, np. czy zadanie się powiodło, czy nie komunikat informujący o uruchomieniu alertu działa za pośrednictwem usługi SQL Server Agent - 4 -

Konfiguracja SQLMail SQLServer jako klient poczty Podłączamy serwera Microsoft Exchange Tworzymy skrzynkę pocztową na koncie uruchamiającym SQL Server i SQL Server Agent. Instalujemy klienckie oprogramowanie pocztowe (np. Microsoft Outlook) Dla każdego konta tworzymy profile pocztowe za pomocą narzędzia Poczta w Panelu Sterowania. Nazwy powinny być SQLMailAccount i/lub SQLServerAgentAccount Wskazówka: przy tworzeniu profilu należy zalogować się na konto, dla którego tworzony jest profil Konfiguracja SQL Mail EM Support Services SQL Mail - 5 -

Przykład konfiguracji SQLMail Środowisko testowe: Kontroler domeny nwtraders.msft (LONDON): Windows 2000 Server Exchange 2000 Outlook 2003 Komputer wpięty do domeny Windows 2000 Server SQLServer 2000 + SP3 Outlook 2003-6 -

Przykład konfiguracji SQLMail Logujemy się na konto Administrator tworzymy konta + skrzynki pocztowe SQLServerAccount SQLAgentAccount dodajemy konta do grupy Administratorzy domeny Logujemy się na konto SQLServerAccount Włączamy Outlooka, tworzymy profil na Exchange Włączamy Panel Sterowania Mail usuwamy istniejący profil Outlook dodajemy nowy profil o nazwie SQLServerMail do Exchange'a na konto SQLServerAccount - 7 -

Przykład konfiguracji SQLMail Logujemy się na konto Administrator Uruchamiamy Enterprise Manager Wybieramy właściwości serwera, zakładkę security Ustawiamy konto usługi na NWTRADERS\SQLServerAccount Wybieramy Support Services, właściwości SQL Mail Profil ustawiamy na SQLServerMail, klikamy Test - 8 -

Przykład 1 użycia SQL Maila Logujemy się na konto Administrator Uruchamiamy: Query Analyzer, Outlook W Query Analyzer wykonujemy zapytanie: xp_sendmail @recipients='administrator@nwtraders.msft', @message='ilość rekordów w tabeli pubs..titles:', @subject='wiadomość od mailera SQL', @query='select COUNT(*) FROM pubs..titles' Jeśli pojawia się błąd 'xp_sendmail: failed with mail error 0x80004005', wykonujemy master.dbo.xp_stopmail i wykonujemy zapytanie ponownie W Outlooku powinien pojawić się mail - 9 -

Przykład 2 użycia SQL Maila Mamy bazę sklep z listy drugiej. Tworzymy następujący wyzwalacz CREATE TRIGGER Przeterminowane ON dbo.dostawa FOR INSERT, UPDATE AS BEGIN IF EXISTS(SELECT * FROM Sklep..Dostawa WHERE DataWaznosci<GETDATE()) BEGIN EXEC master.dbo.xp_sendmail @recipients='administrator@nwtraders.msft', @message='lista towarów przeterminowanych:', @subject='sqlmail: Przeterminowane', @query='zapytanie' --na następnym slajdzie END END - 10 -

Przykład 2 użycia SQL Maila Zapytanie dajemy następujące: SELECT d.*, p.* FROM Sklep.dbo.Dostawa d JOIN Sklep.dbo.Produkt p ON d.idproduktu=p.idproduktu WHERE d.datawaznosci<getdate() Następnie w Query Analyzer dajemy zapytania: insert into sklep.dbo.produkt values(1,'cukier','kg') insert into sklep.dbo.dostawa values(1,1,10,'2005-10-20', '2005-10-30') insert into sklep.dbo.dostawa values(1,1,10,'2005-10-2', '2005-10-10') - 11 -

Przykład 3 użycia SQL Maila Przykład prostszy, robimy demonstrację Tworzymy tabelę zamowienie Zamowienie(id int, towar varchar(80), data datetime, akceptacja varchar(3)) - 12 -

Przykład 3 użycia SQL Maila Tworzymy wyzwalacz CREATE TRIGGER TR_DoAkceptacji on Zamowienie AFTER INSERT AS BEGIN CREATE TABLE Tempdb.Aux(Id INT, Towar VARCHAR(80), Data DATETIME); INSERT INTO Tempdb.Aux SELECT Id, Towar, Data FROM Inserted; EXEC xp_sendmail @recipients='administrator@nwtraders.msft', @subject='zamowienie do akceptacji', @query='select * FROM Tempdb..Aux'; DROP TABLE Tempdb.Aux; END; - 13 -

Przykład 3 użycia SQL Maila Na końcu dodajemy zamowienia INSERT INTO Zamowienie VALUES (1, 'Banany', '2006-05-20', null); INSERT INTO Zamowienie VALUES (2, 'Gwoździe', '2006-05-22', null); I patrzymy, jak spływają maile - 14 -

Przykład 4 użycia SQL Maila Wysyłamy trzy maile od Administrator do SQLServerAccount; kolejne maile zawierają SELECT * FROM pubs..titles SELECT * FROM pubs..authors SELECT * FROM Northwind..Products Następnie w SQL Query Analyzer odpalamy procedurę sp_processmail I patrzymy, jak spływają maile - 15 -

SQL Server Agent Konfiguracja usługi SQL Server Agent Usługa musi być włączona cały czas (należy włączyć autostart przy uruchamianiu) Konto usługi musi mieć w SQLServer rolę sysadmin Konto systemowe należy do grupy adminów i jest mapowane na sysadmin; daje dostęp tylko do zasobów lokalnych i nie ma dostępu do sieci Konto domenowe niezbędne, gdy SQLSA musi się komunikować z innymi serwerami poczty, i ogólnie, gdy musi mieć dostęp do zasobów sieciowych - 16 -

SQL Server Agent Automatyczne ponowne uruchamianie usług EM Management Właściwości SQL Server A. Zakładka Advanced Restart Services Ustawianie profilu pocztowego EM Management Właściwości SQL Server A. Mail Session Przeglądanie dzienników SQL Server Agent EM Management SQL Server A. prawy przycisk myszy Display Error Log - 17 -

Zarządzanie zadaniami Tworzenie zadania Enterprise Manager EM Management Jobs (ppm) New Job... TSQL sp_add_job (składnia w dokumentacji) Dane zapisywane są w msdb..sysjobs - 18 -

Zarządzanie zadaniami Uwagi przy tworzeniu zadania Pole Name zawiera opisową nazwę (max. 128 znków). Zmiana nazwy NIE powoduje zmiany w odwołaniach (np. plikach historii, czy dziennikach) Kategorie pomagają uporządkować zadania Zarządzanie kategoriami EM Management Jobs (ppm) Wszystkie zadania Manage Job Categories... - 19 -

Zarządzanie zadaniami Tworzenie kroku zadania Enterprise Manager New Job... Zakładka steps New... TSQL sp_add_jobstep (składnia w dokumentacji) Dane zapisywane są w msdb..sysjobsteps - 20 -

Zarządzanie zadaniami Rodzaje kroków w zadaniu Wyrażenia T-SQL-a Przy definiowaniu kroku opartego na T-SQL należy podać bazę danych należy podać wymagane parametry do procedur można wyniki zapytania przekierować do pliku nie można wyników zapytania przekierować jako wejście dla następnego kroku Każdy może wykonywać takie wyrażenia Kroki związane z replikacją - 21 -

Zarządzanie zadaniami Rodzaje kroków w zadaniu Komendy systemu operacyjnego Przy definiowaniu kroku należy podać kod wyjścia w przypadku sukcesu należy podawać pełne ścieżki do poleceń Należy mieć uprawnienia roli sysadmin - 22 -

Zarządzanie zadaniami Rodzaje kroków w zadaniu Skrypty ActiveX Przy definiowaniu kroku należy sprecyzować język skryptu; językiem skryptu może być VBScript, JScript i dowolny inny, dla którego są odpowiednie biblioteki Należy mieć uprawnienia roli sysadmin Uwagi przy tworzeniu kroku zadania W zakładce Advanced określamy Akcję po sukcesie i akcję po porażce Liczbę prób i odstęp między nimi - 23 -

Zarządzanie zadaniami Tworzenie harmonogramu zadań Enterprise Manager New Job... Zakładka Schedules New Schedule... TSQL sp_add_jobschedule (składnia w dokumentacji) Dane zapisywane są w msdb..sysjobschedules - 24 -

Zarządzanie zadaniami Harmonogram może działać wg schematu Przy uruchamianiu SQL Server Agent Jednorazowo w określonym momencie Okresowo W momencie bezczynności procesora - 25 -

Zarządzanie zadaniami Zawiadomienia Są po to, by informować o sukcesie lub porażce zadania Zarządzane w zakładce Notifications Powiadamiani są operatorzy (omówione dalej) - 26 -

Operatorzy Co to jest operator? Specjalne konta, które mogą otrzymywać zawiadomienia o wyzwoleniach alertów i udanym lub nie zakończeniu zaplanowanego zadania Przy tworzeniu operatora zaleca się: Używać aliasu mailowego dla grupy w celu powiadomienia więcej niż jednej osoby Przetestować każdy sposób powiadamiania Zaplanować harmonogram pracy operatora, żeby wysyłać powiadomienia na pager w godzinach pracy Używać polecenia net send do powiadamiania w obrębie sieci Windows - 27 -

Operatorzy Uwaga: Przy podawaniu adresów e-mail, należy używać pełnej formy np. smithj@microsoft.com Zarządzanie operatorami EM Management SQLServerAgent Operators Dodanie poprzez procedurę sp_add_operator Dane o operatorach zapisywane są w msdb..sysoperators - 28 -

Operatorzy Operator awaryjny (fail-safe) otrzymuje powiadomienie, gdy SQLServerAgent nie może uzyskać dostęp do niezbędnych tabel systemowych bazy msdb Nie udało się skontaktować z wyznaczonym operatorem przez pager lub żaden z operatorów nie ma dyżuru (wg harmonogramu pracy) Ustawienie operatora awaryjnego EM Management SQLServerAgent Właściwości zakładka Alert System Fail-safe operator - 29 -

Operatorzy i zadania Przegląd historii zadań Zadanie (ppw) View Job History... Tabela msdb..sysjobhistory - 30 -

Przykład 5: operatorzy i zadania Tworzymy operatora: Name: Paweł E-mail:Administrator@NWTraders.msft net send address: cassiopeia Testujemy adres email i adres net send - 31 -

Przykład 5: operatorzy i zadania Tworzymy zadanie: Tools Wizards... Management Create Job Wizard Typ: Transact-SQL command Baza danych: master Transact-SQL: BACKUP DATABASE master TO DISK = 'C:\Program Files\Microsoft SQL Server\Mssql\Backup\MasterDB.bak WITH INIT Harmonogram: każdy poniedziałek o 17.00 Powiadomienie: email i netsend do operatora Paweł Job name: Master DB Backup - 32 -

Przykład 5: operatorzy i zadania Uruchamiamy zadanie ręcznie (ppm) Start Job Sprawdzamy, czy dostaliśmy e-maila Przeglądamy historię zadania View Job History... Edytujemy zadanie Master DB Backup Psujemy ścieżkę, gdzie ma być zapisany backup Ponownie uruchamiamy zadanie ręcznie Patrzymy: Podgląd Zdarzeń, Dziennik aplikacji - 33 -

Zarządzanie alertami Zastosowanie Umożliwiają wysyłanie wiadomości w przypadku pojawienia się błędów SQL Servera błędów tworzonych przez użytkownika warunków wydajnościowych Pozwala na uruchomienie zadania - 34 -

Zarządzanie alertami Alerty domyślne Demo: Full msdb log pełny log bazy msdb Demo: Full tempdb pełny log bazy tempdb Demo: Sev. 19 Errors... wyzwalany przy pojawieniu się błędu o poziomie krytyczności 19 Demo: Sev. 25 Errors - 35 -

Zarządzanie alertami Tworzenie alertu Enterprise Manager EM Management SQL Server Agent Alerts (ppm) New alert... T-SQL sp_add_alert (składnia w dokumentacji) - 36 -

Zarządzanie alertami Alert może być oparty na Zdarzeniu SQL Server; określamy wtedy numer błędu lub poziom krytyczności Zdarzeniu wydajnościowym; określamy wtedy obiekt, licznik poziom licznika, przy którym pojawi się alert - 37 -

Przykład 6: zarządzanie alertami Prezentacja: tworzenie alertu na błąd zdefiniowany przez użytkownika Tworzymy komunikat błędu Przy tworzeniu należy zwrócić uwagę na numer błędu musi być większy niż 50000 komunikaty błędów są składowane w master..sysmessages tekst komunikatu może zawierać parametry Do tworzenia i zmiany służą procedury sp_addmessage, sp_altermessage Przykład EXEC sp_addmessage 50099, 16, 'Customer %d was deleted by %s', 'us_english','true' - 38 -

Przykład 6: zarządzanie alertami Prezentacja: tworzenie alertu... (cd.) Do rzucania błędu w wyzwalaczach i procedurach służy polecenie RAISERROR (przełączamy na bazę Northwind) CREATE PROCEDURE removecustomer @CustomerID varchar(5) = NULL AS DECLARE @username varchar(60) SET @username = suser_sname() BEGIN TRANSACTION DELETE Customers WHERE CustomerID = @CustomerID RAISERROR (50099, 16, 1, @CustomerID, @username) COMMIT TRANSACTION - 39 -

Przykład 6: zarządzanie alertami Prezentacja: tworzenie alertu... (cd.) Tworzymy alert Name: DeleteCustomer Type: SQL Server event alert Error Number: 50099 Ustawiamy, że operator Paweł ma być powiadamiany przez email i netsend - 40 -

Przykład 6: zarządzanie alertami Prezentacja: testujemy działanie alertu Dodajemy rekord do tabeli Customers: INSERT INTO Customers (CustomerID, CompanyName) VALUES ('12345', 'YogiBear') Usuwamy poprzez procedurę exec removecustomer '12345 Sprawdzamy maile - 41 -

Przykład 6: zarządzanie alertami Prezentacja: tworzenie alertu wydajnościowego Tworzymy zadanie, które robi backup logu bazy Northwind co 4 godziny: uruchamiamy skrypt NWLOG.SQL W właściowściach bazy Northwind ustawiamy EM Databases Northwind Właściwości Transaction Log Automatically grow file = 0 EM Databases Northwind Właściwości Options Recovery Model = Full Robimy backup bazy Northwind uruchamiamy skrypt NWBackup.sql - 42 -

Przykład 6: zarządzanie alertami Prezentacja: tworzenie... Tworzymy alert Nazwa: Northwind Log 60% Full Typ: SQL Server performance condition alert Obiekt: SQLServer:Databases Licznik: Percent Log Used Instancja: Northwind Alert, jeśli licznik rises above 60 Execute job: Backup Northwind Log Powiadomienie przez email i netsend operatora Paweł Delay between responses: 0-43 -

Przykład 6: zarządzanie alertami Prezentacja: tworzenie... Przeglądamy zadanie Backup Northwind Log Schedules Będziemy śledzić procent zużycia logu w konsoli Windows Start Programy Narzędzia administracyjne Wydajność Monitor systemu (ppm) Dodaj liczniki Obiekt wydajności: SQLServer:Databases Licznik: Percent Log Used Instancja: Northwind - 44 -

Przykład 6: zarządzanie alertami Prezentacja: tworzenie... Zaczynamy testowanie Uruchamiamy skrypt Fulltlog.sql Patrzymy na Dzienniki wydajności Kończymy Wyłączamy zapytanie Patrzymy w Outlooku na otrzymane maile Patrzymy na Historię Backup Northwind Log We właściwościach alertu patrzymy na historię Przywracamy Northwind Właściwości Transaction Log Automaticaly... Northwind Właściwości Options Recovery Model = Simple - 45 -