Sunteți pe pagina 1din 10

MANUAL INSTALARE, UTILIZARE, ADMINISTRARE MS-SQL-Server

I.

MS-SQL Server -Instalare

ntr-un mediu bazat pe arhitectura Microsoft, MSSQL (Microsoft SQL Server) a devenit o component de baz att pentru produse software special dezvoltate unui anume business, ct i pentru servicii / produse software care fac parte deja din mediu (Microsoft ISA Server, WSUS, Windows SharePoint Services, Windows Rights Management Services, Microsoft Office Sharepoint Server, System Center Configuration Manager, System Center Operations Manager, Visual Studio Team Foundation Server, etc.).

De asemeni, sunt muli dezvoltatori care nu au avut ocazia de a instala i configura o instan MSSQL (deoarece aceste activiti au stat n seama unui personal specializat). Ali sysadmini doresc migrarea soluiilor pe arhitecturi Microsoft (aplicaii PHP, Java ce pot fi portate pe diferite arhitecturi).

Pe scurt, prezentul material va face referire la MSSQL astfel nct s putei dobndi cunotinele de baz referitor la :

instalarea MSSQL; folosirea instrumentelor generice MSSQL; configurarea firewall-ului astfel nct s permitei accesul remote la instana MSSQL; conectarea la o instan MSSQL; managementul accesului; managementul permisiunilor; listarea bazelor de date; ataarea unei baze de date la o instan MSSQL; verificarea integritii unei baze date; reindexarea; backup & restore, etc; configurarea instanei MSSQL - memorie, priority boost, etc.

(deoarece marea majoritate a acestor operaiuni este uor de realizat prin intermediul SQL Server Management Studio)

MSSQL Server (prima parte - seciune dedicat nceptorilor); o Efectiv o baz de date poate fi compus din mai multe fiiere; o Protocoale; o Porturi; o T-SQL (Transact-SQL); o Servicii MSSQL; o Ediii MSSQL 2008; o Maximum Capacity Specifications for SQL Server 2008; Instrumente necesare; Descrcarea kit-urilor de instalare; Instalarea Microsoft SQL Server 2008 R2 Express Edition; MSSQL Server (partea a doua - seciune dedicat nceptorilor); Publicarea instanelor MSSQL;

Microsoft SQL Server este sistemul de gestiune a bazelor de date produs de ctre compania Microsoft. Pe o main fizic putem gzdui mai multe instane MSSQL. O instan MSSQL poate gzdui mai multe baze de date. Efectiv o baz de date poate fi compus din mai multe fiiere.

Fiiere cu extensia:

.mdf ntlnite i sub denumirea de primary files sau main files. Acest fiier gzduiete obiectele unei baze de date (tabele, proceduri stocate, declanatori, etc.). O baz de date poate s aib maximum un fiier .mdf. .ndf secondary database file. n principal .ndf-ul este folosit n cazul optimizrilor. Spre exemplu: anumite tabele pot fi salvate n fiiere .ndf, fiiere ce vor fi gzduite n locaii diferite, pe discuri diferite. O baz de date poate avea zero sau mai multe fiiere .ndf. .ldf transaction log files acest fiier va pstra un istoric al operaiunilor efectuate asupra datelor bazei de date.

Protocoale

Shared Memory: este cel mai simplist protocol de comunicaie cu MSSQL (nici nu necesit configurri). Accesul la o instan MSSQL prin intermediul Shared Memory poate fi fcut doar dac resursa care acceseaz instana MSSQL este gzduit pe aceeai main pe care este gzduit i SGBD-ul. n general se apeleaz la Shared Memory n momentul n care celelalte protocoale de comunicaie sunt dezactivate sau greit configurate. Named Pipes: acest protocol este indicat a fi folosit n cazul reelelor locale, sau n cazul local named pipes (caz n care resursa care acceseaz instana MSSQL este gzduit pe aceeai main pe care este gzduit i SGBD-ul). TCP/IP: acest protocol este indicat a fi folosit n cazul WAN (wide area networks), a reelelor dial-up, etc. n cazul LAN-urilor, diferenele dintre Named Pipes i TCP/IP sunt insesizabile, dar e important de tiut faptul c o instan MSSQL poate fi configurat s foloseasc mai multe protocoale simultan. VIA: Virtual Interface Adapter folosit n cazul conectrii cu hardware specializat i n cazurile n care canalul de comunicaie este unul dedicat. Sunt rare cazurile n care este necesar a configura i utiliza acest protocol.

