﻿<?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; Autogrowth</title>
	<atom:link href="http://tech-blog.it/tag/autogrowth/feed/" rel="self" type="application/rss+xml" />
	<link>http://tech-blog.it</link>
	<description>Co tam Pani w Windowsach?</description>
	<lastBuildDate>Wed, 01 Sep 2010 07:46:04 +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 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>
	</channel>
</rss>
