Administrare SQL Server
Administrare cu ajutorul SQL Server.
Obiectiv modular
La finalizarea acestui modul, stagiarul trebuie să fie capabil să execute ș i să automatizeze
sarcini administrative ș i crearea de instrumente de administrare personalizate.
Criterii generale de performanț ă :
▪ Gestionare corectă a automatizărilor.
▪ Securizarea ș i restaurarea corectă a bazelor de date.
▪ Automatizarea corectă a sarcinilor administrative.
Obiective intermediare Criterii speciale Elemente conț inute
de performanț ă
Prezentarea elementelor Prezentare ❑ Element de administrare a SQL Server
de administrare SQL Server corecte. •Utilitare OSQL și BCP.
Instrument de gestion al SQL Server.
•Tache de administrare.
Implementaț i un mod Mod ❑ Implementarea unui mod de autentificare.
d’authentificare. de autentificare ❑ Reamintire despre securitatea SQL Server.
corect ❑ Procesarea autentificării.
implementat.
•Selectarea unui mod de autentificare.
Crearea conturilor de conectare.
Définir les autorisations. Definiț ie corectă.❑ Gestion des autorisations.
❑ Definiț ia autorizaț iei.
❑ Tipuri de autorizare
Octroi, refuz ș i revocare a autorizaț iei.
Realizarea unei salvare ❑ Salvarea bazelor de date.
salvare de baze de corect realizat. ❑ Protecț ie împotriva pierderii.
date. ❑ Backup SQL Server.
❑ Executare de rezervă.
❑ Metodă de salvare.
❑ Planificarea unei strategii de salvare.
Restaurarea Restaurare ❑ Restaurarea bazelor de date.
sauvegardes de corect realizată.❑ Procesul de recuperare a SQL Server.
date. ❑ Pregătire pentru restaurare.
❑ Restaurare din backup.
❑ Restaurarea BD-urilor de sistem deteriorate.
Surveiller les Supraveghere ❑ Supravegherea performanț elor SQL Server.
performanț e SQL realizată corect..❑ Motive care justifică supravegherea SQL Server.
Server. ❑ Supravegherea ș i ajustarea performanț elor.
❑ Instrumente de monitorizare a SQL Server.
❑ Sarcini restricț ionate legate de supraveghere.
Element de administrare a SQL Server
•Utilitare OSQL și BCP.
•Unelte de gestionare a SQL Server (SqlServer
ManagementStudio).
Tache de administrare.
Ce este un SGBDR?
SQL Server est un Système de Gestion de Base de Données Relationnelle (SGBDR), ce qui
îi conferă o capacitate foarte mare de a gestiona datele păstrându-le integritatea
ș i coerenț a lor.
SQL Server este responsabil de:
●stocarea datelor
●verificaț i constrângerile de integritate definite,
●garantarea coerenț ei datelor pe care le stochează, chiar ș i în caz de defecț iune (oprire bruscă) a
sistem
●asigura relaț iile între datele definite de utilizatori.
Acest produs este complet integrat în Windows ș i acest lucru la mai multe niveluri :
•Observator al evenimentelor: jurnalul aplicațiilor este folosit pentru a consemna
erori generate de SQL Server. Gestionarea erorilor este centralizată prin Windows, acest
care facilitează diagnosticul.
●Analizor de performanț e: adăugând contoare noi, este uș or să
a detecta gâturi de sticlă ș i a reac ț iona mai bine pentru a evita aceste probleme. Se folose ș te
toată puterea analizei de performanț ă, ș i este posibil în cadrul aceluiaș i
outil de poser des compteurs sur SQL Server et sur Windows et ainsi d ’être à même de
detectaț i adevărata problemă.
●Tratament paralel: SQL Server este capabil să profite de arhitecturile
multiprocesoare. Fiecare instan ț ă SQL Server are propriul său proces de execu ț ie ș i
firele Windows sau fibrele (dacă opț iunea este activată) sunt executate pentru a exploata
la cea mai bună arhitectură hardware disponibilă. Fiecare instanț ă SQL Server rulează întotdeauna
mai multe fire Windows. Pentru a suporta toate procesoarele prezente pe
sistem, parametrul de configurare max grad de paralelism trebuie să păstreze
valoare 0. Aceasta este valoarea implicită. Pentru a preveni generarea de plan
execuț iei paralele, este suficient să se aloce valoarea 1 acestui parametru. În cele din urmă, alocându-i o
valoare cuprinsă între 1 ș i numărul de procesoare, este posibil să se limiteze gradul de
paralelism. Valoarea maximă acceptată de acest parametru este 64.
Securitate: SQL Server este capabil să se bazeze integral pe securitatea gestionată
prin Windows, pentru a permite utilizatorilor finali să deț ină doar un nume
d’utilisateur ș i o singură parolă. Cu toate acestea, SQL Server îș i gestionează propriul sistem de
securitate pentru toț i clienț ii non-Microsoft.
Serviciile Windows sunt utilizate pentru a executa componentele
logicile corespunzătoare serverului. Gestionarea serverului (oprire, pornire ș i
suspensia) este facilitată ș i este posibil să te bucuri de toate funcț ionalităț ile
asociate cu serviciile Windows (pornire automată, execu ț ie în
contextul unui cont de utilizator din domeniu...)
Active Directory: serverele SQL 2008 ș i proprietăț ile lor sunt automat
înregistrate în serviciul de director Active Directory. Astfel, este posibil să se efectueze
cercetări în Active Directory pentru a localiza instanț ele SQL Server care funcț ionează.
SQL Server poate gestiona două tipuri diferite de baze de date:
●baze OLTP (Procesare tranzacț ională online) care corespund unor baze
în care informaț iile sunt stocate direct pentru a fi reutilizate mai mult
tard ces informations telles qu’elles ont été stockées.
●bazele OLAP (Procesare Analitică Online) care conț in informaț ii
statistici pentru a putea extrage informaț iile sub formă de cub
multidimensional în scopul de a ajuta la decizie, de exemplu. Statisticele
conț inute în baze OLAP se bazează pe informaț ii conț inute în
o bază OLTP.
Componentele SQL Server
Motorul de baze de date SQL Server sau Engine-ul de baze de date este compus din
mai multe software-uri. Unele rulează sub formă de servicii, în timp ce altele
posedă o interfaț ă de utilizator grafică sau în linie de comandă.
Componente Server
SQL Server se execută sub formă de servicii Windows. În funcț ie de opț iunile de instalare
Alegerea poate oferi mai multe servicii. Principalele servicii sunt:
SQL Server: este serverul de baze de date propriu-zis.
Dacă acest serviciu nu este pornit, nu este posibil să accesaț i informaț iile.
prin intermediul acestui serviciu, SQL Server asigură gestionarea cererilor
utilizatori.
Ce service est référencé sous le nom MSSQLSERVERpourl ’instance par défautet
MSSQLSERVER $nomInstancedans cazul unei instanț e numite.
SQL Server Agent: ceserviceprend en chargel’exécution de tâches planifiées, la
supravegherea SQL Server ș i urmărirea alertelor. Este legat direct de o
instan ț ă de SQL Server. Este referit în managerul de servicii sub numele
SQL Server Agent (MSSQLSERVER) pentru instan ț a implicită ș i SQL Server
Agent(nomInstanț ă) în cazul unei instanț e numite.
Căutare Completa Microsoft: ce serviciu propune să gestioneze indexarea documentelor
type texte stockés dans SQL Server et gère également les recherches par rapport aux
cuvinte cheie.
Este posibil să instalaț i mai multe instanț e de SQL Server pe acelaș i computer.
Conectivitate Client
Instalarea componentelor de conectivitate pe posturile clien ț ilor permite
prelua gestionarea re ț elei, biblioteca DB pentru programele de acces
nativ, suport OLE DB ș i ODBC.
Instrumente de gestionare
Realizările destinate administra ț iei sunt posibile prin utilizarea unor instrumente.
Aceste unelte au, pentru cea mai mare parte, o interfa ț ă grafică prietenoasă ș i u ș or de utilizat.
intuitiv. Cu toate acestea, sarcinile administrative trebuie să fie gândite înainte de a le
realizare.
Utilizarea unora dintre instrumente presupune că componenta server corespunzătoare este
instalat.
Aceste instrumente sunt :
●SQL Server Management Studio pentru a efectua toate operaț iunile la nivelul
server de baze de date.
●Manager de Configurare SQL Server pentru a gestiona serviciile legate de SQL Server.
●SQL Server Profiler pentru a urmări ș i analiza sarcina de lucru a unei instanț e SQL
Server.
●Consilier pentru optimizarea motorului de baze de date pentru a permite o optimizare a funcț ionării
de la server de baze de date.
În plus fa ț ă de aceste unelte, SQL Server oferă Dezvoltarea Inteligen ț ei de Afaceri
Studiu pentru programarea lucrărilor care se va încadra într-un cadru de analiză
multidimensională a datelor.
Componentele
Diferitele module software furnizate de SQL Server se articulează întotdeauna în jurul
motor de baze de date relaț ionale care procesează în mod performant
informaț ii stocate în format relaț ional ș i în format XML.
SQL Server Analysis Service permite o analiză aprofundată a cuburilor de date definite de
prin intermediul Business Intelligence Development Studio.
SQL Server Integration Service (SSIS) este un instrument de import ș i export de
date uș or de implementat, având în acelaș i timp un grad mare de configurabilitate.
●Serviciile de raportare permit crearea de rapoarte de analiză a datelor.
●Replicarea datelor pe diverse instanț e permite poziț ionarea datelor
mai aproape de utilizatori ș i de a reduce timpii de procesare.
Service Broker permite o muncă în modul asincron ș i astfel facilitează gestionarea vârfurilor.
de o activitate intensă prin stocarea cererilor de muncă înainte de a le procesa.
Integrarea CLR în SQL Server permite dezvoltarea procedurilor ș i funcț iilor în
utilizând limbajele [Link] ș i C#.
Integrarea CLR nu vine să înlocuiască Transact SQL, ci se prezintă ca un
complement pentru a putea realiza un codare simplă ș i performantă pentru întregul
funcț ionalităț i care trebuie să fie prezente pe server.
Punctele de terminare http permite SQL Server să găzduiască propriile servicii ș i
de a facilita astfel integrarea serverului într-un context heterogen.
Administraț ie
Limbajul natural al SQL Server este Transact SQL. Este therefore necesar să îi
transmite instrucț iunile în acest limbaj. Deoarece acest limbaj nu este neapărat
natural pentru utilizator, este posibil să compui instrucț iunea într-o manieră grafică prin
SQL Server Management Studio, apoi pentru a provoca execuț ia acestuia pe server cu ajutorul
butonul OK, Aplicare... Uneltele grafice utilizează biblioteca SMO (SQL)
Objectul de gestionare a serverului) pentru a stabili un dialog eficient cu serverul.
Este, aș adar, posibil să scrii scripturi Transact SQL pentru a executa operaț ii
administrative sub formă de procesare în loturi.
Programare
Dezvoltarea aplicaț iilor client pentru a vizualiza datele conț inute în
serverul se poate baza pe diferite tehnologii.
Bază de date SQL Server
Objete de bază de date
Baze de date conț in un anumit număr de obiecte logice. Este posibil să ...
regroupaț i aceste obiecte în trei mari categorii :
●Gestionarea ș i stocarea datelor: tabele, tipuri de date, constrângeri de integritate,
valoare implicită, reguli ș i index.
Acces la date: vederi ș i proceduri stocate.
●Gestionarea integrităț ii complexe: declanș ator (procedură stocată care se execută
automat la execu ț ia unui ordin SQL care modifică con ț inutul unei tabele:
INSERT, UPDATE ș i DELETE). Declanș atorul este întotdeauna asociat cu o tabelă ș i cu o
instrucț iune SQL. Aceasta permite stabilirea unor reguli complexe de integritate care suprapun.
mai multe tabele sau de a menț ine date nenormalizate.
Numele complet al obiectelor
Regula aplicată pentru denumirea obiectelor permite o identificare perfectă. Numele
complet este compus astfel: [Link].
Baze de date de sistem ș i tabele de sistem
Pentru a gestiona toate datele stocate, SQL Server se foloseș te de el însuș i. Aș adar, există
des baze de date sistem ș i pe fiecare bază de utilizator, câteva tabele de sistem.
Inserț ia ș i actualizarea datelor în aceste tabele nu se efectuează niciodată
direct, dar prin comenzi Transact SQL sau proceduri stocate.
Numele bazelor de date ș i al tabelelor
sistemele sunt fixate ș i cunoscute prin SQL Server.
nu trebuie să redenumim o tabelă sau o
sistem de bază.
Maestru
Este baza de date principală a SQL Server. Întregul set de date
strategice pentru buna func ț ionare a serverului este stocat (conturi de conectare,
opț iuni de configurare, existenț a bazelor de date ale utilizatorilor ș i referinț ele
vers fiș ierele care compun aceste baze...
Model
Această bază conț ine toate elementele înscrise în orice nouă bază de utilizator.
În mod implicit, există doar tabelele de sistem, dar este posibil să adăugaț i elemente.
Tempdb
BaseTempdb este un spaț iu temporar de stocare partajat. Acesta permite gestionarea tabelelor
temporare locale sau globală, tabelele de lucru intermediare pentru a face sortări pe
exemple, dar ș i jocurile de rezultate ale cursorilor. bazaTempdbest este recreată, cu ea
dimensiunea iniț ială, la fiecare pornire a instanț ei. Astfel, nicio informaț ie nu poate
a fi păstrată în mod persistent în interiorul bazei Tempdb. Obiectele
temporarele sunt, la rândul lor, ș terse la deconectarea proprietarului lor.
Msdb
Aceasta con ț ine informa ț iile folosite de serviciul SQL Server Agent pentru
declan ș a o alertă, a informa un operator sau a executa o sarcină planificată. Msdb
conț ine de asemenea istoricul executării sarcinilor.
Resursă
Această bază în modul de citire conț ine definiț ia tuturor noilor elemente definite la
începând cu SQL Server 2005.
Obiectele sistemului sunt definite acolo, deș i logic apar în schemă
de la utilizatorul sys.
Cu această bază, migrarea de la SQL Server 2000 la SQL Server 200x este facilitată, deoarece
adăugarea simplă a bazei de resurse permite obț inerea întregului set de obiecte definite în
SQL Server 2005 fără a fi necesar să atingi baza de date master.
Sarcinile administratorului
Les tâches de l’administrateur
Administratorul de baze de date are ca obiectiv principal îmbunătăț irea
funcț ionarea bazei de date.
Deș i SQL Server are numeroase instrumente ș i algoritmi de autooptimizare, el
rămân multe sarcini administratorului.
Principalele sarcini ale administratorului sunt:
•Gestionați serviciile SQL Server;
•Gestionați instanțele SQL Server;
•Stabilirea procesului de salvare și restaurare;
•Configurarea unei disponibilități a datelor în conformitate cu politica companiei;
•Gestionați configurațiile rețelelor;
•Importați și exportați date
În plus faț ă de abilităț ile de sistem pe care trebuie să le deț ină administratorul pentru a fi capabil să
a gestiona cât mai bine instanț a SQL Server, este important pentru el să cunoască posibilităț ile
oferite de SQL Server pentru automatizarea sarcinilor cu SQL Agent.
Pentru a măsura rezultatul muncii sale ș i a compara diferitele opț iuni de configurare
că poate fi adus să facă, administratorul trebuie să fie capabil să utilizeze uneltele ș i
metode legate de SQL Server.
În sfârș it ș i este fără îndoială un punct crucial, administrarea bazei trebuie să fie înscrisă
într-un proces mai global care integrează administratorul încă din etapa de concepț ie a
bază, astfel încât să facă cele mai bune alegeri în ceea ce prive ș te arhitectura încă de la
concepț ie. Administratorul va putea astfel interveni asupra creării bazei ș i alegerilor
fapte cum ar fi, de exemplu, numărul de grupuri de fiș iere de utilizat, indecș ii, viziunile,
proceduri stocate de definit pentru a optimiza traficul de reț ea, dar ș i pentru
simplificarea gestionării drepturilor de acces. De asemenea, administratorul va putea
consilier cu privire la partajarea sau nu a unei tabele.
Uneltele
Uneletele
SQL Server dispune de numeroase instrumente. Aceste instrumente sunt complementare ș i fiecare
dintre ei este adaptat unui tip de problemă sau acț iune.
Este important să ai o viziune de ansamblu asupra obiectivului vizat de fiecare dintre aceste instrumente
pentru a ș ti pe care să-l folosim pentru a rezolva o problemă foarte precisă.
Este posibil să facem aici o analogie cu bricolajul, dacă nu deț ineț i decât un
screwdriver vei încerca să faci totul cu, în timp ce, dimpotrivă, dacă trusa ta de unelte
este bine aprovizionat, există ș anse mari să găsiț i uneltele care răspund exact problemei
rencontré.
Pentru SQL Server, abordarea este similară. Este bineînț eles posibil să facem aproape
pe lângă Transact SQL, SQL Server oferă ș i alte instrumente grafice pentru
permite rezolvarea unor probleme foarte precise.
Utilizarea celor mai multe dintre ele va fi detaliată pe parcursul acestei lucrări.
O privire globală permite totuș i să avem o viziune mai bună asupra interesului prezentat de
fiecare.
SQL Server Management Studio
Este instrumentul principal al SQL Server ș i este destinat atât dezvoltatorilor
qu'administraț ilor.
SQL Server Management Studio (SSMS) este consola grafică de administrare
instanț e SQL Server.
Este posibil să administra ț i mai multe instan ț e locale ș i/sau externe din acest instrument.
SQL Server Management Studio este de asemenea principalul instrument al dezvoltatorilor de baze de date
de date care vor fi folosite pentru a defini scripturile de creare a tabelelor, a vizualizărilor, a
proceduri, funcț ii, declanș atori de bază de date...
Acest utilitar poate fi pornit de la
linie de comandă prin intermediul
aplicaț iile sms.
Gestionar de Configurare SQL Server
Gestionarul de configurare SQL Server permite gestionarea tuturor elementelor
referitoare la configurarea serviciilor ș i a reț elei pe partea de client ș i pe partea de server.
Configurarea serviciilor
Serviciile diferite legate de SQL Server pot fi administrate direct
de la aceste unelte. Pe lângă opera ț iunile clasice de oprire ș i pornire, este
posibil să configura ț i tipul de pornire (automat, manual, dezactivat) astfel
contul de securitate în cadrul căruia serviciul trebuie să fie executat.
Configurarea reț elei SQL Server
Gestionarul de configuraț ie permite de asemenea gestionarea protocolarelor acceptate.
în responsabilitate la nivelul serverului. De asemenea, este posibil la acest nivel să modifici
proprietă ț i specifice fiecărui protocol, cum ar fi numărul portului de ascultare
protocole TCP/IP.
Configurarea SQL Native Client 10.0
De data aceasta, configuraț ia se referă la instrumentele client instalate local ș i mai mult
exact de a defini precis protocoalele la dispoziț ia lor pentru a intra în
contact cu serverul, dar ș i, atunci când se dovedeș te necesar, posibilitatea de
definirea aliasurilor. Această funcț ionalitate este deosebit de interesantă atunci când numele
serverul este înregistrat într-o aplica ț ie ș i că nu este posibil sau u ș or să
modifică acest înregistrare. Definiț ia unui alias permite redirecț ionarea tuturor
demandes vers un serveur distinct.
Configurarea
Înainte de a pune în funcț iune serverul SQL, făcându-l accesibil pentru toț i
utilizatori, este important să realizăm un anumit număr de operaț iuni
configurarea serverului ș i a instrumentelor de administrare a clientului pentru a se proteja
împotriva oricărei opereț ii sensibile.
1. Serviciile
Componentele serverului diferite se execută sub formă de serviciu. Prin urmare, este astfel
este necesar ca aceste servicii să fie pornite pentru a putea lucra cu serverul.
Aceste servicii pot fi gestionate cu ajutorul managerului de configurare SQL Server
dar ele pot fi gestionate ca toate serviciile Windows.
Din gestionarul de configurare, este simplu să vizualizezi starea serviciului astfel
ceea ce de a modifica proprietăț ile sale.
Ca toate serviciile Windows, ele pot fi gestionate centralizat la nivelul
server Windows.
În cele din urmă, este posibil să acț ionaț i asupra acestor servicii direct în linia de comandă prin
prin intermediu comenzilor net start ș i net stop. În timpul unei porniri online de
comandă, este posibil să ocoleș ti configuraț ia implicită a serviciului prin
specificând configuraț ia de utilizat sub formă de parametri. De exemplu, opț iunea
m (net start mssqlserver m) permite pornirea serverului în modul utilizator unic.
Stările diferite ale serviciilor
Démarré Suspendu Arrêté
SQL Server Management Studio
SQL Server Management Studio este un instrument de gestionare grafică pentru SQL Server care
permite realizarea sarcinilor administrative ș i toate opera ț iunile de
dezvoltare.
Utilizarea aceleaș i unelte permite reducerea distincț iei între cele două grupuri
de utilizatori care sunt administratorii ș i dezvoltatorii. Prin împărtăș irea aceluiaș i
unealtă, este mai uș or să ș tii ce este posibil să faci într-un alt mod.
Pentru a putea naviga de la o instan ț ă la alta a SQL Server, eventual pe
servere diferite, este necesar să înregistra ț i fiecare server în consolă
d'administration.
Această înscriere nu este necesară pentru instanț a locală de SQL Server, deoarece atunci când
crearea instanț ei, informaț iile referitoare la această instanț ă au fost adăugate în
SQL Server Management Studio
Înscrierea unui server
Fereastra Servere Înscrise permite cunoaș terea listei serverelor înscrise în SQL
Server Management Studio.
Dacă această fereastră nu este vizibilă, este posibil să solicitaț i afiș area ei din meniul
Afi ș are Servere înregistrate sau prin combinatia de taste [Ctrl][Alt] G.
Serverele sunt grupate după tip. Pentru fiecare tip este posibil să defineș ti niș te
grupuri de servere pentru a le grupa după un alt criteriu, de exemplu locaț ia
fizic. Grupurile de servere nu au nicio influenț ă asupra înscrierii serverului. Este
posibil de a muta un server într-un grup selectând opț iunea Sarcini Mutare
vers din meniul contextual asociat serverului. Prin analogie, este posibil să compari
grupurile de servere în foldere ș i serverele înscrise în fiș iere. Fiș ierele nu
nu sunt afectate atunci când sunt mutate dintr-un dosar în altul. Este la fel ș i pentru
inscripț ii de server. Dosarele sunt definite pentru a grupa fiș ierele în funcț ie de o
o logică certă, este exact rolul pe care îl joacă grupurile de servere.
Pentru a înregistra un nou server din SQL Server Management Studio, este necesar să
selecta ț i op ț iunea Înregistrare nouă de server din meniul contextual asociat
în nodul Grupuri de Servere Locale din fereastra Servere Înregistrate.
Diagnoza care permite realizarea înscrierii este compusă din două file.
Primul tab permite completarea tuturor informaț iilor generale de
inscrierea ca numele serverului, dar ș i tipul de autentificare
utilizat pentru a stabili conexiunea pe server.
De la SSMS este posibil să înregistrezi servere SQL Server,
Servicii de analiză, SQL Server Compact Edition, Servicii de raportare
ș i Serviciile de Integrare.
Butonul Tester permite să te asiguri că conexiunea aleasă
permite bine să lucrezi pe serverul selectat.
Este posibil să înregistrezi un server cu un nume diferit de
celui al serverului.
Din motive de securitate, este mai bine să alegi când
aceasta este posibil modul de autentificare Windows.
Configurarea serverului
Înainte de a deschide mai liber accesul la server ș i de a permite utilizatorilor să vină
Pentru a lucra pe server, este important să monitorizăm cu atenț ie următoarele două puncte:
Parola de administrator
Această preocupare se referă doar la serverele care sunt configurate în modul de
securitate mixtă. Dacă această opț iune a fost aleasă în timpul instalării, trebuie să te asiguri că
parola de administrator SQL Server (sa) este suficient de puternică. Dacă nu este
în acest caz, este necesar să-l modificăm.
În timpul instalării SQL Server, două utilizatori sunt predefini ț i. Primul este
grupul local al administratorilor (utilizat cu securitatea Windows), al doilea este
Utilizatorii. Aceș ti doi utilizatori au drepturi de administrator pe serverul SQL.
Utilizatorul s-a bazat pe securitatea SQL Server ș i i s-a cerut parola.
durant procedeul de instalare.
Ș i în timpul instalării, doar modul de siguranț ă Windows a fost activat, aș a că conexiunea
este non activă. Este necesar să definiț i o parolă puternică înainte de a activa
conexiune. Cu toate acestea, conexiunea nu va putea fi utilizată decât dacă serverul este
configurat în modul de siguranț ă mixt.
Par SQL Server Management Studio
Prin SQL tranzacț ionat
Utilitare
OSQL este un utilitar de linie de comandă care poate fi folosit pentru a interoga o
bază de date ș i efectua alte sarcini administrative.
Este accesibil pe un server ș i vă permite să emiteț i comenzi către un altul.
direct printr-o invitaț ie de comandă, etape de lucru ale Agentului SQL Server
sau fiș iere de comenzi.
Utilitarul osql vă permite să introduceț i instrucț iuni Transact-SQL, proceduri
sistem ș i fiș iere de script. Acest utilitar foloseș te ODBC pentru a comunica cu
server
Sintaxă:
osql
[-?] |
[-L] |
[
{
{-Ulogin_id [-Ppassword]} | -E }
[-Nume_server[ ume_instanta]] [-Nume_workstation] [-Nume_baza_de_date]
[-ltime_out] [-ttime_out] [-hheaders]
[-separator_scoală] [-lăț ime_columnă] [-dimensiune_pachet]
[-e] [-I] [-D data_source_name]
[-ccmd_end] [-q "interogare"] [-Q"interogare"]
[-n] [-merror_level] [-r {0 | 1}]
[-fiș ier_intrare] [-fieș ier_iesire] [-p]
[-b] [-u] [-R] [-O]
]
Argumente
-?
Afiș ează un rezumat al sintaxei comutatoarelor SQL.
-L
Listează toate serverele configurate local ș i numele serverelor
emittând pe reț ea.
-Ulogin_id
ID-ul de conectare al utilizatorului. ID-urile de conectare respectă distincț ia între majuscule ș i minuscule.
-Pmot de passe
Specificaț i parola pentru utilizator.
Dacă opț iunea -P nu este utilizată, osql te invită să introduci o parolă. Dacă opț iunea -P este
utilizată la sfârș itul liniei de comandă fără a specifica un cuvânt de
passe,osqlemploie cuvântul de acces implicit (NULL).
Pentru a te conecta la un server MS SQL Server cu osql :
Cu un login SQL Server specific:
C:\>osql-U<login>-P<login_parola>-S<NumeleServerului>
Exemple :
C:\>osql-Usa -Psa_pwd -SCGC\DBA_T1_MSQ
Cu o autentificare NT (sau modul de conexiune de încredere), în acest caz nu există niciun cuvânt
de passe nu este necesar :
C:\>osql-E -S<NumeleServerului>
Exemple :
C:\>osql-E -SCGC\DBA_T1_MSQ
Comenzile
Odată conectat la serverul SQL, OSQL are câteva comenzi care îi sunt
proprii ș i care permit să lucrezi cu acest instrument.
•GO: Lansează executarea scriptului TSQL introdus
•IEȘIRE sau PLECĂ: Iese din OSQL
•RESET: Șterge toate comenzile introduse în OSQL (numărul liniei
repasse atunci la 1)
•CTRL+C: Oprește execuția curentă fără a ieși din OSQL
Comanda ED lansează editorul de text implicit al maș inii. Acesta este în mod implicit
[Link], editor de text în versiunea MS-DOS. Pentru a schimba asta, trebuie să executaț i
comanda "SET EDITOR=notepad" de exemplu (pentru a avea Notepad ca editor implicit) într-o
console MS-DOS.
Exercice1 :
•Utilizați SQL pentru a vă conecta la server.
•Utilizați SQL pentru a implementa baza de date Studii următoare:
Etudiant(id_Etud, Nom_Etud, Prenom_Etud)
Module(N°Module, Intitule_Mod)
Urmaț i(#id_Etud, # N°Modul, Ora_Inceput, Ora_Sfarsit)
•Utilizați SQL pentru a executa următoarele interogări:
1. Lista studen ț ilor
2. Lista modulelor
[Link] modulelor urmate de Studentul „ Aissani” „ Omar”
4. Ora de început ș i ora de sfâr ș it a modulului „ sql server” urmat de studentul „ Hakmi”
Taher
Exemple :
•Exécuter un script SQL par l’intermédiaire de l’utilitaireosql :
osql -S MOUKEN\SQLEXPRESS2008 -E -i
C:\Users\mouke\Desktop\Cours\[Link]
- E : conexiune aprobată -i : fiș ier de intrare
Înregistrarea ieș irii într-un fiș ier text
Comanda următoare se conectează la SQL Server folosind autentificarea Windows,
executaț i fiș ierul după argumentul –i ș i salvaț i rezultatele execuț iei în
fiș ier după argumentul -o.
osql -SMOUKEN\SQLEXPRESS2008-E -i [Link] -o
C:\Users\mouke\Desktop\Cours\[Link]
Exercice2 :
•Ați folosit SQL pentru a vă conecta la server.
•Creează un script SQL (în Transact SQL) cu extensia .sql pentru a implementa
bază de date anterioară.
•Utiliser la commandeosqlpour exécuter le script sur votre serveur
•Utilizați comanda osql pentru a executa scriptul pe serverul dvs. și a exporta-l
rezultatul cererilor într-un fiș ier text.
Utilitare bcp
Utilitarul bulkcopyprogram (bcp) copiază în bloc date între o instanț ă
deMicrosoft SQL Server ș i un fiș ier de date într-un format specificat de
l’utilisateur.
Utilitarul permite importul unui număr mare de noi linii în
tabele SQL Server pentru exportarea datelor din tabele în fiș iere de date.
Pentru a importadateîntr-un tabel, trebuie să foloseș ti un fiș ier de format
creat pentru acest tablou pentru a înț elege structura tabelului ș i tipurile de date
valide pentru coloanele sale.
Note
Dacă folosiț i bcpp pentru a salva datele, creaț i un fiș ier de format pentru a salva formatul
de date. Fiș ierele de date nu includ niciun ș ablon ș i nicio informaț ie de format, ceea ce
făcând astfel încât dacă o tabelă sau o vedere este ș tearsă ș i dacă nu aveț i un fiș ier de format, este posibil să
nu sunteț i capabili să importaț i datele.
Utilitarul bcp din clientul Microsoft SQL Server permite exportul ș i importul de
date în mod nativ sau în mod caractere.
În jargonul clasic :
"bcp out" denotă exportul datelor într-un fișier folosind bcp.
•"bcp în" corespunde importului datelor într-o bază dintr-un fișier cu bcp.
Utilitarul bcp este disponibil în directorul C:\Program Files\Microsoft SQL
Server\<version>\tools\binn, director înscris în variabila %PATH% de
mediul Windows.
Sintaxă bcp [numele_bazei_de_date.] schema.{numele_tabelei | numele_vizualizării | "interogare"}
{în fisier_date | afară fisier_date | cerereafisier_date | format nul}
[-o dimensiune_pachet]
[-b dimensiune_pachet]
[-c]
[-C { ACP | OEM | RAW | code_page } ]
[-d nume_bază_datelor]
[-D]
[-e err_file]
[-E]
[-f format_fisier]
[-F prima_linie]
[-G Autentificare Azure Active Directory]
[-h"indici [,...n]" ]
[-i fiș ier_input]
[-k]
[-K intenț ia aplicaț iei]
[-l timp_de_conectare]
[-L ultima_rând]
[-m max_errors]
[-n]
[-N]
[-o fisier_ieș ire]
[-P parolă]
[-q]
[-r termen_rând]
[-R]
[-S [nume_server[ ume_instanta]]
[-t field_term]
[-T]
[-U login_id]
[-v]
[-V (80 | 90 | 100 | 110 | 120 | 130 ) ]
[-w]
[-x]
Argumente
data_file
Calea completă de acces a fiș ierului de date. La importul în bloc de
date către SQL Server, fiș ierul de date conț ine datele care trebuie copiate în
tabel sau vedere specificată. La exportarea în bloc a datelor din SQL Server,
fiș ierul de date conț ine datele provenite din tabelul sau din vedere. Calea
Accesul poate avea între 1 ș i 255 de caractere. Fiș ierul de date poate conț ine
până la 2^63 - 1 linii.
database_name
Numele bazei de date care conț ine tabela sau vista specificată. Fără alte
indicaț ie, este vorba despre baza de date implicită a utilizatorului.
Puteț i, de asemenea, să specificaț i în mod explicit numele bazei de date cud-.
indata_file|outdata_file|queryoutdata_file|format nul
Direcț ia de copiere în bloc :
•copie dintr-un fișier într-un tabel sau o vizualizare din baza de date.
•exportați într-un fișier dintr-un tabel sau dintr-o vedere a bazei de date. Dacă
specificaț i un fiș ier existent, acesta este înlocuit. Atunci când extrageț i datele, reț ineț i
că utilitarulbcprezintă un ș ir gol ca un ș ir Null, ș i un ș ir Null
comme une chaîne vide.
•queryout copie dintr-o interogare și trebuie specificată doar în timpul unei copii
de date în bloc dintr-o interogare.
creează un fiș ier de format bazat pe opț iunea specificată (-n, -c, -w sau -N) ș i
delimitatori de tabel sau de vedere.
În timpul unei copieri în bloc de date, comanda bcp se poate referi la un fiș ier de
format, ceea ce permite evitarea reintroducerii informaț iilor de format într-un mod
[Link]ț iunea de format necesită opț iunea -f;
Export de date
bcp afară
Sintaxa pentru a exporta o tabelă sau o vedere într-un fiș ier [Link] este următoarea:
DOS>[Link] out [Link] -
Sserveur[-Uutilisateur] [-Pmotdepasse] [-T] [-t separateur de
champs] [-r separator de linie] [-c] [-n]
Cuvântul cheie "out" indică modul de export de date.
Opț iunile -c (mod caractere) ș i -n (mod nativ) sunt exclusiv una faț ă de cealaltă.
Exemple :
Pentru a executa comenzile BCP următoare în baza dvs. de date de test, trebuie să
puteț i modifica tabela angajaț ilor următoare. Modificaț i calea fiș ierului în
conséquence.
CREATE [Link] (
Id INTPRIMARY KEY,
Name VARCHAR(255),
Salary INT );
INSERT INTO [Link](1,'Vish', 1000);
INSEREAZĂ ÎN [Link] (2, 'Shailesh', 5000);
INSEREAZĂ ÎN [Link] (3, 'Vikrant', 7000);
INSERARE ÎN [Link](4,'Chetan', 12000);
SELECT*[Link];
Exportaț i datele dintr-un tabel într-un fiș ier de date
Considerăm că avem un tabelAngajatîn baza noastră de date detest.
Vom exporta datele folosind direcț ia OUT.
Un fiș ier text va fi creat pe discul nostru cu datele din tabelul
angajaț i.
Ș i dacă numele de fiș ier există deja, trebuie să fie înlocuit. Altfel, va fi creat un fiș ier nou.
BCP [Link]« F:\SQLServerFiles\[Link]"-T -S MOUKEN\SQLEXPRESS2008 -t, -c
Exportaț i datele dintr-un tabel într-un fiș ier de date delimitat de
barres verticales :
În exemplul următor, utilizarea numelui bazei de date, al numelui
utilizatorului ș i parola pentru a exporta tabelul angajaț ilor în fiș ier
[Link]. Nu uitaț i că asta va suprascrie fiș ierul nostru separat prin
virgulele generate în exemplul anterior.
BCP [Link]" F:\SQLServerFiles\[Link]"-T -S MOUKEN\SQLEXPRESS2008–t"|"-c
Pentru a specifica separatori non-standard, de exemplu punctul-virgulă ca
separator de câmpuri ș i# ca separator de linii: utilizaț i argumentele -t ș i -r.
BCP [Link]" F:\SQLServerFiles\[Link]"-T -S MOUKEN\SQLEXPRESS2008–t";" -r"#\r\n"
-c
bcp out în mod autentificare Windows Server:
Exportaț i rezultatele unei interogări cu bcp ș i opț iunea queryout
Binarul bcp de SQL Server permitea exporta cererisau jocuri de
rezultatele procedurilor stocate cu opț iuneainterogareafara.
Această opț iuneinterogare externăpermet în mod special să se elibereze de crearea de vederi sau
să exporte foarte simplu rezultatele unei proceduri stocate care efectuează
de-normalizări.
DOS>bcp"requete"queryout [Link] -Sserveur[-Uutilizator]
[-Pmotdepasse] [-T] [-t separator de câmpuri] [-r separator de
[linia] [-c] [-n]
Câteva exemple foarte simple :
Exportaț i o masă numită, de exemplu, AUM_PORTFOLIO cu clauze WHERE
DOS>bcp"select * from [Link].AUM_PORTFOLIO where
PortfolioID > 50000"queryout [Link] -S SRVWINFR1 -Usa -
P****** -t";"-c
De făcut:
Reprindeț i baza de date pilot 2019 ș i exportaț i sub formă de cerere SQL numele
des angajaț i în fiș ier text.
Import de date
bcp în
Sintaxa pentru a importa într-un tabel datele provenind dintr-un fiș ier [Link] este
următoarea:
DOS>[Link] -Sserveur
[-Utilizator] [-Parola] [-T] [-t separator de câmpuri] [-r
separateur de ligne] [-b] [-E] [-c] [-n]
Cuvântul cheie "in" indică modul de import al datelor.
Opț iunile -c (mod caractere) ș i -n (mod nativ) sunt exclusive una faț ă de cealaltă.
La fel ca pentru exportul de date cu bcp out :
•separatorii de coloane și de rânduri sunt indicați respectiv cu
opț iuni -t et -r ș i acestea nu sunt separatorii prestabiliț i (tab pentru
separator de coloane ș i pentru separatorul de linii).
Opțiunea -T (conexiune de încredere) permite realizarea operațiunii în autentificare
Windows integrat.
Opțiunea -S se scrie -S<machine>\<numele instanței> în cazul unei instanțe
numită(ex. : -SFRDMOS105\MOSS_DATA01).
Pentru a importa, de exemplu, în tabela AUM_PORTFOLIO datele provenind dintr-un
fiș ier text pentru care separatorul de câmpuri este punct ș i virgulă ș i separatorul de
linii # : fichier.bcpc1;
MQ;1# 9;
IPS;1#
DOS>[Link].AUM_PORTFOLIOinfichier.bcpc -S SRVWINFR1
-Uș a -P****** -t";"-r"#\r\n"-c
Exemple:
Până acum, aț i văzut exemple pentru a exporta date dintr-un tabel către
un fiș ier. În exemplul următor, importăm date dintr-un fiș ier în
tabel. Trebuie să specificăm direcț ia ca SĂ importăm.
BCP [Link]:\SQLServerFiles\[Link]-T -S
MOUKEN\SQLEXPRESS2008-t"|"
bcp în et opț iunea -b (dimensiunea lotului): a evita saturarea jurnalului (log plin)
Importul într-un tabel care conț ine indexuri, coloane de tip text sau
declanşatoarele (triggers) sunt înregistrate. În funcţie de volumul de date de importat,
dimensiunea jurnalului de tranzacț ii al bazei de date poate fi insuficientă.
DOS>[Link].AUM_PORTFOLIOinfichier.bcpc -S SRVWINFR1 -Usa
-P****** -t";"-c
1000 rânduri trimise la SQL Server. Total trimis: 120000
1000 rânduri trimise către SQL Server. Total trimis: 121000
Saturaț ia jurnalului este notificată de binairele bcp în ieș irea standard cu eroarea 9002.
SQLState = 42000, NativeError = 9002 Eroare = [Microsoft][SQL Native Client][SQL
Jurnalul de tranzacț ii pentru baza de date 'FinanceKiosk' este plin. Pentru a afla de ce spaț iul în
jurnalul nu poate fi reutilizat, vezi coloana log_reuse_wait_desc în [Link]
Opț iunea-b (dimensiunea lotului) a comenzii bcpin permite evitarea acestor capcane ș i ordonează
de a lansa comanda commit toate cele n linii importate.
Pentru a lansa un commit la fiecare 10000 de linii: specificaț i -b 10000.
DOS>[Link].AUM_PORTFOLIOinfichier.bcpc -S SRVWINFR1 -Usa -P****** -t";"
-b10000 -c
Dimensionarea parametrului "batch size" -b <număr de linii> va depinde de dimensiune
jurnalul bazei de date ș i structura tabelului (indici, coloane text)
etc...)
bcp în et opț iunea -E (coloane de identitate)
Când tabela conț ine o coloană de tip identitate, opț iunea -E trebuie specificată
în comanda bcp, astfel încât dorim ca identificatorii din fiș ierul sursă să fie
conservate în timpul importului. Fără op ț iunea -E, valori noi pentru
colonneidentitysont atribuite.
DOS>[Link].AUM_PORTFOLIOinfichier.bcpc -S
SRVWINFR1 -Uș a -P****** -t";" -b10000 -E -c
Opț iunea E este echivalentă cu comanda Transact SQL setidentity_insert <tabel> on | off.
Opț iunea-Epoate fi indicată în comanda bcpin chiar dacă tabelul nu conț ine
de coloană de tip identitate.
Începând cu SQL Server 2005, dacă comanda bcp este executată cu un utilizator care are drepturi
mai restrânse decât rolul dbo (proprietar al bazei de date), dreptul ALTER trebuie să fie acordat acestui utilizator pe
tabela care conț ine coloana identitate. Fără acest drept, comanda bcp cu opț iunea -E este în
eşec cu mesajul 1088.