III MS SQLServerManagStudio

13
1 Conectarea la MSSQL prin intermediul SQL Server Management Studio Aşa cum am menţionat ş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 interfeţe efectuarea de operaţiuni 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. Mulţi asociază interfaţa SQL Server Management Studio cu MSSQL Server (oarecum din cauză că aproape toate operaţiile se pot realiza prin intermediul aceleiaşi interfeţe), dar trebuie reţinut faptul că Management Studio este un utilitar ce nu este neapărat necesar a fi instalat odată cu rolul de SGBD. De fapt, acest utilitar poate fi instalat chiar şi în absenţa 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 instanţe MSSQL din linie de comandă, caz în care utilitarul SQLCMD este suficient (şi în general instalat odată cu instanţa). În cazul în care utilitarul nu este instalat, SQL Server Management Studio poate fi descărcat (versiunea EXPRESS) de pe site-ul Microsoft.Conectarea la instanţele MSSQL găzduite de furnizorii de servicii de hosting se poate realiza prin intermediul SQL Server Management Studio (nu există motive de îngrijorare în privinţa securităţii 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 verificări asupra identităţii celui ce iniţiază conexiunea. Dacă ne întoarcem asupra paşilor de instalare efectuaţi în prima parte a acestui articol, în etapa Database Engine Configuration am ales opţiunea Mixed Mode (SQL Server authentication and Windows authentication).

description

ssms

Transcript of III MS SQLServerManagStudio

1

Conectarea la MSSQL prin intermediul SQL Server Management Studio

Aşa cum am menţionat ş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 interfeţe efectuarea de operaţiuni 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. Mulţi asociază interfaţa SQL Server Management Studio cu MSSQL Server (oarecum din cauză că aproape toate operaţiile se pot realiza prin intermediul aceleiaşi interfeţe), dar trebuie reţinut faptul că Management Studio este un utilitar ce nu este neapărat necesar a fi instalat odată cu rolul de SGBD. De fapt, acest utilitar poate fi instalat chiar şi în absenţa 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 instanţe MSSQL din linie de comandă, caz în care utilitarul SQLCMD este suficient (şi în general instalat odată cu instanţa). În cazul în care utilitarul nu este instalat, SQL Server Management Studio poate fi descărcat (versiunea EXPRESS) de pe site-ul Microsoft.Conectarea la instanţele MSSQL găzduite de furnizorii de servicii de hosting se poate realiza prin intermediul SQL Server Management Studio (nu există motive de îngrijorare în privinţa securităţii 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 verificări asupra identităţii celui ce iniţiază conexiunea. Dacă ne întoarcem asupra paşilor de instalare efectuaţi în prima parte a acestui articol, în etapa Database Engine Configuration am ales opţiunea Mixed Mode (SQL Server authentication and Windows authentication).

2

Conform configuraţiei alese în etapa de instalare, accesul la instanţa SQLEXPRESS se poate realiza în modul Windows (caz în care aplicaţia trebuie să fie executată sub credenţiale contului utilizator pentru care s-a alocat acces explicit în instanţa 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ă.

3

În cazul în care se doreşte realizarea unei conexiuni pe baza unui protocol specific, acest lucru se poate realiza prin intermediul opţiunilor avansate disponibile în cadrul de pagină Connection Properties. SQL Server Management Studio include o serie de facilităţi precum:

intellisense;

statement completion;

vizualizarea rapoartelor privind modul de execuţie a unei comenzi DML;

etc.

Pentru a putea compara execuţia frazelor SQL puteţi folosi „Display Estimated Execution Plan” sau „Include Actual Execution Plan” (le găsiţi în meniul Query).

4

Conectarea la MSSQL prin intermediul SQLCMD

Utilitarul poate fi găsit în directorul unde s-a efectuat instalarea instanţei 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 descărcat 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.

5

Conectarea via TCP/IP

Atenţie, în cazul în care efectuaţi conectarea remote, trebuie să vă asiguraţi că regulile firewall permit accesul prin reţea. Dacă e să rezumăm cazurile cele mai des întâlnite, trebuie publicat:

TCP 1433 – instanţele implicite sunt configurate a folosi TCP 1433;

UDP 1434 (SQL Server Browser) – pentru a răspunde cererilor de identificare a instanţelor MSSQL;

executabilul sqlsrvr.exe a fiecărei instanţe denumite – atunci când alocarea porturilor se realizează în mod dinamic;

NB-Name-In & Pub-WSD-In – pentru rezoluţii NETBIOS;

Sintaxa generală:

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

Exemple de conectare via TCP/IP.

6

Conectarea la instanţa 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 instanţa MSSQL este publicată pe un alt port TCP decât cel implicit).

Conectarea la instanţa implicită folosind autentificarea SQL (pe baza contului sa).

7

Conectarea via Named Pipes

Atenţie, în cazul în care efectuaţi conectarea remote, trebuie să vă asiguraţi că regulile firewall permit accesul prin reţea. Spre deosebire de TCP/IP, în acest caz trebuie publicat:

NB-Name-In & Pub-WSD-In – pentru rezoluţii NETBIOS;

File and Printer Sharing (SMB-In) – TCP 445;

Sintaxa generală:

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

De unde „luăm” <pipe name>?

Pipe name-ul poate fi obţinut în mai multe moduri, dar cel mai sigur e să îl obţineţi din configuraţia protocolului.

8

Exemple de conectare via Named Pipes.

Conectarea la instanţa implicită folosind autentificarea Windows.

9

Conectarea la instanţa 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 următorului 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ă, uşor de înţeles, uşor de memorat, dar îmi permite şi punerea în discuţie a unor cazuri particulare).

10

comanda.sql

Diagrama bazei de date Comanda.

11

Configurarea Authentication Mode

La momentul instalării instanţelor MSSQL, în etapa Database Engine Configuration am ales opţiunea Mixed Mode (SQL Server authentication and Windows authentication).

Cum putem reveni asupra acestei setări? Prin intermediul regiştrilor! Fiecare instanţă MSSQL are câte un set de regiştrii definiţi î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.

12

Este necesară repornirea instanţei MSSQL în cazul în care valoarea LoginMode este schimbată.

Mai exact, pe baza exemplului nostru, LoginMode are valoarea 2 (pentru fiecare instanţă în parte).

Regiştrii instanţa implicită.

Regiştrii instanţa denumită. Aşadar, în cazul în care, pentru instanţa implicită atribui valoarea 1 (Windows authentication), după repornirea serviciilor MSSQL, următoarele conectări bazate pe autentificarea SQL vor eşua.

13

În cazul în care la momentul instalării s-a ales opţiunea Windows authentication mode, userul sa va fi creat, dar contul nu va fi activ (deci, nu va fi posibilă conectarea la instanţa MSSQL pe baza acestui user). Aşadar, modificarea

regiştrilor (activarea modului Mixed Mode) va trebui însoţită de activarea contului sa.

Selectarea unei baze de date

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