Pliki danych, Filestream – MSSQL 2008 Server cz.2

W pierwszej części, (która była dość dawno) opisałem najważniejsze rzeczy dotyczące instalacji, co prawda na MS Win XP, ale można w ten sam sposób zainstalować na MS 2008 Server. Teraz chciałbym kontynuować wpisy dotyczące MS SQL 2008 ze względu na moją pracę, w której korzystamy z MSSQL 2008:)

Na początek kilka definicji, bez których raczej nie ruszymy:

1) Pliki danych – jeden z dwóch głównych rodzai plików wykorzystywanych w MSSQL. Przechowują długoterminowe dane, czyli tak naprawdę wszystkie zatwierdzone informacje.

2) Grupa plików – mapuje logiczną strukturę danych na pliki, które możemy archiwizować oraz odzyskiwać.


3) Dziennik transakcji – przechowuje informacje na temat wszystkich operacji przeprowadzonych na bazie. W momencie zatwierdzenia transakcji dane lądują na stałe w pliku danych.

Dane w bazie znajdują się w plikach o rozszerzeniach:

1) .mdf  lub .ndf – pliki danych,
2) .ldf – pliki dziennika transakcji

W wersji 2008 bazy w większym stopniu wykorzystaniu bazę tempdb, to w niej umieszczone są dane tymczasowe: tabele robocze wykorzystywane do sortowania danych lub obsługujące kursory. Jako że tempdb jest bardziej obciążona warto przenieść ją na inną partycję i podpięcie do silnika MSSQL 2008.

Nowością w MSSQL 2008 Server jest tzw. Filestream,  zbiór plików niestrukturalnych, czyli takich jak pliki tekstowe, zdjęcia itd.
W serwerze SQL 2008 duże obiekty binarne mogą być przechowywane w tradycyjny sposób, jako dane typu varbinary(max) lub obiekty typu varbinary(max)FILESTREAM, co spowoduje zapisanie ich w systemie plików NTFS. Generalnie, o użyciu atrybutu FILESTREAM decyduje ilość danych, które należy przechować oraz sposób, w jaki będą używane. FILESTREAM powinien być zatem użyty w trzech przypadkach, gdy:

-Przechowywany obiekt ma (średnio) powyżej 1MB,
-Istotny jest szybki odczyt danych,
-Środkowa warstwa aplikacji klienckiej, a więc warstwa logiki aplikacji w modelu trójwarstwowym, korzysta z dużych obiektów binarnych.

Poniżej opis w jaki sposób przygotować:

Logujemy się do instancji bazy danych, następnie wybieramy Properties:

Domyślnie Filestream jest wyłączony, możemy go włączyć tak aby móc korzystać z niego przy pomocy T-SQL lub przy pomocy aplikacji API Win32:

Na koniec musimy utworzyć nową bazę danych zawierającą możliwość wykorzystania  Filestream:

CREATE DATABASE Filestream ON  PRIMARY 
( NAME = N’Filestream_Data’, FILENAME = N’d:testFilestream.mdf’ , 
 SIZE = 8MB , MAXSIZE = UNLIMITED, FILEGROWTH = 16MB ), 
 FILEGROUP Filestream1 
( NAME = N’Filestream_Data2′, FILENAME = N’d:testFilestream.ndf’ , 
    SIZE = 8MB , MAXSIZE = UNLIMITED, FILEGROWTH = 16MB ),
 FILEGROUP Documents CONTAINS FILESTREAM  DEFAULT 
( NAME = N’FilestreamDocuments’, FILENAME = N’d:testFilestreamDocuments’ )
 LOG ON 
( NAME = N’Filestream_Log’, FILENAME = N’d:testFilestream.ldf’ , 
    SIZE = 8MB , MAXSIZE = 2048GB , FILEGROWTH = 16MB )

GO

Ustawmy utworzony przez nas Filestream jako domyślne źródło danych:

ALTER DATABASE Filestream
MODIFY FILEGROUP Filestream1
DEFAULT

GO

W ten sposób możemy przechowywać zarówno „normalne dane”: finansowe, tekstowe, ale również zdjęcia oraz całe pliki.



Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT