Sunteți pe pagina 1din 13

Conectarea la MSSQL prin intermediul SQL Server Management Studio Aa cum am menionat i n prima parte, SQL Server Management

Studio este un instrument de administrare al bazelor de date SQL Server ce permite prin intermediul unei singure interfee efectuarea de operaiuni precum:

backup/restore; crearea/modificarea de obiecte (baze de date, tabele, index ri, etc); scrierea/modificarea/executarea de fraze SQL; etc.

Instalarea SQL Server Management Studio nu este obligatorie. Muli asociaz interfaa SQL Server Management Studio cu MSSQL Server (oarecum din cauz c aproape toate operaiile se pot realiza prin intermediul aceleiai interfee), dar trebuie reinut faptul c Management Studio este un utilitar ce nu este neaprat necesar a fi instalat odat cu rolul de SGBD. De fapt, acest utilitar poate fi instalat chiar i n absena rolului de server de baze de date. Tocmai datorit faptului c SQL Server Management Studio este un utilitar destul de intuitiv, nu am s insist prea mult asupra lui n prezentul articol dorind a m axa mai mult pe managementul unei instane MSSQL din linie de comand, caz n care utilitarul SQLCMD este suficient (i n general instalat odat cu instana). n cazul n care utilitarul nu este instalat, SQL Server Management Studio poate fi descrcat (versiunea EXPRESS) de pe site-ul Microsoft.Conectarea la instanele MSSQL gzduite de furnizorii de servicii de hosting se poate realiza prin intermediul SQL Server Management Studio (nu exist motive de ngrijorare n privina securitii conexiunilor via internet n acest sens exist mecanisme de criptare i securizare). Implicit, SQL Management Studio poate fi accesat din Start All Programs Microsoft SQL Server 2008 R2 SQL Management Studio).

n imaginea anterioar este prezentat modul de autentificare Windows, caz n care sistemul de operare va fi cel care va efectua verificri asupra identitii celui ce iniiaz conexiunea. Dac ne ntoarcem asupra pailor de instalare efectuai n prima parte a acestui articol, n etapa Database Engine Configuration am ales opiunea Mixed Mode (SQL Server authentication and Windows authentication).

Conform configuraiei alese n etapa de instalare, accesul la instana SQLEXPRESS se poate realiza n modul Windows (caz n care aplicaia trebuie s fie executat sub credeniale contului utilizator pentru care s -a alocat acces explicit n instana MSSQL WEB01\Administrator).

n imaginea anterioar este prezentat modul de autentificare SQL, caz n care SGBD-ul va fi cel care va face validarea pe baz de user i parol.

n cazul n care se dorete realizarea unei conexiuni pe baza unui protocol specific, acest lucru se poate realiza prin intermediul opiunilor avansate disponibile n cadrul de pagin Connection Properties. SQL Server Management Studio include o serie de faciliti precum:

intellisense; statement completion; vizualizarea rapoartelor privind modul de execuie a unei comenzi DML; etc.

Pentru a putea compara execuia frazelor SQL putei folosi Display Estimated Execution Plan sau Include Actual Execution Plan (le gsii n meniul Query).

Conectarea la MSSQL prin intermediul SQLCMD Utilitarul poate fi gsit n directorul unde s-a efectuat instalarea instanei MSSQL (n cazul nostru C:\Program Files\Microsoft SQL Server\100\Tools\Binn). n cazul n care utilitarul SQLCMD nu este instalat, kitul de instalare poate fi descrcat de pe site-ul Microsoft (X86 Package, X64 Package, IA64 Package).

Deoarece acest director este inclus n variabila system PATH, apelarea utilitarului SQLCMD se poate face direct din consola command prompt.

Conectarea via TCP/IP Atenie, n cazul n care efectuai conectarea remote, trebuie s v asigurai c regulile firewall permit accesul prin reea. Dac e s rezumm cazurile cele mai des ntlnite, trebuie publicat:

TCP 1433 instanele implicite sunt configurate a folosi TCP 1433; UDP 1434 (SQL Server Browser) pentru a rspunde cererilor de identificare a instanelor MSSQL; executabilul sqlsrvr.exe a fiecrei instane denumite atunci cnd alocarea porturilor se realizeaz n mod dinamic; NB-Name-In & Pub-WSD-In pentru rezoluii NETBIOS;

Sintaxa general:

sqlcmd -S tcp:<computer name>,<port number>

Exemple de conectare via TCP/IP.

Conectarea la instana implicit folosind autentificarea Windows.

Conectarea la o instan denumit folosind autentificarea Windows.

Conectarea la o instan denumit, publicat pe portul TCP 49157 folosind autentificarea Windows (n general o astfel de conectare va fi necesar n cazul n care serviciul SQL Server Browser nu este pornit/publicat i instana MSSQL este publicat pe un alt port TCP dect cel implicit).

Conectarea la instana implicit folosind autentificarea SQL (pe baza contului sa).

Conectarea via Named Pipes Atenie, n cazul n care efectuai conectarea remote, trebuie s v asigurai c regulile firewall permit accesul prin reea. Spre deosebire de TCP/IP, n acest caz trebuie publicat:

NB-Name-In & Pub-WSD-In pentru rezoluii NETBIOS; File and Printer Sharing (SMB-In) TCP 445;

Sintaxa general:

sqlcmd -S np:\\<computer name>\<pipe name>


De unde lum <pipe name>? Pipe name-ul poate fi obinut n mai multe moduri, dar cel mai sigur e s l obinei din configuraia protocolului.

Exemple de conectare via Named Pipes.

Conectarea la instana implicit folosind autentificarea Windows.

Conectarea la instana denumit SQLEXPRESS folosind autentificarea SQL. Conectarea via Shared Memory n cazul Shared Memory nu putem efectua conectare remote. Sintaxa general:

sqlcmd -S lpc:<computer name>


Exemple de conectare via Shared Memory.

Apelarea scripturilor Nu mi-am propus a discuta aspecte legate de crearea bazelor de date, normalizare, denormalizare, etc. De aceea, ca baz de date (de test), am s propun apelarea urmtorului script SQL care va genera baza de date Comanda (este o baz de date pe care o folosesc n cam toate articolele legate de MSSQL tocmai datorit faptului c structura ei este simpl, uor de neles, uor de memorat, dar mi permite i punerea n discuie a unor cazuri particulare).

comanda.sql

Diagrama bazei de date Comanda.

10

Configurarea Authentication Mode La momentul instalrii instanelor MSSQL, n etapa Database Engine Configuration am ales opiunea Mixed Mode

(SQL Server authentication and Windows authentication).

Cum putem reveni asupra acestei setri? Prin intermediul regitrilor! Fiecare instan MSSQL are cte un set de regitrii definii n HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server. Dac valoarea LoginMode este 0 sau 2, atunci nseamn c respectiva instan MSSQL este configurat n modul Mixed Mode (SQL Server authentication and Windows authentication). Valoarea 1 este asociat modului de autentificare Windows.

11

Este necesar repornirea instanei MSSQL n cazul n care valoarea LoginMode este schimbat. Mai exact, pe baza exemplului nostru, LoginMode are valoarea 2 (pentru fiecare instan n parte).

Regitrii instana implicit.

Regitrii instana denumit. Aadar, n cazul n care, pentru instana implicit atribui valoarea 1 (Windows authentication), dup repornirea serviciilor MSSQL, urmtoarele conectri bazate pe autentificarea SQL vor eua.

12

n cazul n care la momentul instalrii s-a ales opiunea Windows authentication mode, userul sa va fi creat, dar contul nu va fi activ (deci, nu va fi posibil conectarea la instana MSSQL pe baza acestui user). Aadar, modificarea regitrilor (activarea modului Mixed Mode) va trebui nsoit de activarea contului sa.

Selectarea unei baze de date Selectarea unei baze de date se face prin intermediul comenzii USE.

13