Porturi Depinde mult de configuraia aleas! TCP 1433 este portul folosit de instana implicit MSSQL. UDP 1434 este folosit de serviciul SQL Server Browser. (pe parcursul acestui articol am s aduc completri legate de SQL Server Browser) n cazul n care este nevoie, portul instanei MSSQL poate fi stabilit de ctre sysadmin (altul dect TCP 1433). Putem avea i situaii n care portul s fie alocat dinamic. Mai exact, acest lucru este ntlnit atunci cnd pe acelai server gzduim mai multe instane MSSQL. n cazul instanelor MSSQL putem avea de-a face cu instane MSSQL implicite (eng. default instance) sau instane crora le-a fost alocat un nume (eng. named instance, n romn am gsit formularea instan denumit). Pe un server putem avea cel mult o instan implicit i zero sau mai multe instane denumite. OK, deci n cazul n care pe un server instalm mai multe instane MSSQL, avem dou posibiliti:

pentru fiecare instan n parte s alocm porturi statice; s lsm MSSQL s aloce porturi n mod dinamic (asta nseamn c portul instanei MSSQL s fie alocat la fiecare repornire a instanei deci nu putem garanta c de fiecare dat va fi alocat acelai port TCP);

n aceste cazuri, SQL Server Browser i intr n rol i va putea rspunde cererilor venite pe reea, astfel nct s informeze clienii de portul alocat unei instane denumite. (voi exemplifica n seciunea Publicarea instanelor MSSQL)

Doar instanele denumite (eng. named instances) pot fi configurate a li se aloca porturi n mod dinamic (caz n care serviciul SQL Server Browser este necesar a fi pornit i publicat). Dac avem de-a face cu o singur instan implict, putem renuna la serviciul SQL Server Browser (implicit instana default este configurat a folosi TCP 1433). http://technet.microsoft.com/en-us/library/ms143531.aspx T-SQL (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms189826(SQL.90).aspx Transact-SQL este o extensie a limbajului SQL ce permite adugarea n (mod programatic) de funcionaliti ce nu sunt definite implicit n SQL. Cu ajutorul T-SQL putem defini variabile, proceduri stocate, funcii, controla excepii, etc. Servicii MSSQL Pe lng rolul de SGBD, MSSQL (n funcie de ediie) poate oferi i servicii precum:

Service Broker; Replication Services; Analysis Services; Reporting Services; Notification Services; Integration Services; Full Text Search Service;

(n cadrul acestui articol am s discut doar despre rolul de SGBD) Ediii MSSQL 2008 http://www.microsoft.com/sqlserver/2008/en/us/editions.aspx

Enterprise Standard Workgroup Web Developer Express Compact 3.5

Ultima ediie MSSQL Express disponibil la momentul scrierii acestui articol este Microsoft SQL Server 2008 R2 Express Edition. Aceast versiune MSSQL poate fi folosit att n procesul de nvare ct i n cazul distribuiei de software. Totui, acestei ediii i-au fost aduse intenionat anumite limitri:

max 1 CPU; max 1 GB; 4 GB storage / per baz de date (exceptnd fiierele log);

(exemplele din cadrul acestui articol sunt realizate pe baza unei instane MSSQL Express) http://www.microsoft.com/sqlserver/2008/en/us/express.aspx Maximum Capacity Specifications for SQL Server 2008 http://technet.microsoft.com/en-us/library/ms143432.aspx

Instrumente necesare

SQLCMD este utilitarul linie de comand prin intermediul cruia se pot efectua diferite operaii cu MSSQL (permite apelarea comenzilor SQL, execuia scripturilor, etc.). SQLCMD este utilitarul introdus odat cu Microsoft SQL Server 2005 i este succesorul OSQL (utilitar cu funcii asemntoare aprut odat cu Microsoft SQL Server 2000). Se poate folosi i OSQL n cazul MSSQL Server 2005, MSSQL Server 2008, doar c OSQL nu acoper n totalitate funcionalitile SQLCMD. SQL Server Management Studio este utilitarul cu interfa grafic utilizator i este ideal n cazul manipulrii unei instane MSSQL. Trebuie tiut faptul c SQL Server Management Studio poate fi gsit i n versiune Express, versiune care poate fi folosit gratuit (evident, spre deosebire de SQL Server Management Studio, versiunea Express are anumite limitri). Business Intelligence Development Studio este mediul integrat de dezvoltare ce este folosit n special pentru manipularea cuburilor OLAP, data mining, reporting services, etc.

Descrcarea kit-urilor de instalare

