﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>tech-blog.IT &#187; SQL 2005</title>
	<atom:link href="http://tech-blog.it/tag/sql-2005/feed/" rel="self" type="application/rss+xml" />
	<link>http://tech-blog.it</link>
	<description>Co tam Pani w Windowsach?</description>
	<lastBuildDate>Wed, 08 Sep 2010 07:42:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>SQL 2005 dla początkujących: tworzenie loginu dla bazy danych</title>
		<link>http://tech-blog.it/2009/12/tworzenie-loginu-dla-bazy-danych/</link>
		<comments>http://tech-blog.it/2009/12/tworzenie-loginu-dla-bazy-danych/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 14:36:08 +0000</pubDate>
		<dc:creator>monika</dc:creator>
				<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[SQL 2005]]></category>

		<guid isPermaLink="false">http://tech-blog.it/?p=285</guid>
		<description><![CDATA[W SQL Management Studio klikamy na węzeł Databases &#124; Security &#124; Logins. Klikamy prawym przyciskiem myszy i wybieramy New Login. Na głównej stronie określamy czy będzie to użytkownik Windows (użytkownik Active Directory lub lokalne konto), czy będzie to użytkownik SQL. W celu wybrania autoryzacji Windows – zaznaczamy Windows authentication, w przypadku autoryzacji SQL – SQL [...]]]></description>
			<content:encoded><![CDATA[<p>W SQL Management Studio klikamy na węzeł <strong>Databases</strong> | <strong>Security</strong> | <strong>Logins</strong>. Klikamy prawym przyciskiem myszy i wybieramy <strong>New Login</strong>.<br />
Na głównej stronie określamy czy będzie to użytkownik Windows (użytkownik Active Directory lub lokalne konto), czy będzie to użytkownik SQL. W celu wybrania autoryzacji Windows – zaznaczamy <strong>Windows authentication</strong>, w przypadku autoryzacji SQL – <strong>SQL Server authentication</strong>.<br />
W przypadku wybrania autoryzacji SQL, należy wprowadzić hasło dla loginu oraz poniżej wybrać jedną lub kilka z trzech opcji:</p>
<ul>
<li><strong>Enforce password Policy</strong> – hasło nie może zawierać w sobie części nazwy loginu i nie może być krótsze niż 7 znków oraz powinno zawierać cyfry, duże i małe litery oraz znaki nie alfanumeryczne. Informacje pobierane są z polityki grupowej.</li>
<li><strong>Enforce password expiration</strong> – hasło wygasa po przekroczeniu wartości określonej w polityce grupowej.</li>
<li><strong>User must change password at next logon</strong> – wymaga zmiany hasła użytkownika przy kolejnym logowaniu.</li>
</ul>
<p>Sekcje<strong> Default Database</strong> oraz <strong>Default language</strong> są widowczne zarówno dla loginu z autoryzacją SQL jak i Windows. W Default Database określamy domyślną bazę danych dla loginu.</p>
<p><img class="aligncenter size-full wp-image-286" title="login1" src="http://tech-blog.it/wp-content/uploads/2009/12/login1.png" alt="login1" width="503" height="448" /><br />
Na stronie <strong>Server Roles</strong> wybieramy role serwerowe, przypisane dla tego loginu</p>
<ul>
<li> bulkadmin – zezwala na operację masowego wstawiania danych (BULK INSERT),</li>
<li> dbcreator – zezwala na tworzenie, usuwanie,  modyfikację bazy danych oraz dodawanie do niej nowych członków (CREATE DATABASE),</li>
<li> diskadmin – zezwala na zarządzanie plikami .mdf i .ldf (ALTER),</li>
<li> processadmin – zezwala na kontrolę procesów (ALTER ANY CONNECTION oraz ALTER SERVER STATE),</li>
<li> securityadmin – zezwala na zarządzanie loginami i uprawnieniami (ALTER ANY LOGIN),</li>
<li> serveradmin – zezwala na konfigurację całego serwera (ALTER SERVER STATE, ALTER SETTINGS, SHUTDOWN),</li>
<li> setupadmin –zezwala na zarządzanie serwerami połączonymi (ALTER ANY LINKED SERVER),</li>
<li> sysadmin – zezwala na pełną kontrolę nad bazami danych (CONTROL SERVER with GRANT),</li>
</ul>
<p><img class="aligncenter size-full wp-image-287" title="login2" src="http://tech-blog.it/wp-content/uploads/2009/12/login2.png" alt="login2" width="521" height="470" /></p>
<p>Na stronie <strong>User Mapping</strong> zaznaczamy do której bazy użytkownik będzie posiadał uprawnienia (<strong>Users mapped to this login</strong>), a następnie w sekcji <strong>Database role membership for</strong> : nazwa_bazy  zaznaczamy role, które chcemy nadać:</p>
<ul>
<li> db_accessadmin – zezwala na dodawanie i usuwanie kont,</li>
<li> db_backupoperator – zezwala na wykonywanie kopii zapasowych,</li>
<li> db_datareader – zezwala na odczyt baz danych,</li>
<li> db_datawriter – zezwala na zapisywanie i modyfikację baz danych,</li>
<li> db_ddladmin – zezwala na modyfikację i usuwanie obiektów baz danych,</li>
<li> db_denydatareader – nie zezwala na odczyt baz danych,</li>
<li> db_dentydatawriter – nie zezwala na zapisywanie i modyfikację baz danych,</li>
<li> db_owner – zezwala na pełną kontrolę nad bazą danych,</li>
<li> db_securityadmin – zezwala na zarządzanie uprawnieniami oraz rolami baz danych,</li>
<li> public – rola domyślna, zapewniająca minimum uprawnień.</li>
</ul>
<p><img class="aligncenter size-full wp-image-288" title="login3" src="http://tech-blog.it/wp-content/uploads/2009/12/login3.png" alt="login3" width="521" height="465" /></p>
<p>Strona<strong> Securables </strong>służy do przypisywania uprawnień do obiektów zabezpieczanych dla tego loginu.</p>
<p><img class="aligncenter size-full wp-image-289" title="login4" src="http://tech-blog.it/wp-content/uploads/2009/12/login4.png" alt="login4" width="529" height="471" /><br />
Strona <strong>Status</strong> służy  do nadawania lub odejmowania uprawnień dla loginu do łączenia się z bazą danych (<strong>Permission to connect to Database engine</strong>) oraz blokowania konta.</p>
<p><img class="aligncenter size-full wp-image-290" title="login5" src="http://tech-blog.it/wp-content/uploads/2009/12/login5.png" alt="login5" width="527" height="471" /><br />
<strong>Poniżej znajduje się skrypt wykonanej powyżej operacji:</strong></p>
<p><em>USE [master]<br />
GO<br />
CREATE LOGIN [monika] WITH PASSWORD=N&#8217;Pa$$w0rd&#8217; MUST_CHANGE, DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON<br />
GO<br />
EXEC master..sp_addsrvrolemember @loginame = N&#8217;monika&#8217;, @rolename = N&#8217;sysadmin&#8217;<br />
GO<br />
USE [moja_baza]<br />
GO<br />
CREATE USER [monika] FOR LOGIN [monika]<br />
GO<br />
USE [moja_baza]<br />
GO<br />
EXEC sp_addrolemember N&#8217;db_datareader&#8217;, N&#8217;monika&#8217;<br />
GO<br />
USE [moja_baza]<br />
GO<br />
EXEC sp_addrolemember N&#8217;db_datawriter&#8217;, N&#8217;monika&#8217;<br />
GO<br />
USE [moja_baza]<br />
GO<br />
EXEC sp_addrolemember N&#8217;db_owner&#8217;, N&#8217;monika&#8217;<br />
GO</em></p>
<p><strong>W przypadku tworzenia loginu jako użytkownika Windows, skrypt będzie wyglądał następująco:</strong></p>
<p><em>USE [master]<br />
GO<br />
CREATE LOGIN [FREYA\pyszczek] FROM WINDOWS WITH DEFAULT_DATABASE=[master]<br />
GO<br />
EXEC master..sp_addsrvrolemember @loginame = N&#8217;FREYA\pyszczek&#8217;, @rolename = N&#8217;sysadmin&#8217;<br />
GO<br />
USE [baza]<br />
GO<br />
CREATE USER [FREYA\pyszczek] FOR LOGIN [FREYA\pyszczek]<br />
GO<br />
USE [baza]<br />
GO<br />
EXEC sp_addrolemember N&#8217;db_datareader&#8217;, N&#8217;FREYA\pyszczek&#8217;<br />
GO<br />
USE [baza]<br />
GO<br />
EXEC sp_addrolemember N&#8217;db_datawriter&#8217;, N&#8217;FREYA\pyszczek&#8217;<br />
GO<br />
USE [baza]<br />
GO<br />
EXEC sp_addrolemember N&#8217;db_owner&#8217;, N&#8217;FREYA\pyszczek&#8217;<br />
GO</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tech-blog.it/2009/12/tworzenie-loginu-dla-bazy-danych/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL 2005 dla początkujących: tworzenie nowej bazy oraz jej usuwanie</title>
		<link>http://tech-blog.it/2009/11/tworzenie_bazy/</link>
		<comments>http://tech-blog.it/2009/11/tworzenie_bazy/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 10:20:31 +0000</pubDate>
		<dc:creator>monika</dc:creator>
				<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[Autogrowth]]></category>
		<category><![CDATA[create database]]></category>
		<category><![CDATA[File Groups]]></category>
		<category><![CDATA[SQL 2005]]></category>
		<category><![CDATA[tworzenie baz danych]]></category>
		<category><![CDATA[usuwanie baz danych]]></category>

		<guid isPermaLink="false">http://tech-blog.it/?p=260</guid>
		<description><![CDATA[1. Jak stworzyć nową bazę danych przy pomocy SQL Management Studio Włączamy SQL Server Management Studio i łączymy się z instancją, w której chcemy dodać nową bazę danych. Klikamy prawym przyciskiem myszy na węźle Databases i wybieramy New Database… W pozycję Database name wpisujemy nazwę bazy danych, poniżej w pozycji Owner możemy przypisać bazie danych [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong>1. Jak stworzyć nową bazę danych przy pomocy SQL Management Studio</strong></p>
<p>Włączamy SQL Server Management Studio i łączymy się z instancją, w której chcemy dodać nową bazę danych. Klikamy prawym przyciskiem myszy na węźle <strong>Databases</strong> i wybieramy <strong>New Database…</strong><br />
W pozycję <strong>Database name</strong> wpisujemy nazwę bazy danych, poniżej w pozycji<strong> Owner</strong> możemy przypisać bazie danych jej właściciela. Aby to zrobić wciskamy przycisk<strong> […]</strong> i wybieramy jego nazwę. Jeśli chcemy włączyć pełnotekstowe wyszukiwanie w bazie danych, należy zaznaczyć opcje <strong>Use full-text indexing</strong>.<br />
W sekcji <strong>Database files</strong> możemy zobaczyć dokładne informacje na temat tworzonej bazy danych:<br />
<strong>Logical Nam</strong>e – logiczna nazwa bazy danych i logu transakcyjnego.<br />
<strong>File type</strong> – typ plików (dane oraz log transakcyjny).<br />
<strong>Filegroup </strong>– grupa plików w jakiej znajduje się dany plik. O grupach plików będzie można przeczytać dalej.<br />
<strong>Initial Size (MB)</strong> – rozmiar każdego z utworzonych plików.<br />
<strong>Autogrowth</strong> – służy to konfiguracji automatycznego przyrostu bazy danych.<br />
<strong>Path</strong> – ścieżka, gdzie znajdują się pliki danych i logu transakcyjnego. Obydwa pliki domyślnie znajdują się w katalogu Data (<em>C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data</em>). W każdej chwili jednak można zmienić ich lokalizację poprzez wciśnięcie przycisku <strong>[…]</strong> . Pliki te mogą znajdować się w innych folderach, bądź na oddzielnych dyskach.<br />
<strong>File name</strong> – nazwa pliku (nazwabazy_data.mdf oraz nazwabazy_log.ldf)</p>
<p><img class="aligncenter size-full wp-image-261" title="db1" src="http://tech-blog.it/wp-content/uploads/2009/11/db1.png" alt="db1" width="610" height="447" /></p>
<p>Przechodzimy do zakładki <strong>Options</strong>. W pozycji <strong>Collation</strong> możemy zmienić rodzaj kodowania językowego. Domyślnie jest on taki sam, jak ustawiony dla całego serwera w czasie jego instalacji.<br />
W pozycji <strong>Recovery model </strong>możemy wybrać model odzyskiwania danych. Więcej o modelu odzyskiwania danych, w dalszej  części artykułu.<br />
Poniżej w sekcji <strong>Compatibility level </strong>możemy wybrać poziom kompatybilności bazy. Domyślnie jest to SQL Server 2005. Do wyboru mamy jeszcze SQL Server 2000 lub SQL Server 7.0.</p>
<p><img class="aligncenter size-full wp-image-262" title="db2" src="http://tech-blog.it/wp-content/uploads/2009/11/db2.png" alt="db2" width="610" height="444" /></p>
<p>Wciskamy przycisk <strong>OK</strong> i baza danych zostaje stworzona.</p>
<p style="text-align: center;"><strong>2. Jak stworzyć nową bazę danych przy pomocy zapytania T-SQL.</strong></p>
<p>Poniżej znajduje się listing z powyższej operacji tworzenia bazy danych:</p>
<p><em>CREATE DATABASE [moja_baza] ON  PRIMARY<br />
( NAME = N&#8217;moja_baza&#8217;, FILENAME = N&#8217;C:\dane\moja_baza.mdf&#8217; , SIZE = 3072KB , FILEGROWTH = 1024KB )<br />
LOG ON<br />
( NAME = N&#8217;moja_baza_log&#8217;, FILENAME = N&#8217;C:\logi\moja_baza_log.ldf&#8217; , SIZE = 1024KB , FILEGROWTH = 10%)<br />
GO<br />
EXEC dbo.sp_dbcmptlevel @dbname=N&#8217;moja_baza&#8217;, @new_cmptlevel=90<br />
GO<br />
IF (1 = FULLTEXTSERVICEPROPERTY(&#8216;IsFullTextInstalled&#8217;))<br />
begin<br />
EXEC [moja_baza].[dbo].[sp_fulltext_database] @action = &#8216;disable&#8217;<br />
end<br />
GO<br />
ALTER DATABASE [moja_baza] SET ANSI_NULL_DEFAULT OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET ANSI_NULLS OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET ANSI_PADDING OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET ANSI_WARNINGS OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET ARITHABORT OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET AUTO_CLOSE OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET AUTO_CREATE_STATISTICS ON<br />
GO<br />
ALTER DATABASE [moja_baza] SET AUTO_SHRINK OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET AUTO_UPDATE_STATISTICS ON<br />
GO<br />
ALTER DATABASE [moja_baza] SET CURSOR_CLOSE_ON_COMMIT OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET CURSOR_DEFAULT  GLOBAL<br />
GO<br />
ALTER DATABASE [moja_baza] SET CONCAT_NULL_YIELDS_NULL OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET NUMERIC_ROUNDABORT OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET QUOTED_IDENTIFIER OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET RECURSIVE_TRIGGERS OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET AUTO_UPDATE_STATISTICS_ASYNC OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET DATE_CORRELATION_OPTIMIZATION OFF<br />
GO<br />
ALTER DATABASE [moja_baza] SET PARAMETERIZATION SIMPLE<br />
GO<br />
ALTER DATABASE [moja_baza] SET  READ_WRITE<br />
GO<br />
ALTER DATABASE [moja_baza] SET RECOVERY FULL<br />
GO<br />
ALTER DATABASE [moja_baza] SET  MULTI_USER<br />
GO<br />
ALTER DATABASE [moja_baza] SET PAGE_VERIFY CHECKSUM<br />
GO<br />
USE [moja_baza]<br />
GO<br />
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N&#8217;PRIMARY&#8217;) ALTER DATABASE [moja_baza] MODIFY FILEGROUP [PRIMARY] DEFAULT<br />
GO</em></p>
<p style="text-align: center;"><strong>3. Omówienie przydatnych funkcji:</strong></p>
<p><strong>Model Odzyskiwania</strong><br />
Przechodząc do właściwości bazy danych i zakładki <strong>Options</strong>,  z rozwijanej listy możemy wybrać jeden z trzech modeli odzyskiwania (<strong>Recovery Model</strong>):<br />
•    <strong>Full</strong> &#8211; dzięki rozległemu logowaniu oferuje możliwość odtworzenia stanu z dowolnego punktu w czasie i nie ma ryzyka utraty wyników pracy.<br />
•    <strong>Bulk logged</strong> – uzupełnienie modelu Full, dodatkowo w pliku logu transakcyjnego rejestrowane są operacje bulk (import dużej ilości danych).<br />
•    <strong>Simple</strong> – jako iż nie oferuje kopii zapasowych dzienników transakcyjnych, bazę danych można odzyskać jedynie z ostatniego pliku kopii zapasowych.</p>
<p>To samo możemy wykonać poprzez zapytanie T-SQL:</p>
<p><em>USE [master]<br />
GO<br />
ALTER DATABASE [baza2] SET RECOVERY FULL | SIMPLE | BULK_LOGGED WITH NO_WAIT<br />
GO</em></p>
<p><strong>Autogrowth</strong><br />
Aby zezwolić na powiększanie plików bazy danych i logu transakcyjnego, przechodzimy do właściwości bazy danych i na stronie Files wciskamy przycisk<strong> […] </strong>w pozycji<strong> Autogrowth</strong>,  a następnie zaznaczamy opcje<strong> Enable Autogrowth</strong>.<br />
Poniżej mamy możliwość określenia czy plik będzie powiększał się procentowo (<strong>In Percent</strong>) czy będzie powiększał się w określoną ilość megabajtów (<strong>In Megabytes</strong>).<br />
Możemy również określić maksymalny rozmiar pliku, zaznaczając opcję <strong>Restricted File Growth</strong> i określając ilość megabajtów. Jeśli nie chcemy określać maksymalnego rozmiaru, zaznaczamy<strong> Unrestricted File Growth</strong>.</p>
<p><img class="aligncenter size-full wp-image-263" title="db3" src="http://tech-blog.it/wp-content/uploads/2009/11/db3.png" alt="db3" width="289" height="226" /><br />
<strong>File Groups</strong><br />
Oprócz głównych plików .mdf i .ldf można utworzyć dodatkowe pomocnicze pliki danych (pliki .ndf). Pliki te służą do odseparowania różnych danych (np. indeksy, procedury składowe, tabele użytkownika mogą znajdować się w innych plikach i na innych dyskach niż tabele systemowe).<br />
Aby stworzyć nową grupę plików przechodzimy do właściwości bazy danych, a następnie do strony<strong> Files</strong> i wciskamy przycisk<strong> Add</strong>. W sekcji <strong>Database files</strong> zostanie dodany nowy plik. Nadajemy mu nazwę oraz z rozwijanej listy w pozycji <strong>Filegroup</strong> wybieramy <strong>New file group</strong> (ponieważ w grupie PRIMARY znajduje się główny plik danych).</p>
<p><img class="aligncenter size-full wp-image-264" title="db4" src="http://tech-blog.it/wp-content/uploads/2009/11/db4.png" alt="db4" width="257" height="123" /></p>
<p>W kolejnym oknie kreatora nadajemy nazwę nowo utworzonej grupie oraz określamy czy ma być grupą domyślną, gdzie będą zapisywane wszystkie nowo utworzone pliki (aktualną grupą domyślną jest grupa PRIMARY), jak i również, czy grupa ma być w trybie tylko do odczytu (<strong>Read-only</strong>).</p>
<p><img class="aligncenter size-full wp-image-265" title="db5" src="http://tech-blog.it/wp-content/uploads/2009/11/db5.png" alt="db5" width="302" height="188" /></p>
<p>Nową grupę plików możemy również utworzyć na stronie <strong>Filegroups</strong>. Wciskamy przycisk <strong>Add</strong> i w pozycji <strong>Name </strong>wpisujemy nazwę nowej grupy oraz zaznaczamy, czy grupa ma być domyślna i czy ma być w trybie tylko do odczytu.</p>
<p><img class="aligncenter size-full wp-image-266" title="db6" src="http://tech-blog.it/wp-content/uploads/2009/11/db6.png" alt="db6" width="439" height="131" /></p>
<p>W przypadku zapytania T-SQL, tworzenie nowej grupy wygląda w następujący sposób:</p>
<p><em>USE [master]<br />
GO<br />
ALTER DATABASE [moja_baza] ADD FILEGROUP [NOWA GRUPA]<br />
GO</em></p>
<p><em>Natomiast dodawanie pliku do nowo utworzonej grupy:</em></p>
<p><em>USE [master]<br />
GO<br />
ALTER DATABASE [moja_baza] ADD FILE ( NAME = N&#8217;nowy_plik&#8217;, FILENAME = N&#8217;C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\nowy_plik.ndf&#8217; , SIZE = 2048KB , FILEGROWTH = 1024KB ) TO FILEGROUP [NOWA GRUPA]<br />
GO<br />
</em><br />
<strong>Pozostałe przydatne opcje na stronie Options w sekcji Other options:</strong><br />
<strong>AUTO_CLOSE</strong> – służy do automatycznego zamykania, gdy baza danych nie jest w użyciu. W momencie, gdy ktoś chce użyć bazy ponownie, baza się otwiera.<br />
<strong>AUTO_CREATE_STATISTICS</strong> – służy do tworzenia automatycznych statystyk na kolumnach w tabelach.<br />
<strong>AUTO_UPDATE_STATICTIC</strong>S – służy do automatycznego uaktualniania statystyk.<br />
<strong>AUTO_SHRINK</strong> – służy do automatycznego zmniejszania danych i logu transakcyjnego w przypadku, gdy 25% pliku zawiera niewykorzystane miejsce.<strong></strong></p>
<p style="text-align: center;"><strong>4. Jak usunąć bazę danych?</strong></p>
<p style="text-align: left;">Aby usunąć bazę danych klikamy prawym przyciskiem myszy na jej nazwie i wybieramy <strong>Delete</strong>.<br />
Na głównym ekranie widzimy nazwę bazy danych i jej właściciela. Poniżej możemy zaznaczyć dwie opcje: <strong>Delete backup and restore history for database</strong>, której zaznaczenie spowoduje usunięcie historii kopii zapasowych i odzyskiwania danej bazy danych oraz opcja <strong>Close existing connections</strong>, która pozwala na zamknięcie wszystkich aktualnie istniejących połączeń z bazą danych.<br />
Aby usunąć bazę danych należy wcisnąć przycisk OK.</p>
<p style="text-align: left;"><img class="aligncenter size-full wp-image-267" title="db7" src="http://tech-blog.it/wp-content/uploads/2009/11/db7.png" alt="db7" width="501" height="454" /></p>
<p style="text-align: left;">Poniżej znajduje się skrypt tej operacji:</p>
<p><em>EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N&#8217;moja_baza&#8217;<br />
GO<br />
USE [master]<br />
GO<br />
DROP DATABASE [moja_baza]<br />
GO</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tech-blog.it/2009/11/tworzenie_bazy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jak skonfigurować przesyłanie dziennika transakcji (Log shipping) w SQL Management Studio.</title>
		<link>http://tech-blog.it/2009/11/logshipping/</link>
		<comments>http://tech-blog.it/2009/11/logshipping/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 12:10:44 +0000</pubDate>
		<dc:creator>monika</dc:creator>
				<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[log shipping]]></category>
		<category><![CDATA[SQL 2005]]></category>

		<guid isPermaLink="false">http://tech-blog.it/?p=237</guid>
		<description><![CDATA[Przed konfiguracją Log shipping należy stworzyć udział plików na backup logów transakcyjnych, aby nie obciążać serwera głównego i aby zapewnić wysoką dostępność najlepiej jest to zrobić na innym serwerze. Następnie dla każdego serwera pomocniczego należy stworzyć folder, do którego będą kopiowane backupy logów transakcyjnych. W SQL Management Studio klikamy prawym przyciskiem na nazwę bazy danych, [...]]]></description>
			<content:encoded><![CDATA[<p>Przed konfiguracją <strong>Log shipping</strong> należy stworzyć udział plików na backup logów transakcyjnych, aby nie obciążać serwera głównego i aby zapewnić wysoką dostępność najlepiej jest to zrobić na innym serwerze.<br />
Następnie dla każdego serwera pomocniczego należy stworzyć folder, do którego będą kopiowane backupy logów transakcyjnych.</p>
<p>W SQL Management Studio klikamy prawym przyciskiem na nazwę bazy danych, dla której chcemy skonfigurować przesyłanie dziennika i przechodzimy do jej właściwości. Klikamy na stronę<strong> Transaction Log Shipping</strong> i zaznaczamy <strong>Enable this as a primary database in a log shopping configuration</strong>.<br />
Poniżej w sekcji <strong>Trasaction log backups</strong> wciskamy przycisk <strong>Backup Settings</strong>, aby skonfigurować opcję wykonywania kopi zapasowej logu transakcyjnego<span id="more-237"></span></p>
<p><img class="aligncenter size-full wp-image-236" title="ls1" src="http://tech-blog.it/wp-content/uploads/2009/11/ls1.png" alt="ls1" width="465" height="416" /><br />
Backup logów transakcyjnych jest wykonywany poprzez zadanie Agenta serwera SQL działającego na głównym serwerze SQL.<br />
Na stronie <strong>Transaction Log Backup Settings</strong> określamy ścieżkę do udziału sieciowego, gdzie będą przechowywane backupy. Poniżej, jeśli folder backupów znajduje się na głównym serwerze, możemy wpisać lokalną ścieżkę do tego folderu.<br />
Mamy tu również możliwość określenia, po ilu godzinach pliki backupu będą kasowane. Domyślnie są to 72 godziny.<br />
Poniżej w<strong> Backup Job</strong> klikamy na przycisk<strong> Schedule</strong> i określamy harmonogram, kiedy zadanie ma się wykonywać.<br />
Klikamy przycisk OK. i wracamy do głównego okna konfiguracyjnego.</p>
<p>Uwaga: Jeśli wykonujemy kopię zapasową logów transakcyjnych wraz z innym zadaniem lub planem konserwacyjnym, Management Studio nie będzie w stanie wykonać odzyskiwania backupu na instancjach na serwerze pomocniczym.</p>
<p><img class="aligncenter size-full wp-image-238" title="ls2" src="http://tech-blog.it/wp-content/uploads/2009/11/ls2.png" alt="ls2" width="450" height="416" /><br />
Następnie w głównym oknie, w sekcji<strong> Secondary Server instances and databases</strong> wciskamy przycisk<strong> Add</strong>, aby dodać serwer pomocniczy.<br />
Na stronie<strong> Secondary Database Settings</strong> wciskamy przycisk <strong>Connect</strong> i łączymy się z serwerem, który będzie pełnił rolę standby i w pozycji <strong>Secondary database</strong> wybieramy nazwę bazy danych.</p>
<p>Na serwerze pomocniczym należy odzyskać pełną kopię zapasową głównej bazy danych przed tym, gdy serwer pomocniczy stanie się miejscem przeznaczenia przesyłania dzienników transakcji. Na zakładce <strong>Initialize Secondary Database</strong> możemy zaznaczyć w jaki sposób będzie przebiegał proces odzyskiwania z backupu na serwerze pomocniczym. Do wyboru mamy opcje:</p>
<ul>
<li>Tak, stwórz pełny backup głównej bazy danych i odzyskaj ją na serwerze pomocniczym (oraz utwórz bazę pomocniczą, jeśli taka nie istnieje),</li>
<li>Tak, odzyskaj istniejący plik backupu serwera głównego na bazę danych na serwerze pomocniczym (oraz utwórz pomocniczą bazę danych, jeśli taka nie istnieje).</li>
<li>Nie, pomocnicza baza danych jest zainicjowana.</li>
</ul>
<p>Jeśli wybierzemy opcję pierwszą, należy kliknąć przycisk <strong>Restore Options</strong>. Jeśli baza pomocnicza będzie utworzona w momencie odtwarzania backupu, możemy określić folder, w którym zostaną stworzone pliki danych oraz logu transakcyjnego. Wpisujemy zatem ścieżkę do folderów na serwerze pomocniczym.<br />
Jeśli wybierzemy opcję drugą, musimy określić ścieżkę do zasobu sieciowego, gdzie znajduje się plik kopii zapasowej, do którego ma dostęp serwer pomocniczy.<br />
Trzecią opcję wybieramy w przypadku wypromowania pomocniczej bazy danych na główną.</p>
<p><img class="aligncenter size-full wp-image-239" title="ls3" src="http://tech-blog.it/wp-content/uploads/2009/11/ls3.png" alt="ls3" width="475" height="427" /><br />
Pliki są kopiowane z katalogu backup, na serwer docelowy poprzez zadanie Agenta serwera SQL działające na serwerze pomocniczym. Zakładka <strong>Copy Files</strong> służy do skonfigurowania folderu docelowego.<br />
Poniżej możemy określić, po jakim czasie skopiowane pliki mają zostać usunięte. Domyślnie są to 72 godziny.<br />
W sekcji <strong>Copy Job</strong> możemy określić, kiedy zadanie kopiowania ma się wykonywać. Wciskamy przycisk <strong>Schedule</strong> i określamy harmonogram wykonywania zadania.</p>
<p><img class="aligncenter size-full wp-image-240" title="ls4" src="http://tech-blog.it/wp-content/uploads/2009/11/ls4.png" alt="ls4" width="460" height="410" /></p>
<p>Pliki są odzyskiwane z katalogu docelowego przy użyciu zadania Agenta serwera SQL działającego na serwerze pomocniczym. W zakładce <strong>Restore Transaction Log</strong> możemy określić stan bazy danych po wykonaniu zadania odzyskiwania z backupu. Do wyboru mamy <strong>No recovery mode</strong> lub<strong> Standby mode</strong>. Rzecz jasna jak i w poprzednich zakładkach, możemy określić, kiedy zadanie ma się wykonywać.</p>
<p><img class="aligncenter size-full wp-image-241" title="ls5" src="http://tech-blog.it/wp-content/uploads/2009/11/ls5.png" alt="ls5" width="425" height="380" /><br />
Klikamy OK aby zamknąć okno konfiguracji serwera pomocniczego oraz OK aby zamknąć główne okno konfiguracyjne i rozpocząć proces przesyłania dzienników.<br />
Po zakończeniu możemy prześledzić raport z wykonanej operacji.</p>
<p><img class="aligncenter size-full wp-image-242" title="ls6" src="http://tech-blog.it/wp-content/uploads/2009/11/ls6.png" alt="ls6" width="441" height="225" /><br />
Natomiast na serwerze pomocniczym możemy zauważyć, że baza danych ma status <strong>Restoring</strong>.</p>
<p><img class="aligncenter size-full wp-image-243" title="ls7" src="http://tech-blog.it/wp-content/uploads/2009/11/ls7.png" alt="ls7" width="260" height="130" /></p>
<p style="text-align: center;"><strong>Jak wypromować serwer standby na serwer główny.</strong></p>
<p style="text-align: left;">
Przesyłanie dziennika transakcji odtwarza pełny backup bazy danych serwera głównego na serwer pomocniczy. Następnie cyklicznie przenosi transakcje ze zmianami z serwera głównego, na serwer standby.<br />
Niestety w przypadku awarii serwera głównego, serwer standby działa jedynie w trybie tylko do odczytu (read-only) i nie może służyć jako serwer awaryjny. Jeśli po awarii chcemy użyć serwera standby jako serwera głównego, należy go wypromować ręcznie.<br />
Aby to zrobić należy odtworzyć plik logu transakcyjnego serwera głównego na serwerze standby, a następnie wyłączyć zadania i kopiowania i odtwarzania. W dalszej kolejności należy uruchomić usługę przesyłania dziennika transakcji w taki sposób, jak zostało opisane powyżej z jedną zmianą: dodając nowy serwer pomocniczy na stronie<strong> Secondary Detabase Settings</strong>, w sekcji<strong> Secondary database</strong> wpisujemy nazwę bazy danych oryginalnego serwera głównego, a w zakładce <strong>Initialize Secondary Database</strong> zaznaczamy <strong>No, the secondary database is initialized</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech-blog.it/2009/11/logshipping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Konfiguracja operatorów i zadania administracyjnego w SQL 2005</title>
		<link>http://tech-blog.it/2008/12/konfiguracja-operatorow-i-zadania-administracyjnego-w-sql-2005/</link>
		<comments>http://tech-blog.it/2008/12/konfiguracja-operatorow-i-zadania-administracyjnego-w-sql-2005/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 14:48:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[database mail]]></category>
		<category><![CDATA[SQL 2005]]></category>

		<guid isPermaLink="false">http://tech-blog.it/?p=58</guid>
		<description><![CDATA[Po skonfigurowaniu Database Mail (o tym jak to zrobić tutaj) czas na konfigurację operatora i zadania administracyjnego. Przechodzimy do SQL Server agent i wchodzimy w jego właściwości. Przechodzimy na podstronę Alert System i zaznaczamy Enable mail profile, po czym w Mail system ustawiamy Database Mail, a w Mail profile ustawiamy profil utworzony przy okazji konfiguracji [...]]]></description>
			<content:encoded><![CDATA[<p>Po skonfigurowaniu Database Mail (o tym jak to zrobić <strong><a href="http://pyszczek.net/archives/260">tutaj</a></strong>) czas na konfigurację operatora i zadania administracyjnego.</p>
<p>Przechodzimy do<strong> SQL Server agent</strong> i wchodzimy w jego właściwości. Przechodzimy na podstronę <strong>Alert System</strong> i zaznaczamy <strong>Enable mail profile</strong>, po czym w <strong>Mail system</strong> ustawiamy <strong>Database Mail</strong>, a w <strong>Mail profile</strong> ustawiamy profil utworzony przy okazji konfiguracji Database Mail. Po wykonanej opracji wykonujemy restart SQL Server agenta!<span id="more-58"></span></p>
<p>Czas na stworzenie operatora. Klikamy na <strong>SQL Server agent</strong> | <strong>Operators</strong> | <strong>New operator</strong>. Nadajemy nazwę i wpisujemy adres e-mail operatora.</p>
<p>Przechodzimy do <strong>SQL Server agent</strong> | <strong>Jobs</strong> | <strong>New Job</strong>, nadajemy nazwę zadania i przechodzimy do strony <strong>Step</strong> | <strong>New </strong>i nadajemy nazwę tworzonego kroku. Z pozycji <strong>Database</strong> wybieramy baze, na której chcemy wykonywać zadanie, a poniżej wpisujemy komendę T-SQL, która ma być wykonywana. Klikamy OK i przechodzimy do strony <strong>Schedules</strong> i konfigurujemy kiedy zadanie ma być wykonywane. Na końcu przechodzimy do strony <strong>Notifications</strong>, klikamy E-mail i wybieramy, w jakim wypadku ma być wysyłany mail z notyfikacją (po wykonaniu zadania bez względu na status, gdy zadanie się nie uda lub gdy zadanie się uda).</p>
<p><strong><a href="http://www.screencast.com/t/zP9vxYFvZU">TUTAJ</a> </strong>można zobaczyć video z całej operacji.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech-blog.it/2008/12/konfiguracja-operatorow-i-zadania-administracyjnego-w-sql-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tworzenie Database Mail w SQL 2005</title>
		<link>http://tech-blog.it/2008/11/tworzenie-database-mail-w-sql-2005/</link>
		<comments>http://tech-blog.it/2008/11/tworzenie-database-mail-w-sql-2005/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 12:51:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[database mail]]></category>
		<category><![CDATA[SQL 2005]]></category>

		<guid isPermaLink="false">http://tech-blog.it/?p=53</guid>
		<description><![CDATA[Aby uruchomić Database Mail otwieramy SQL Server Management Studio, klikamy na nazwę instancji i przechodzimy do Management i klikamy prawym przyciskiem na Database Mail wybierając Configure Database Mail. Powita nas wizard, który pomoże w skonfigurowaniu Database Mail. Jeśli tworzymy Database Mail po raz pierwszy, wybieramy opcję Set up Database mail by performing the following task. [...]]]></description>
			<content:encoded><![CDATA[<p>Aby uruchomić Database Mail otwieramy SQL Server Management Studio, klikamy na nazwę instancji i przechodzimy do Management i klikamy prawym przyciskiem na <strong>Database Mail</strong> wybierając <strong>Configure Database Mail</strong>.</p>
<p>Powita nas wizard, który pomoże w skonfigurowaniu Database Mail.<br />
Jeśli tworzymy Database Mail po raz pierwszy, wybieramy opcję <strong>Set up Database mail by performing the following task</strong>. W przypadku, gdy mamy już skonfigurowany Database Mail wybieramy opcję drugą, która pozwala na zarządzanie skonfigurowanymi kontami i profilami.<span id="more-53"></span></p>
<p>W kolejnym kroku wizard zapyta czy na pewno chcemy włączyć Database Mail.</p>
<p>Wpisujemy nazwę profilu i wciskamy przycisk <strong>Add</strong>, aby skonfigurować konto e-mail.<br />
Nadajemy nazwę i  konta, a także wpisujemy nazwę konta e-mail, które posłuży za wysyłanie alertów. Oprócz tego wpisujemy serwer odpowiedzialny za wysyłanie poczty oraz odpowiednią dla nas autentykację SMTP.</p>
<p>Po skonfigurowaniu konta SMTP, sprawdzamy czy wszystko się zgadza i przechodzimy dalej.</p>
<p>W następnym oknie wybieramy czy utworzony profil ma być profilem publicznym. Po czym możemy dokończyć instalację Database Mail.</p>
<p>Po uruchomieniu możemy przetestować, czy konto e-mail działa klikając prawym przyciskiem raz jeszcze na Database Mail i wybierając <strong>Send Test E-Mail</strong>.</p>
<p>Wpisujemy nazwę konta na które chcemy wysłać testowy e-mail i po chwili sprawdzamy skrzynkę, czy takowy nadszedł.</p>
<p>Tutaj zaś można zobaczyć <strong><a href="http://www.screencast.com/users/pyszczek.net/folders/Jing/media/9465ca20-c5a1-42fb-8c72-1a22cfe23df6">video z konfiguracji Database Mail</a>.</strong></p>
<p>A już niebawem opiszę jak skonfigurować alert, operatora i zadanie, po wykonaniu którego otrzymamy mail potwierdzający.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech-blog.it/2008/11/tworzenie-database-mail-w-sql-2005/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
