<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Administracja_baza_danych_Microsoft_SQL_Server_ENG</id>
	<title>Administracja baza danych Microsoft SQL Server ENG - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=Administracja_baza_danych_Microsoft_SQL_Server_ENG"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Administracja_baza_danych_Microsoft_SQL_Server_ENG&amp;action=history"/>
	<updated>2026-05-02T18:54:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=Administracja_baza_danych_Microsoft_SQL_Server_ENG&amp;diff=73548&amp;oldid=prev</id>
		<title>Jarosław Sołoducha at 09:55, 11 September 2019</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=Administracja_baza_danych_Microsoft_SQL_Server_ENG&amp;diff=73548&amp;oldid=prev"/>
		<updated>2019-09-11T09:55:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:SQL Links PL}}&lt;br /&gt;
[[Category:EN]] &lt;br /&gt;
[[Category:SQL]] &lt;br /&gt;
&amp;lt;slideshow style=&amp;quot;nobleprog&amp;quot; headingmark=&amp;quot;⌘&amp;quot; incmark=&amp;quot;…&amp;quot; scaled=&amp;quot;false&amp;quot; font=&amp;quot;Trebuchet MS&amp;quot; &amp;gt;&lt;br /&gt;
;title: &amp;lt;small&amp;gt;SQL Server Administration&amp;lt;/small&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;author: Jarosław Sołoducha (NobleProg)&lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
{{Can I use your material}} &lt;br /&gt;
==Basic information about Databases⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Bazy plikowe np. MS Access&lt;br /&gt;
* Bazy Client/Server&lt;br /&gt;
* Systemy zarządzania relacyjną bazą danych (RDBMS):&lt;br /&gt;
# 	DB2&lt;br /&gt;
#  	Microsoft SQL Server&lt;br /&gt;
#  	MySQL&lt;br /&gt;
#  	Oracle&lt;br /&gt;
#  	PostgreSQL&lt;br /&gt;
&lt;br /&gt;
==SQL Server Versions &amp;amp; Editions⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Enterprise &lt;br /&gt;
*  Standard&lt;br /&gt;
*  Workgroup&lt;br /&gt;
*  Mobile &lt;br /&gt;
*  Express&lt;br /&gt;
*  Developer&lt;br /&gt;
&lt;br /&gt;
[https://msdn.microsoft.com/en-us/library/cc645993%28v=sql.110%29.aspx SQL Editions]&lt;br /&gt;
&lt;br /&gt;
==Narzędzia SQL Server⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* SQL Server Management Studio&lt;br /&gt;
* Business Intelligence Development Studio&lt;br /&gt;
* SQL Server Agent&lt;br /&gt;
* SQL Server Profiler&lt;br /&gt;
* Database Tuning Advisor&lt;br /&gt;
&lt;br /&gt;
==Usługi w SQL Server ⌘==&lt;br /&gt;
* Database Services&lt;br /&gt;
* Analysis Services&lt;br /&gt;
* Reporting Services&lt;br /&gt;
* Intergration Services&lt;br /&gt;
&lt;br /&gt;
=== Database Services ⌘===&lt;br /&gt;
&lt;br /&gt;
W skład SQL Server Database Services wchodzi: &lt;br /&gt;
# Data files   &lt;br /&gt;
# Replication  &lt;br /&gt;
# Full-Text search&lt;br /&gt;
&lt;br /&gt;
=== Analysis Services  ⌘===&lt;br /&gt;
&lt;br /&gt;
Inaczej &amp;quot;Hurtownie Danych&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Zastosowanie:&lt;br /&gt;
# Przetwarzanie analityczne danych&lt;br /&gt;
# Wspomaganie decyzji&lt;br /&gt;
# Centralizacja danych&lt;br /&gt;
# Archiwizacja&lt;br /&gt;
&lt;br /&gt;
=== Reporting Services ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zastosowanie:&lt;br /&gt;
# Tworzenie&lt;br /&gt;
# Zarzadzanie&lt;br /&gt;
# Przedstawianie raportów&lt;br /&gt;
# Report Manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Intergration Services ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. Zbiór narzędzi do zarzadzania zbiorami w prcesie ETL&lt;br /&gt;
  ETL - Extract, Transform , Load ( wydobywanie, przetwarzanie, ladowanie )&lt;br /&gt;
2. Wykonywanie innych zadan&lt;br /&gt;
&lt;br /&gt;
== Konta Serwisowe dla SQL Servera ⌘==&lt;br /&gt;
&lt;br /&gt;
http://technet.microsoft.com/en-us/library/cc281953%28v=sql.120%29.aspx&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;quot;NT AUTHORITY\LOCAL SERVICE&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Ten sam poziom uprawnien co członkowie grupy Users&lt;br /&gt;
:Konto usługi lokalnej nie jest przeznaczone dla SQL Server czy SQL Server Agent&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;quot;NT AUTHORITY\NETWORK SERVICE&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Wbudowana usługa&lt;br /&gt;
:ma wiekszy dostęp do zasobów i obiektów&lt;br /&gt;
&lt;br /&gt;
== Konta Serwisowe dla SQL Servera cz.II ⌘==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;quot;NT AUTHORITY\SYSTEM&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Wysoki poziom uprawnień w systemie lokalnym&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;quot;Konto Domenowe&amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:współdziałanie z usługami sieciowymi,&lt;br /&gt;
:dostep do zasobów domeny&lt;br /&gt;
:file-share&lt;br /&gt;
:połączenie z innymi serwerami SQL&lt;br /&gt;
&lt;br /&gt;
== Konta Serwisowe dla SQL Servera cz.III ⌘==&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;   style=&amp;quot;width:150%&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot; &lt;br /&gt;
! Usługa !! Stand-Alone !! Cluster&lt;br /&gt;
|-  style=&amp;quot;text-align:center&amp;quot; &lt;br /&gt;
| Database Engine   ||  NETWORK SERVICE  ||  Domain user account&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot; &lt;br /&gt;
| SQL Server Agent  ||  NETWORK SERVICE  ||  Domain user account&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot; &lt;br /&gt;
| SSAS  || NETWORK SERVICE || Domain user account&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot; &lt;br /&gt;
| SSIS || NETWORK SERVICE || NETWORK SERVICE &lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot; &lt;br /&gt;
| SSRS || NETWORK SERVICE || NETWORK SERVICE&lt;br /&gt;
|-style=&amp;quot;text-align:center&amp;quot; &lt;br /&gt;
| SQL Server Browser || LOCAL SERVICE || LOCAL SERVICE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Protokoly Sieciowe SQL Serwera ⌘==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Microsoft SQL Server może obsługiwać żądania od kilku protokołów, w tym samym czasie.&lt;br /&gt;
* Konfiguracja protokołów - SQL Server Configuration Manager&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Rodzaje protokołów:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Shared Memory&lt;br /&gt;
* TCP/IP&lt;br /&gt;
* Named Pipes&lt;br /&gt;
* VIA&lt;br /&gt;
&lt;br /&gt;
== Bazy systemowe ⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* master&lt;br /&gt;
* model&lt;br /&gt;
* msdb&lt;br /&gt;
* tempdb&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* distribution*&lt;br /&gt;
* resource*&lt;br /&gt;
=== Master ⌘===&lt;br /&gt;
&lt;br /&gt;
* najważniejsza baza&lt;br /&gt;
* zapisywana jest w niej  konfiguracja SQL Servera – informacje o:&lt;br /&gt;
:obiektach systemowych&lt;br /&gt;
:loginach&lt;br /&gt;
:lokalizacji poszczególnych plików&lt;br /&gt;
:podpiętych bazach użytkownika&lt;br /&gt;
&lt;br /&gt;
=== Model ⌘===&lt;br /&gt;
&lt;br /&gt;
Baza wzorcowa dla innych baz danych&lt;br /&gt;
&lt;br /&gt;
=== Msdb ⌘===&lt;br /&gt;
&lt;br /&gt;
* Baza pomocnicza wykorzystywana przez SQL Server Agenta&lt;br /&gt;
* Zawiera informacje o:&lt;br /&gt;
:job&amp;#039;ach&lt;br /&gt;
:backup&amp;#039;ach&lt;br /&gt;
&lt;br /&gt;
=== Tempdb ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Baza tymczasowa&lt;br /&gt;
* Tworzona jest na nowo po kazdym restarcie uslugi&lt;br /&gt;
* Zawiera obiekty tymczasowe:&lt;br /&gt;
:tabele&lt;br /&gt;
:kursory&lt;br /&gt;
:rozne obiekty tworzone wewnetrznie przez SQLa&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Oddzielny szybki dysk&lt;br /&gt;
* Utworzenie tylu plikow ile jest procesorow&lt;br /&gt;
&lt;br /&gt;
=== Distribution* ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Wytwarzana jezeli na Serwerze jest replikacja&lt;br /&gt;
* Zawiera metadata i dane historyczne dotyczace replikacji&lt;br /&gt;
&lt;br /&gt;
=== Resource* ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Baza w trybie READ-ONLY&lt;br /&gt;
* Zawiera systemowe obiekty&lt;br /&gt;
* Prostszy upgrade SQL Serwera&lt;br /&gt;
* Brak backup&amp;#039;u&lt;br /&gt;
&lt;br /&gt;
==Tworzenie bazy danych==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Pliki bazy danych i ich lokalizacja⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* .mdf&lt;br /&gt;
* .ndf&lt;br /&gt;
* .ldf&lt;br /&gt;
* FileGroup&lt;br /&gt;
* Fizyczne i logiczne pliki baz danych&lt;br /&gt;
&lt;br /&gt;
=== Rozmiar plików oraz ich przyrost ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* rozmiar początkowy&lt;br /&gt;
* baza danych Model&lt;br /&gt;
* autogrowth&lt;br /&gt;
&lt;br /&gt;
=== Partycjonowanie tabel ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Partycjonowanie dostępne tylko w edycjach Enterprise i Developer SQL Server (oraz w wersjach ewaluacyjnych)&lt;br /&gt;
* Zwiekszenie szybkosci dostepu do danych&lt;br /&gt;
* Latwosc zarzadzania&lt;br /&gt;
* Najczesciej wykorzystywane przy podziale danych wg &amp;quot;wieku&amp;quot;&lt;br /&gt;
* Wymagane uprawnienia:  sysadmin , db_owner i db_ddladmin.&lt;br /&gt;
&lt;br /&gt;
==Język modyfikacji danych (DML)⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Data Manipulation Language&amp;lt;/big&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SELECT  -  wylistowuje wiersze&lt;br /&gt;
* INSERT  -  wstawia nowy wiersz&lt;br /&gt;
* UPDATE  -  zmienia istniejący wiersz&lt;br /&gt;
* DELETE  -  usuwa wiersz z repozytorium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*ćwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Język definicji danych (DDL)⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;Data Definition Language&amp;lt;/big&amp;gt; &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* CREATE  -  tworzenie nowego obiektu&lt;br /&gt;
* ALTER   -  wstawanie obiektu do istniejącego systemu&lt;br /&gt;
* DROP    -  usuwanie istniejącego obiektu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*ćwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Projektowanie tabel⌘== &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Kolumny i atrybuty&lt;br /&gt;
* Określenie typu danych&lt;br /&gt;
:- Tekstowe (char, varchar, nchar, ntext, nvarchar)  &lt;br /&gt;
:- Liczbowe (int, smallint, bigint, tinyint, float, real, decimal, numeric)  &lt;br /&gt;
:- Daty i czasu (datetime, smalldatetime) &lt;br /&gt;
:- Binarne (binary, varbinary) &lt;br /&gt;
:- Waluty (money, smallmoney ) &lt;br /&gt;
:- Specjalne (text, image, xml, bit)&lt;br /&gt;
* Zmiana własności kolumn&lt;br /&gt;
* Więzy integralności&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*ćwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Indeksy ⌘==&lt;br /&gt;
* Indeks w bazie danych to rodzaj struktury ściśle związanej z tabelą lub widokiem, która pomaga w znaczny sposób przyspieszyć pobieranie danych z tych źródeł.&lt;br /&gt;
* Indeks zawiera klucze zawierające jedną, bądź kilka połączonych kolumn tabeli lub widoku.&lt;br /&gt;
* Klucze w indeksie przechowywane są w strukturze zwanej B-drzewem&lt;br /&gt;
&lt;br /&gt;
=== Indeksy ⌘===&lt;br /&gt;
&lt;br /&gt;
Indeksy&lt;br /&gt;
:* Clustered&lt;br /&gt;
:* Non-Clustered&lt;br /&gt;
* Klucze obce&lt;br /&gt;
:* Klucz główny - Primary Key&lt;br /&gt;
:* Klucz obcy  - Foreign Key&lt;br /&gt;
* Dla skuteczności indeksu najistotniejsze są następujące kwestie:&lt;br /&gt;
* - wysoka selektywność indeksu&lt;br /&gt;
* - aktualność statystyk&lt;br /&gt;
* - niski poziom fragmentacji&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*Video&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Indeksy ⌘===&lt;br /&gt;
&amp;lt;b&amp;gt;Klucz główny - Primary Key, &amp;lt;br /&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
:Każdy wiersz w naszej tabeli musi mieć wartość która go unikalnie zidentyfikuje. &amp;lt;br /&amp;gt;&lt;br /&gt;
:Aby zakwalifikować dany atrybut jako klucz główny, musimy sprawdzić, czy posiada następujące własności:&lt;br /&gt;
:* musi posiadać wartość dla każdego z wierszy&lt;br /&gt;
:* dla każdego z tych wierszy wartość musi być unikalna&lt;br /&gt;
:* wartość ta nie może się zmienić, ani nie może zostać usunięta podczas całego funkcjonowania wiersza w tabeli&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Indeksy ⌘===&lt;br /&gt;
&amp;lt;b&amp;gt;Klucz obcy  - Foreign Key, &amp;lt;br /&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
:Klucz obcy jest kopią klucza głównego z innej tabeli.&lt;br /&gt;
:Asocjacja jest utworzona pomiędzy tabelami poprzez zaznaczenie, iż wartość z jednej tabeli,&lt;br /&gt;
:w której jest kluczem obcym, jest powiązana z wartością z innej tabeli, gdzie jest kluczem głównym&lt;br /&gt;
&lt;br /&gt;
=== Clustered Indexes ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Jeden index klastrowany na tabeli&lt;br /&gt;
* Najczesciej zakladany na kolumnie o wysokiej &amp;quot;selektywnosci&amp;quot;&lt;br /&gt;
* Klucz główny – klastrowany index&lt;br /&gt;
&lt;br /&gt;
=== Non-Clustered Indexes ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Do 249 indexów nie-klastrowanych na tabeli&lt;br /&gt;
* Moga byc oparte na indexach klastrowanych.&lt;br /&gt;
&lt;br /&gt;
=== REBUILD vs. REORGANIZE ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* REBUILD usuwa i tworzy indeksy od nowa, &lt;br /&gt;
* REORGANIZE tylko sortuje strony, nie usuwa ich,  &lt;br /&gt;
* zarówno REBUILD jak i REORGANZIE zmniejsza fragmentację niezaleznie od tego ile ona wynosi &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(kolumna AVG_FRAGMENTATION_IN_PERCENT w widoku sys.dm_db_index_physical_stat)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Fragmentacja: &amp;lt;/b&amp;gt;&lt;br /&gt;
* 0 - 10%    - nic&lt;br /&gt;
* 11 - 30%   - REORGANIZE&lt;br /&gt;
* 31 - 100%  - REBUILD&lt;br /&gt;
&lt;br /&gt;
=== REBUILD vs. REORGANIZE- skrypt ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 SELECT DB_NAME(PS.database_id) AS dbName,&lt;br /&gt;
 S.name  AS SchemaName,&lt;br /&gt;
 O.name AS TableName,&lt;br /&gt;
 b.name,&lt;br /&gt;
 ps.avg_fragmentation_in_percent&lt;br /&gt;
 FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS ps&lt;br /&gt;
 INNER JOIN sys.indexes AS b ON ps.OBJECT_ID = b.OBJECT_ID AND ps.index_id = b.index_id&lt;br /&gt;
 INNER JOIN sys.objects O  ON PS.object_id = O.object_id&lt;br /&gt;
 INNER JOIN sys.schemas S ON S.schema_id = O.schema_id &lt;br /&gt;
 WHERE  ps.avg_fragmentation_in_percent &amp;gt;= 20 -- Indexes having Fragmentation &amp;gt;=20&lt;br /&gt;
 AND PS.index_type_desc IN (&amp;#039;CLUSTERED INDEX&amp;#039;,&amp;#039;NONCLUSTERED INDEX&amp;#039;) -- Only get clustered and nonclustered indexes&lt;br /&gt;
 AND b.is_hypothetical = 0 -- Only real indexes&lt;br /&gt;
 AND O.type_desc = &amp;#039;USER_TABLE&amp;#039; -- Restrict to user tables&lt;br /&gt;
 AND PS.page_count &amp;gt; 8 --- ignore tables less than 64K&lt;br /&gt;
 ORDER BY ps.avg_fragmentation_in_percent,name DESC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*ćwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tworzenie aplikacji bazodanowych⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Podstawy języka T-SQL&lt;br /&gt;
* Składnia zapytań&lt;br /&gt;
* Sortowanie&lt;br /&gt;
* Łączenie tabel&lt;br /&gt;
* Grupowanie danych&lt;br /&gt;
* Podzapytania&lt;br /&gt;
* Indeksy full-text&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Programowanie po stronie serwera⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tworzenie procedur składowanych (stored procedures)&lt;br /&gt;
* Widoki (perspektywy)&lt;br /&gt;
* Funkcje&lt;br /&gt;
* Wyzwalacze&lt;br /&gt;
=== Procedury ⌘===&lt;br /&gt;
&lt;br /&gt;
* Zbior instrukcji języka Transact-SQL zapisanych pod wspólną nazwą i wywoływanych jak pojedyncza instrukcja. &lt;br /&gt;
* Nowe procedury moga wytwarzac osoby posiadajace takie prawa: &lt;br /&gt;
:sysadmin &lt;br /&gt;
:db_owner &lt;br /&gt;
:db_ ddladmin&lt;br /&gt;
* Są najczęściej wykorzystywanym przez programistów baz danych typem obiektów.&lt;br /&gt;
* Do czego sie wykorzystuje procedury skladowane ?&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*cwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Widoki ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Jest to zdefiniowane i zapisane zapytanie po stronie serwera, ktorego wynik moze byc wielokrotnie wykonywany.&lt;br /&gt;
* Uproszczenie prezentacji danych dla uzytkownikow&lt;br /&gt;
* Ograniczneie dostepu do tabel&lt;br /&gt;
* Ukrycie struktury tabel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*cwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Funkcje ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Funkcja nie tylko wykonuje pewne operacje, ale także zwraca obliczony na podstawie przekazanych parametrów wynik. &lt;br /&gt;
* Zwracane mogą być zarówno dane skalarne, jak i zbiory danych.&lt;br /&gt;
&lt;br /&gt;
=== Wyzwalacze ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Z ang. &amp;quot;Triggers&amp;quot;&lt;br /&gt;
* Wyzwalacze są specjalnym typem procedur składowanych powiązanych z wybranymi tabelami &lt;br /&gt;
:i wywoływanych wykonaniem  ( zarówno po - AFTER , jak i zamiast - INSTEAD OF ) &lt;br /&gt;
:instrukcji języka Transact-SQL INSERT, UPDATE albo DELETE.&lt;br /&gt;
* Podstawowym zastosowaniem wyzwalaczy jest wymuszenie integralności danych, zwłaszcza ich zgodności z regułami logiki biznesowej&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*ćwiczenie ?&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modele odtwarzania ⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
Z ang.&amp;quot;Recovery Model&amp;quot;&amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Simple&lt;br /&gt;
* Full&lt;br /&gt;
* Bulk logged&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Modele odtwarzania ⌘==&lt;br /&gt;
[[File:recoverymodel.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Kopie bezpieczeństwa ⌘=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pełna kopia bazy danych ⌘===&lt;br /&gt;
 Full Database Backup&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 BACKUP DATABASE master TO &lt;br /&gt;
 DISK = &amp;#039;D:\Program Files\Microsoft SQL Server\Mssql\Backup\master.bak&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Zawiera wszystkie informacje zapisane zarówno w plikach bazy danych (strukturę obiektów bazodanowych oraz dane tabel i indeksów),&amp;lt;br /&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
jak i w plikach dziennika transakcyjnego - tu tylko dane z aktywnej części dziennika.&lt;br /&gt;
&lt;br /&gt;
=== Przyrostowa kopia bazy danych ⌘===&lt;br /&gt;
 Differential Database Backup&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 BACKUP DATABASE Northwind TO &lt;br /&gt;
 disk=&amp;#039;D:\Program Files\Microsoft SQL Server\Mssql\Backup\Northwind_diff.BAK&amp;#039; WITH DIFFERENTIAL&lt;br /&gt;
&lt;br /&gt;
Do pliku przyrostowej kopii bazy danych zostaną zapisane wszystkie dane,&amp;lt;br /&amp;gt;&lt;br /&gt;
które zostały zmodyfikowane od czasu wykonania ostatniej pełnej kopii bazy danych.&lt;br /&gt;
&lt;br /&gt;
=== Kopia dziennika transakcyjnego ⌘===&lt;br /&gt;
 Transaction Log Backup&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 BACKUP LOG Northwind TO &lt;br /&gt;
 disk=&amp;#039;D:\Program Files\Microsoft SQL Server\Mssql\Backup\Northwind_log.TRN&amp;#039; &lt;br /&gt;
&lt;br /&gt;
SQL Server do pliku kopii dziennika transakcyjnego zapisuje wszystkie wpisy z dziennika danej bazy danych.&amp;lt;br /&amp;gt;&lt;br /&gt;
Plik kopii dziennika transakcyjnego jest bezużyteczny bez aktualnego pliku pełnej kopii tej bazy danych.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*ćwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Strategie kopii zapasowych ⌘=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Pełna kopia&lt;br /&gt;
* Pełna kopia + kopia dziennika transakcyjnego&lt;br /&gt;
* Przyrostowa kopia&lt;br /&gt;
* Kopia plików&lt;br /&gt;
&lt;br /&gt;
=== Strategia pełnych kopii bazy danych ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wykorzystywana w przypadku niewielkich lub rzadko modyfikowanych baz danych.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zalety:&lt;br /&gt;
:Mała liczba backupow&lt;br /&gt;
:Krótki proces odtwarzania bazy&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wady:&lt;br /&gt;
:Ryzyko utraty danych od ostatniego pełnego backupu&lt;br /&gt;
:Częste wykonywanie kopii bazy&lt;br /&gt;
&lt;br /&gt;
=== Strategia pełnych kopii i dziennika transakcyjnego ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Strategia zalecana w przypadku niewielkich i często modyfikowanych baz danych.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zalety:&lt;br /&gt;
:Możliwość odtworzenia danych z dowolnego momentu sprzed awarii.&lt;br /&gt;
:Prosty proces odtwarzania.&lt;br /&gt;
:Mniejsza liczba potrzebnych do przechowywania kopii nośników — Ostatnia pełna kopia bazy danych i codzienne kopie dziennika transakcyjnego.&lt;br /&gt;
&lt;br /&gt;
Wady:&lt;br /&gt;
:Częste (co najmniej codziennego) wykonywanie pełnej kopii.&lt;br /&gt;
:Dłuższy czas odtwarzania bazy z powodu wiekszej lpiczby kopii dziennika transakcyjnego.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Strategia przyrostowych kopii bazy danych ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Strategia zalecana w przypadku średniej wielkości baz danych.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zalety:&lt;br /&gt;
:Krótszy czas wykonania kopii zapasowych.&lt;br /&gt;
:Skrócenie, w porównaniu do poprzedniej strategii, czasu potrzebnego na odtworzenie bazy danych.&lt;br /&gt;
:Możliwośc powortu do dowolengo pounktu w czasie.&lt;br /&gt;
&lt;br /&gt;
=== Strategia przyrostowych kopii bazy danych ⌘===&lt;br /&gt;
Wady:&lt;br /&gt;
:Trudniejszy proces odtwarzania bazy danych.&lt;br /&gt;
:Konieczność przechowywania:&lt;br /&gt;
:* plików pełnej kopii &lt;br /&gt;
:* przyrostowej kopii zapasowej &lt;br /&gt;
:* wszystkich  kopii dziennika transakcyjnego od czasu ostatniej przyrostowej kopii bazy&lt;br /&gt;
&lt;br /&gt;
===Strategia kopii plików bazy danych ⌘===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Strategia zalecana w przypadku średniej wielkości baz danych.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zaley:&lt;br /&gt;
:Skrócenie czasu potrzebnego na wykonanie kopii zapasowych.&lt;br /&gt;
:Ograniczenie liczby potrzebnych do przechowywania kopii nośników.&lt;br /&gt;
&lt;br /&gt;
Wady:&lt;br /&gt;
:Skomplikowany proces odtwarzania bazy danych.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;*cwiczenia - autogrowth,transaction log, shrinking&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= Kopiowanie Bazy Danych ⌘=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Backup / Restore&lt;br /&gt;
* Detach / Attach&lt;br /&gt;
* Kreator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*cwiczenie&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Automatyzacja⌘=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* SQL Agent&lt;br /&gt;
* Wytwarzanie i planowanie zadań automatycznych - SQL Jobs&lt;br /&gt;
* Powiadamianie o wynikach zadań&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*ćwiczenie i video&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Maintenance Plan ⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Sprawdzanie spójności bazy - DBCC CHECKDB&lt;br /&gt;
* Statystyki&lt;br /&gt;
* Sprawdzenie wskaźników indeksów -  skrypt Rebuild vs Reorganize&lt;br /&gt;
&lt;br /&gt;
=Podstawy bezpieczeństwa i administracji SQL Server⌘=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tworzenie kont:&lt;br /&gt;
:Active Directory&lt;br /&gt;
:SQL Account&lt;br /&gt;
* Schematy&lt;br /&gt;
* Tworzenie ról&lt;br /&gt;
* Konto SA&lt;br /&gt;
* Role Serwerowe&lt;br /&gt;
* Role bazodanowe&lt;br /&gt;
&lt;br /&gt;
== Tworzenie kont ⌘==&lt;br /&gt;
== Konto SA ⌘==&lt;br /&gt;
== Role Serwerowe ⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* bulkadmin&lt;br /&gt;
* dbcreator&lt;br /&gt;
* diskadmin&lt;br /&gt;
* processadmin&lt;br /&gt;
* public&lt;br /&gt;
* securityadmin&lt;br /&gt;
* serveradmin&lt;br /&gt;
* setupadmin&lt;br /&gt;
* sysadmin&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Role bazodanowe ⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
W przeciwieństwie do ról serwerowych,&lt;br /&gt;
możliwe jest tworzenie własnych ról bazodanowych.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* db_accessadmin&lt;br /&gt;
* db_backupoperator&lt;br /&gt;
* db_datareader&lt;br /&gt;
* db_datawriter&lt;br /&gt;
* db_denydatareader&lt;br /&gt;
* db_denydatawriter&lt;br /&gt;
* db_owner&lt;br /&gt;
* db_securityadmin&lt;br /&gt;
* public&lt;br /&gt;
&lt;br /&gt;
== Schematy ⌘==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
* Obiekty, które zawierają obiekty innych typów ( np.tabele,procedury)&lt;br /&gt;
* Uproszczenie czynności adminstracyjnych&lt;br /&gt;
* Wlasciciel Schematu&lt;br /&gt;
* Transfer uprawnień&lt;br /&gt;
&lt;br /&gt;
=Monitorowanie aktywności SQL Server ⌘= &lt;br /&gt;
* Przechwytywanie aktywności za pomocą SQL Server Profiler  &lt;br /&gt;
* Aktywny monitoring  &lt;br /&gt;
* Praca z opcjami śledzenia  &lt;br /&gt;
* DMV&lt;br /&gt;
* Data Collector&lt;br /&gt;
&lt;br /&gt;
= Upgrade ⌘=&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* In-Place vs. Migracja&lt;br /&gt;
* Service-Pack&lt;br /&gt;
* Cluster&lt;br /&gt;
&lt;br /&gt;
= TEST :) ⌘=&lt;br /&gt;
&lt;br /&gt;
=Best Practices⌘=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Oddzielne dyski dla baz systemowych, aplikacyjnych i TEMP DB&lt;br /&gt;
* Regularne kopie bezpieczeństwa&lt;br /&gt;
* Ograniczony dostep do Serwera baz danych&lt;br /&gt;
* Monitorowanie przyrostu baz&lt;br /&gt;
* &amp;quot;Porządek&amp;quot; w tworzeniu procedur, widkow, tabel itd&lt;br /&gt;
* Procedury systemowe w administracji&lt;br /&gt;
* Dokumentacja&lt;br /&gt;
* &amp;quot;każdy ma własne...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Linki⌘=&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 http://www.wss.pl/ &lt;br /&gt;
 http://www.virtualstudy.pl/ &lt;br /&gt;
 http://www.sqlservercentral.com/ &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Ankieta i Certyfikaty⌘=&lt;/div&gt;</summary>
		<author><name>Jarosław Sołoducha</name></author>
	</entry>
</feed>