Microsoft SQL Server 2008 R2 RTM - Express; Microsoft SQL Server 2008 R2 RTM - Management Studio Express; Microsoft SQL Server 2008 Command Line Utilities o X86 Package; o X64 Package; o IA64 Package; Microsoft SQL Server 2008 R2 RTM - Express with Management Tools; Microsoft SQL Server2008 R2 RTM - Express with Advanced Services;

Instalarea Microsoft SQL Server 2008 R2 Express Edition

(Doar pentru a completa anumite posibile scenarii, n acest articol am s instalez dou instane MSSQL ambele n ediie EXPRESS. n cazul primei instane MSSQL am s urmez paii implicii ai wizard-ului, iar instana va fi una denumit WEB01\SQLEXPRESS. n cazul celei de-a doua instane MSSQL, n etapa de instalare am s configurez instana ca fiind instan implicit - WEB01. n prezentul articol WEB01 este denumirea NETBIOS a mainii pe care se efectueaz instalarea. Instalarea se va efectua pe baza kitului de instalare Microsoft SQL Server 2008 R2 RTM Express with Management Tools)
Instalarea Microsoft SQL Server 2008 R2 necesit existena:

Microsoft .NET Framwework 3.5 SP1; Microsoft Windows Installer 4.5; Microsoft Windows PowerShell;

Instalarea instanei denumite - WEB01\SQLEXPRESS

n prezentul articol voi discuta doar despre rolul de SGBD, aadar n etapa de instalare am selectat doar componentele strict necesare:

Database Engine Services; Management Tools Basic; SQL Client Conectivity SDK;

Implicit (n cazul ediiilor EXPRESS), n etapa de instalare opiunea implicit este cea de instalare a instanelor denumite (eng. named instances).

n aceast etap de instalare putem configura conturile utilizator sub care serviciile windows asociate instanei MSSQL vor fi pornite. Lsai valorile implicite i trecei la pasul urmtor.

Implicit, n etapa de instalare, modul de autentificare la o instan MSSQL este Windows authentication mode. Asta nseamn c autentificarea se va realiza pe baza unui cont utilizator Windows, iar sistemul de operare va fi cel care va confirma identitatea userului. n cazul Windows authentication mode, instana MSSQL nu va cere nici o parol i nici nu va efectua verificri asupra identitii. Recomandat ar fi ca instanele MSSQL s fie configurate a folosi doar Windows authentication mode deoarece:

acest mod de autentificare se folosete de protocolul Kerberos (proces de autentificare securizat); pe baza unui singur cont utilizator poate fi alocat accesul la diferite resurse (de asemeni, blocarea acelui cont utilizator va presupune i blocarea accesului la toate resursele unde s-a alocat acces); pot fi impuse n mod centralizat politici privind complexitatea, durata de valabilitate a parolelor;

n cazul aplicaiilor, nu este necesar salvarea n clar a userului i a parolei de acces (att timp ct aplicaia este executat sub credenialele contului utilizator pentru care s-a alocat acces explicit n instana MSSQL); etc.

SQL Server authentication mode, presupune:

ca autentificarea s fie realizat de ctre instana MSSQL; pstrarea userului i parolei de acces n cadrul instanei MSSQL (deci nu exist nici o legtur ntre conturile Windows i userii MSSQL); furnizarea userului i a parolei de fiecare dat cnd se realizeaz autentificarea la instana MSSQL; etc;

Indiferent de opiunea aleas n etapa de instalare (Windows authentication mode sau Mixed mode), pentru fiecare instan MSSQL instalat va fi realizat contul MSSQL sa. n cazul Windows authentication mode, userul va fi creat, dar contul nu va fi activ (deci, nu va fi posibil conectarea la instana MSSQL pe baza acestui user). n cazul Mixed mode, userul va fi creat, iar imediat dup instalare, va fi posibil conectarea pe baza contului SQL.

n cadrul aceluiai pas de instalare (Database Engine Configuration), n cadrul de pagin Data Directories putei s configurai:

locaia pe disc unde va fi instalat instana MSSQL; directoarele implicite ce vor gzdui bazele de date; locaia implicit de gzduire a backup-urilor; etc.

Recomand ca att instalarea instanei MSSQL ct i gzduirea bazelor de date s fie fcute pe volume diferite de cel pe care este gzduit sistemul de operare. (n cazul acestui articol, am s pstrez configuraia implicit, dat fiind faptul c instanele MSSQL nu vor fi publicate n mediul de producie)

Instalarea instanei implicite - WEB01

(Efectuez instalarea acestei instane doar pentru a completa anumite posibile scenarii. n mod normal o singur instan MSSQL este suficient n etapa de dezvoltare / distribuire software.)

10