Gestionarea blocărilor în SQL Server. Efectuați sarcini de administrare. Schimbarea modului de autentificare

Compania mea tocmai a trecut prin procesul anual de revizuire și, în cele din urmă, i-am convins că a venit timpul să găsească o soluție mai bună pentru gestionarea schemei/scenelor noastre SQL. În prezent avem doar câteva scripturi pentru actualizarea manuală.

Am lucrat cu VS2008 Database Edition la o altă companie și este un produs uimitor. Șeful meu mi-a cerut să arunc o privire la SQL Compare by Redgate și să caut orice alte produse care ar putea fi mai bune. Comparația SQL este, de asemenea, un produs grozav. Cu toate acestea, nu par să sprijine Perforce.

Ai folosit o varietate de produse pentru asta?

Ce instrumente folosiți pentru managementul SQL?

Ce trebuie să fie inclus în cerințe înainte ca compania mea să facă o achiziție?

10 răspunsuri

Nu cred că există un instrument care să se ocupe de toate piesele. VS Database Edition nu vă permite să creați un mecanism de eliberare decent. Rularea scripturilor individuale din Browserul de soluții nu se scalează suficient de bine în proiectele mari.

La minim ai nevoie

  • IDE/editor
  • repertoriu cod sursa care poate fi lansat din IDE-ul dumneavoastră
  • convenția de denumire și organizarea diferitelor scripturi în foldere
  • procesul de gestionare a modificărilor, gestionarea versiunilor și realizarea implementărilor.

Ultimul glonț este locul unde lucrurile se sparg de obicei. De aceea. Pentru o mai bună gestionare și urmărire a versiunilor, doriți să salvați fiecare obiect db în propriul fișier script. Adică fiecare tabel, procedură stocată, vizualizare, index etc. are propriul dosar.

Când se schimbă ceva, actualizezi fișierul și ai o nouă versiuneîn depozitul dvs. cu informațiile necesare. Când vine vorba de îmbinarea mai multor modificări într-o versiune, procesarea fișierelor individuale poate fi greoaie.

2 variante pe care le-am folosit:

    Pe lângă salvarea tuturor obiecte individuale bazele de date în fișierele lor, aveți scripturi de lansare, care sunt o concatenare de scripturi individuale. Dezavantajul acestui: ai codul in 2 locuri cu toate riscurile si dezavantajele. Potential: Rularea unei versiuni este la fel de usoara ca si executarea unui singur script.

    scrieți un instrument mic care poate citi metadatele de script din manifestul de lansare și executa fiecare script specificat în manifest pe serverul țintă. Acest lucru nu are niciun dezavantaj, cu excepția faptului că trebuie să scrieți cod. Această abordare nu funcționează pentru tabelele care nu pot fi abandonate și recreate (odată ce sunteți live și aveți datele), așa că veți avea scripturi de modificare pentru tabele. Deci va fi de fapt o combinație a ambelor abordări.

Sunt în tabăra „script it yourself”, deoarece produsele terțe vă vor duce doar până la gestionarea codului bazei de date. Nu am un script pentru fiecare obiect, deoarece obiectele se schimbă în timp, iar de nouă ori din zece doar actualizarea scriptului meu „tabel de creare” pentru a avea trei coloane noi ar fi inadecvată.

Crearea bazelor de date este în mare parte trivială. Configurați o grămadă de scripturi CREATE, ordonați-le corect (creați o bază de date înainte de scheme, scheme înainte de tabele, tabele înainte de proceduri, proceduri de apel înainte de apeluri etc.) și faceți-o. Gestionarea modificărilor bazei de date nu este atât de ușoară:

  • Dacă adăugați o coloană la un tabel, nu puteți pur și simplu să aruncați tabelul și să-l creați cu o nouă coloană, deoarece aceasta vă va distruge toate datele de producție valoroase.
  • Dacă Fred adaugă o coloană la tabelul XYZ și Mary adaugă o altă coloană la tabelul XYZ, care coloană este adăugată prima? Da, ordinea coloanelor din tabele nu contează [pentru că nu utilizați niciodată SELECT *, nu?], decât dacă încercați să gestionați baza de date și să urmăriți versiunea, moment în care aveți două baze de date „reale” care nu semănați unul cu altul, deveniți o adevărată bătaie de cap. Folosim comparația SQL nu pentru a gestiona, ci pentru a revizui și urmări lucrurile, mai ales în timpul dezvoltării, și puținele situații „sunt diferite (dar nu este magger)” pe care le putem împiedica să observăm diferențe care contează.
  • La fel, atunci când mai multe proiecte (dezvoltatori) lucrează simultan și separat pe o bază de date comună, poate deveni foarte complex. Poate că toată lumea lucrează la proiectul Next Big Thing, când dintr-o dată cineva trebuie să înceapă să lucreze la remedieri de erori pentru proiectul Last Big Thing. Cum gestionați modificările necesare de cod atunci când ordinea de lansare este variabilă și flexibilă? (Vezi amuzante într-adevăr.)
  • Schimbarea structurilor tabelelor înseamnă modificarea datelor, iar acest lucru poate deveni extrem de complicat atunci când trebuie să vă ocupați de compatibilitatea cu versiunea anterioară. Adăugați o coloană „DeltaFactor”, bine, deci ce faceți pentru a popula această valoare ezoterică pentru toate datele existente (a se citi: moștenire)? Adaugi masa noua căutare și coloana corespunzătoare, dar cum o populați pentru rândurile existente? Este posibil ca aceste situații să nu se întâmple des, dar atunci când se întâmplă, trebuie să o faci singur. Instrumente de la terți pur și simplu nu pot anticipa nevoile logicii dvs. de afaceri.

În esență, am un script CREATE pentru fiecare bază de date, urmat de o serie de scripturi ALTER, pe măsură ce baza noastră de cod se schimbă în timp. Fiecare script verifică dacă poate fi rulat: acesta este „tipul” corect de bază de date, pre-scripturile necesare au fost executate, acest script rulează deja. Numai când verificările sunt trecute, scriptul își va executa modificările.

Instrumentul pe care îl folosim este SourceGear Fortress pentru gestionarea codului sursă de bază, Redgate SQL Compare pentru suport generalși depanare, precum și o serie de scripturi de acasă bazate pe SQLCMD pentru a implementa „în bloc” scripturi cu modificări la mai multe servere și baze de date și pentru a urmări cine a aplicat ce scripturi în bazele de date la ce oră. Rezultatul final: toate bazele noastre de date sunt stabile și stabile și putem demonstra cu ușurință care versiune este sau a fost la un moment dat.

Solicităm ca toate modificările sau inserările bazei de date în lucruri precum tabelele de căutare să fie făcute într-un script și salvate în controlul sursei. Ele sunt apoi implementate în același mod ca orice alt cod pentru a implementa o versiune a software-ului. Deoarece dezvoltatorii noștri nu au drepturi de implementare, nu au de ales decât să creeze scripturi.

De obicei, folosesc MS Server Management Studio pentru a gestiona sql, a lucra cu date, a dezvolta baze de date și a le depana, dacă am nevoie să export unele date în script sql sau trebuie să creez un obiect complex în baza de date, folosesc EMS SQL Management Studio pentru SQL Server pentru că acolo pot vedea mai clar ce secțiuni înguste ale codului meu și designul vizual din acest mediu îmi oferă mai ușor

Am un proiect open source (licențiat sub LGPL) care încearcă să rezolve probleme legate de versiunea corectă a schemei DB pentru (și dincolo de) SQL Server (2005/2008/Azure), bsn ModuleStore. Întregul proces este foarte aproape de conceptul explicat de postarea lui Phillip Kelly aici.

Practic, o parte separată a setului de instrumente scriptează obiectele bazei de date date SQL Scheme Server DB în fișiere cu formatare standard, astfel încât conținutul fișierului este schimbat numai dacă obiectul s-a schimbat efectiv (spre deosebire de scriptingul realizat de VS, care creează și scripturi etc., marcând toate obiectele modificate, chiar dacă sunt practic identice).

Dar setul de instrumente depășește acest lucru dacă utilizați .NET: vă permite să încorporați scripturi SQL într-o bibliotecă sau aplicație (ca resurse inline) și apoi să comparați scripturile inline comparate cu starea curentă din baza de date. Modificările non-tabele (cele care nu sunt „modificări distructive”, așa cum sunt definite de Martin Fowler) pot fi aplicate automat sau la cerere (de exemplu, crearea și ștergerea obiectelor precum vizualizări, funcții, proceduri stocate, tipuri, indexuri) și scripturi de modificare (care trebuie notate manual) pot fi aplicate în același proces; sunt create și tabele noi, precum și datele de configurare ale acestora. După actualizare, schema bazei de date este din nou comparată cu scripturile pentru a se asigura că actualizarea bazei de date are succes înainte de a fi efectuate modificări.

Rețineți că tot codul de scriptare și comparație rulează fără SMO, deci nu aveți o dependență SMO dureroasă când utilizați modulul bsn ModuleStore în aplicații.

În funcție de modul în care doriți să accesați baza de date, setul de instrumente oferă și mai multe - implementează unele capabilități ORM și oferă o abordare front-end foarte frumoasă și utilă pentru apelarea procedurilor stocate, inclusiv suport XML transparent cu clase native XML .NET și, de asemenea, pentru TVP (Table-Valued Parameters) ca IEnumerable

Iată scriptul meu pentru a urmări proc și udf stocate și declanșatoarele într-un tabel.

    Creați un tabel pentru a stoca codul sursă proc existent

    Introduceți un tabel cu toate datele existente de declanșare și script

    Creați un declanșator DDL pentru a urmări modificările aduse acestora

    /****** Obiect: Tabel . Data scriptului: 17.09.2014 11:36:54 ******/ SETĂ ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE . ( IDENTITY(1, 1) NOT NULL , (1000) NULL , (1000) NULL , (1000) NULL , (1000) NULL , NULL , NTEXT NULL ,CONTRAINT CHEIE PRIMARĂ CLUSTERED (ASC) WITH (PAD_INDEX = OFF ,COMPISTICS =_NORE ,COMPISTICS =_NORE , OFF ,IGNORE_DUP_KEY = OFF ,ALLOW_ROW_LOCKS = ON ,ALLOW_PAGE_LOCKS = ON) ON ) ON GO ALTER TABLE . ADD CONSTRAIN DEFAULT("") PENTRU GO INSERT INTO . ( , , , , ,) SELECT "sa" ,"loginitialdata" ,r.ROUTINE_NAME ,r.ROUTINE_TYPE ,GETDATE() ,r.ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES r UNION SELECT "sa" ,"loginitialdata" ,v. "view" ,GETDATE() ,v.VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS v UNION SELECT "sa" ,,"loginitialdata" ,o.NAME , "trigger" ,GETDATE() ,m.DEFINITION FROM sys.objects o JOIN sys. sql_modules m ON o.object_id = m.object_id WHERE o.type = "TR" GO CREATE TRIGGER PE BAZĂ DE DATE PENTRU CREATE_PROCEDURE ,ALTER_PROCEDURE ,DROP_PROCEDURE ,CREATE_INDEX ,ALTER_INDEX ,DROP_TERGTRIGER_CREATE_INDEX ,DROP_TERGTRIGTER_TRIGTER_CREED ,TGER_TRIGTER_CREED ABLE ,ALTER_VIEW ,CREATE_VIEW ,DROP_VIEW AS BEGIN SET NOCOUNT ON DECLARE @data XML SET @data = Eventdata() INSERT INTO sysupdatelog VALUES (@data.value("(/EVENT_INSTANCE/LoginName)", "nvarchar(255)") ,@data.value("( /EVENT_INSTANCE /EventType)", "nvarchar(255)") ,@data.value("(/EVENT_INSTANCE/ObjectName)", "nvarchar(255)") ,@data.value("(/EVENT_INSTANCE/ObjectType)" , " nvarchar(255)") ,getdate() ,@data.value("(/EVENT_INSTANCE/TSQLCommand/CommandText)", "nvarchar(max)")) SET NOCOUNT OFF END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO ACTIVARE TRIGGER PE DATABASE GO

Mediul SQL Server oferă o serie de constructe de control diferite, fără de care este imposibil să scrieți algoritmi eficienți.

Gruparea a două sau mai multe echipe în un singur bloc realizat folosind cuvintele cheie BEGIN și END:

<блок_операторов>::=

Comenzile grupate sunt tratate ca o singură comandă de către interpretul SQL. O grupare similară este necesară pentru construcțiile de ramificare polivariantă, construcții condiționale și ciclice. Blocurile BEGIN...END pot fi imbricate.

Unele comenzi SQL nu ar trebui să fie rulate împreună cu alte comenzi ( despre care vorbim despre echipe Rezervă copie, modificări ale structurii tabelelor, proceduri stocate și altele asemenea), prin urmare includerea lor comună în constructul BEGIN...END nu este permisă.

Adesea, o anumită parte a unui program trebuie să fie executată numai dacă o anumită condiție logică este îndeplinită. Sintaxa instrucțiunii condiționale este prezentată mai jos:

<условный_оператор>::=

IF expresie_log

( sql_statement | statement_block )

(sql_statement | statement_block) ]

Buclele sunt organizate folosind următoarea construcție:

<оператор_цикла>::=

WHILE expresie_log

( sql_statement | statement_block )

( sql_statement | statement_block )

Bucla poate fi oprită forțat prin executarea comenzii BREAK în corpul său. Dacă trebuie să porniți din nou bucla fără să așteptați ca toate comenzile din corp să fie executate, trebuie să executați comanda CONTINUE.

Pentru a înlocui mai multe simple sau imbricate declarații condiționale se foloseste urmatoarea constructie:

<оператор_поливариантных_ветвлений>::=

CASE intrare_valoare

CÂND (valoare_comparare |

expresie_log ) ATUNCI

expresie_ieșire [,...n]

[ ELSE otherwise_out_expression ]

Dacă valoarea de intrare și valoarea de comparație sunt aceleași, atunci constructul returnează valoarea de ieșire. Dacă valoarea parametrului de intrare nu este găsită în niciuna dintre liniile WHEN...THEN, atunci valoarea specificată după cuvântul cheie ELSE va fi returnată.

Obiecte de bază ale structurii bazei de date SQL server

Să ne uităm la structura logică a bazei de date.

Structura logică definește structura tabelelor, relațiile dintre ele, lista de utilizatori, procedurile stocate, regulile, valorile implicite și alte obiecte ale bazei de date.

În mod logic, datele din SQL Server sunt organizate în obiecte. Obiectele principale ale bazei de date SQL Server includ următoarele obiecte.

Scurtă recenzie obiectele principale ale bazei de date.

Mese

Toate datele din SQL sunt conținute în obiectele numite Mese. Tabelele reprezintă o colecție de informații despre obiecte, fenomene, procese lumea reala. Niciun alt obiect nu stochează date, dar pot accesa datele din tabel. Tabelele din SQL au aceeași structură ca și tabelele din toate celelalte SGBD-uri și conțin:

· linii; fiecare linie (sau înregistrare) reprezintă un set de atribute (proprietăți) unei instanțe specifice a unui obiect;

· coloane; fiecare coloană (câmp) reprezintă un atribut sau o colecție de atribute. Un câmp de rând este elementul minim al unui tabel. Fiecare coloană dintr-un tabel are un nume, un tip de date și o dimensiune specifică.

Reprezentare

Vizualizările sunt tabele virtuale al căror conținut este determinat de o interogare. La fel ca tabelele reale, vizualizările conțin coloane și rânduri de date numite. Pentru utilizatorii finali, o vizualizare arată ca un tabel, dar de fapt nu conține date, ci mai degrabă reprezintă date situate într-unul sau mai multe tabele. Informațiile pe care utilizatorul le vede prin vizualizare nu sunt stocate în baza de date ca obiect separat.

Proceduri stocate

Procedurile stocate sunt un grup de comenzi SQL combinate într-un singur modul. Acest grup de comenzi este compilat și executat ca o singură unitate.

Declanșatoare

Declanșatoarele sunt o clasă specială de proceduri stocate care sunt lansate automat atunci când datele sunt adăugate, modificate sau șterse dintr-un tabel.

Funcții

Funcțiile din limbajele de programare sunt constructe care conțin cod executat frecvent. Funcția efectuează unele acțiuni cu datele și returnează o anumită valoare.

Indici

Un index este o structură asociată unui tabel sau vizualizare și concepută pentru a accelera căutarea informațiilor din acestea. Un index este definit pe una sau mai multe coloane, numite coloane indexate. Conține valorile sortate ale unei coloane sau coloane indexate cu referințe la rândul corespunzător din tabelul sau vizualizarea sursă. Productivitatea îmbunătățită este obținută prin sortarea datelor. Utilizarea indexurilor poate îmbunătăți semnificativ performanța căutării, dar stocarea indexurilor necesită spatiu suplimentarîn baza de date.


©2015-2019 site
Toate drepturile aparțin autorilor lor. Acest site nu pretinde autor, dar oferă utilizare gratuită.
Data creării paginii: 2016-08-08

Postat de Mike Weiner
Coautor: Burzin Patel
Editori: Lubor Kollar, Kevin Cox, Bill Emmert, Greg Husemeier, Paul Burpo, Joseph Sack, Denny Lee, Sanjay Mishra, Lindsey Allen, Mark Souza

Microsoft SQL Server 2008 conține o serie de îmbunătățiri și funcționalități noi care extind funcționalitatea versiunilor anterioare. Administrarea și întreținerea bazelor de date, menținerea gestionabilității, disponibilității, securității și performanței sunt toate responsabilitățile unui administrator de baze de date. Acest articol descrie cele mai utile zece funcții noi din SQL Server 2008 (în ordine alfabetică), ușurând munca administratorului bazei de date. Pe lângă o scurtă descriere, fiecare funcție conține posibile situații de utilizare a acesteia și recomandări importante de utilizare.

Monitor de activitate

Când depanează problemele de performanță sau monitorizează un server în timp real, un administrator va rula de obicei o serie de scripturi sau va verifica sursele de informații relevante pentru a aduna date generale despre procesele care rulează și a identifica cauza problemei. SQL Server 2008 Activity Monitor reunește aceste informații pentru a oferi informații dintr-o privire despre procesele care rulează și rulează recent. Administratorul bazei de date poate atât să vizualizeze informații de nivel înalt, cât și să analizeze mai detaliat oricare dintre procese și să vizualizeze statisticile de așteptare, ceea ce facilitează identificarea și rezolvarea problemelor.

Pentru a deschide Monitorul de activitate, faceți clic Click dreapta mouse-ul peste numele serverului înregistrat în Object Explorer, apoi selectați Monitor de activitate sau utilizați pictograma standard din bara de instrumente din SQL Server Management Studio. Monitorul de activitate oferă administratorului o secțiune de prezentare generală similară ca aspect cu Manager Sarcini Windows, precum și componente pentru vizualizarea detaliată a proceselor individuale, așteptarea resurselor, I/O fișiere de date și cererile recente care consumă mult resurse, așa cum se arată în Fig. 1.

Orez. 1:Vizualizare monitor de activitateSQL Server2008 în miercurimanagement Studio

Notă. Monitorul de activitate folosește o setare de frecvență de reîmprospătare a datelor care poate fi modificată făcând clic dreapta. La alegere actualizări frecvente performanță de încărcare mare a datelor (la fiecare mai puțin de 10 secunde). sistem de lucru poate coborî.

Folosind Monitorul de activitate, un administrator poate efectua și următoarele sarcini:

· Întrerupeți și reluați monitorizarea activității cu un singur clic dreapta. Acest lucru permite administratorului să „salveze” informațiile de stare într-un anumit moment în timp și nu vor fi actualizate sau suprascrise. Dar nu uitați că atunci când actualizați datele manual, extindeți sau restrângeți o secțiune, datele vechi vor fi actualizate și pierdute.

· Faceți clic dreapta pe un element rând pentru afișare text complet cerere sau plan grafic execuție utilizând elementul de meniu „Interogări recente care consumă multe resurse”.

· Urmăriți cu Profiler sau terminați procesele în vizualizarea Procese. Evenimentele aplicației Profiler includ evenimente RPC:Efectuat, SQL:BatchStartingȘi SQL:Lot finalizat, și AuditLog inȘi AuditDeconectare.

Monitorizarea activității vă permite, de asemenea, să monitorizați activitatea oricărei instanțe locale sau la distanță a SQL Server 2005 care este înregistrată la SQL Server Management Studio.

Audit

Capacitatea de a monitoriza și înregistra evenimentele care au loc, inclusiv cine accesează obiectele și momentul și conținutul modificărilor, ajută un administrator să asigure conformitatea cu standardele de conformitate cu reglementările sau organizațiile de securitate. În plus, înțelegerea evenimentelor care au loc în mediu poate ajuta și la elaborarea unui plan de reducere a riscurilor și de menținere a unui mediu sigur.

În SQL Server 2008 (numai Ediții Enterpriseși Dezvoltator) SQL Server Audit oferă automatizare care permite administratorilor și altor utilizatori să pregătească, să salveze și să vizualizeze audituri diverse componente servere și baze de date. Funcția oferă posibilitatea de a audita cu detalii la nivel de server sau bază de date.

Există grupuri de acțiuni de audit la nivel de server, cum ar fi următoarele:

· FAILED_LOGIN_GROUP urmărește încercările eșuate de conectare.

· BACKUP_RESTORE_GROUP raportează când a fost făcută o copie de rezervă sau restaurată la baza de date.

· DATABASE_CHANGE_GROUP auditează momentul în care o bază de date a fost creată, modificată sau ștearsă.

Grupurile de acțiuni de audit la nivel de bază de date includ următoarele:

· DATABASE_OBJECT_ACCESS_GROUP este apelată ori de câte ori o instrucțiune CREATE, ALTER sau DROP este executată pe un obiect de bază de date.

· DATABASE_OBJECT_PERMISSION_CHANGE_GROUP este apelată atunci când instrucțiunile GRANT, REVOKE sau DENY sunt utilizate pe obiectele bazei de date.

Există și alte acțiuni de audit, cum ar fi SELECT, DELETE și EXECUTE. Pentru mai multe informații, inclusiv o listă completă a tuturor grupurilor și acțiunilor de audit, consultați Grupuri și acțiuni de audit SQL Server.

Rezultatele auditului pot fi trimise într-un fișier sau jurnal de evenimente (jurnal de sistem sau jurnal de evenimente de securitate Windows) pentru revizuire ulterioară. Datele de audit sunt create folosind Evenimente extinse- o altă caracteristică nouă în SQL Server 2008.

Auditurile SQL Server 2008 permit unui administrator să răspundă la întrebări la care anterior era foarte greu de răspuns după fapt, cum ar fi „Cine a renunțat la acest index?”, „Când a fost modificată procedura stocată?”, „Ce modificare a fost făcută care ar putea împiedica un utilizator de la accesarea acestui tabel?” ? și chiar „Cine a executat instrucțiunea SELECT sau UPDATE de pe tabel [ dbo.Statele de plată] ?».

Pentru mai multe informații despre utilizarea auditării SQL Server și exemple despre cum să o implementați, consultați Ghidul de conformitate SQL Server 2008.

compresie de rezervă

Administratori de baze de date pentru o lungă perioadă de timp a sugerat activarea acestei caracteristici în SQL Server. Acum s-a terminat și exact la timp! ÎN În ultima vreme Din mai multe motive, de exemplu, din cauza duratei crescute de stocare a datelor și a necesității de a stoca fizic mai multe date, dimensiunile bazelor de date au început să crească exponențial. Când faceți o copie de rezervă a unei baze de date mari, trebuie să alocați o cantitate semnificativă de spațiu pe disc pentru fișierele de rezervă, precum și să alocați o cantitate semnificativă de timp pentru operație.

Când utilizați compresia de rezervă SQL Server 2008, fișierul de rezervă este comprimat pe măsură ce este scris, ceea ce nu numai că necesită mai puțin spațiu pe disc, dar reduce și operațiunile de I/O și durează mai puțin timp pentru a finaliza backup-ul. În testele de laborator cu date reale ale utilizatorilor, s-a observat în multe cazuri o reducere cu 70-85% a dimensiunii fișierului de rezervă. În plus, testele au arătat că durata operațiunilor de copiere și restaurare a fost redusă cu aproximativ 45%. Trebuie remarcat faptul că prelucrare suplimentară când este comprimat, crește sarcina procesoarelor. Pentru a separa procesul de copiere care necesită mult timp de alte procese și pentru a minimiza impactul acestuia asupra funcționării acestora, puteți utiliza o altă funcție descrisă în acest document - Resursă Guvernator.

Comprimarea este activată prin adăugarea clauzei WITH COMPRESSION la comanda BACKUP (consultați Cărțile online SQL Server pentru mai multe informații) sau setând această opțiune pe pagină Opțiuni căsuță de dialog Backup baze de date. Pentru a evita necesitatea de a face modificări la toate scripturile de backup existente, a fost implementată o setare globală care permite comprimarea tuturor copiilor de rezervă create pe o instanță de server în mod implicit. (Această opțiune este disponibilă pe pagină Setări baze de date căsuță de dialog Proprietățile serverului; poate fi instalat și prin executarea procedurii stocate sp_ configurați cu valoarea parametrului backupcomprimareMod implicit, egal cu 1). Comanda de backup necesită o opțiune de compresie explicită, iar comanda de restaurare recunoaște automat copia de rezervă comprimată și o decomprimă la restaurare.

Compresia de backup este o caracteristică extrem de utilă care economisește spațiu și timp pe disc. Pentru mai multe informații despre configurarea compresiei de rezervă, consultați nota tehnică Reglarea performanței compresiei de rezervă înSQL Server 2008 . Notă. Backup-urile comprimate sunt acceptate numai în edițiile SQL Server 2008 Enterprise și Developer, dar toate edițiile SQL Server 2008 vă permit să restaurați copiile de rezervă comprimate.

Servere management centralizat

Adesea, un DBA gestionează multe instanțe de SQL Server simultan. Capacitatea de a centraliza managementul și administrarea multor instanțe SQL într-o singură locație economisește timp și efort semnificativ. Implementarea serverului de management centralizat, disponibil în SQL Server Management Studio prin componenta Servere înregistrate, permite unui administrator să efectueze diverse operațiuni administrative pe mai multe servere SQL dintr-o singură consolă de management.

Serverele de gestionare centralizată permit administratorului să înregistreze un grup de servere și să efectueze următoarele operațiuni asupra acestora ca un singur grup, de exemplu:

· Executarea interogărilor pe mai multe servere: Acum puteți rula un script pe mai multe servere SQL dintr-o singură sursă, iar datele vor fi returnate la acea sursă, fără a fi nevoie să vă conectați la fiecare server separat. Acest lucru poate fi util în special atunci când trebuie să vizualizați sau să comparați date de pe mai multe servere SQL fără a rula o interogare distribuită. În plus, cu condiția ca sintaxa interogării să fie acceptată de versiunile anterioare de SQL Server, atunci când este lansată din editor interogări SQL Interogările Server 2008 pot fi executate și pe instanțe ale SQL Server 2005 și SQL Server 2000. Pentru mai multe informații, consultați blogul Grupului de lucru SQL Server Manageability la Rularea interogărilor multi-server într-un mediu SQL Server 2008.

· Importați și definiți politici pe multe servere: în cadrul funcționalității Management bazat pe politici(o altă caracteristică nouă în SQL Server 2008, descrisă și în acest articol), SQL Server 2008 oferă posibilitatea de a importa fișiere de politică în grupuri separate servere de management centralizate și vă permite să definiți politici pe toate serverele înregistrate într-un anumit grup.

· Gestionați serviciile și accesați Managerul de configurare SQL Server: Instrumentul Servere de la Management central vă ajută să creați un centru de control unde DBA poate vizualiza și chiar modifica (cu permisiunile corespunzătoare) starea serviciilor.

· Import și export de servere înregistrate: Serverele înregistrate cu Central Management Servers pot fi exportate și importate atunci când sunt transferate între administratori sau diferite instalări ale SQL Server Management Studio. Această caracteristică oferă o alternativă la un administrator care importă sau exportă propriile grupuri locale în SQL Server Management Studio.

Rețineți că permisiunile sunt impuse utilizând autentificarea Windows, astfel încât drepturile și permisiunile utilizatorului pot varia de la diferite servere care sunt înregistrate în grupul Central Management Server. Pentru mai multe informații, consultați Administrarea mai multor servere cu servere de management central și blogul lui Kimberly Tripp: Servere centrale de management SQLServer2008 - le cunoști?

Colector de date și depozit de date de gestionare

Reglarea performanței și diagnosticarea necesită timp și pot necesita abilități avansate de SQL Server, precum și o înțelegere a structurii interne a bazelor de date. Monitorul de performanță Windows (Perfmon), SQL Server Profiler și vizualizările de gestionare dinamică au rezolvat unele dintre aceste probleme, dar deseori au avut un impact asupra serverului, au fost laborioase de utilizat sau au implicat metode de colectare a datelor disparate care au făcut dificilă combina si interpreta.

Pentru a oferi informații clare și utile despre performanța sistemului, SQL Server 2008 oferă un instrument de colectare și stocare a datelor de performanță complet extensibil, Data Collector. Conține câțiva agenți de colectare a datelor din cutie, un depozit centralizat de date de performanță numit depozit de date de management și mai multe rapoarte pre-construite pentru a prezenta datele colectate. Data Collector este un instrument scalabil care colectează și agregează date din mai multe surse, cum ar fi Dynamic Management Views, Perfmon Performance Monitor și interogări Transact-SQL, la o frecvență de colectare a datelor complet configurabilă. Colectorul de date poate fi extins pentru a colecta date despre orice atribut măsurabil al aplicației.

O altă caracteristică utilă a depozitului de date de management este capacitatea de a-l instala pe orice server SQL și apoi de a colecta date de la una sau mai multe instanțe SQL Server. Acest lucru minimizează impactul asupra performanței sistemelor de producție și, de asemenea, îmbunătățește scalabilitatea în contextul monitorizării și colectării datelor de pe multe servere. În testele de laborator, pierderea de debit observată la rularea agenților și la rularea depozitului de date de management pe un server ocupat (folosind o sarcină de lucru OLTP) a fost de aproximativ 4%. Pierderea de performanță poate varia în funcție de frecvența de colectare a datelor (testul menționat a fost efectuat cu o sarcină de lucru extinsă, cu datele transferate în stocare la fiecare 15 minute) și poate crește brusc și în perioadele de colectare a datelor. În orice caz, ar trebui să vă așteptați la o anumită reducere a resurselor disponibile, deoarece procesul DCExec.exe utilizează o anumită cantitate de memorie și resurse CPU, iar scrierea în depozitul de date de gestionare va crește sarcina pe subsistemul I/O și va necesita alocarea de spațiu în locația fișierelor de date și jurnal.În diagramă (Figura 2) este prezentat un raport tipic de colectare de date.

Orez. 2:Vizualizare raport pentru colectorul de dateSQL Server 2008

Raportul arată activitatea SQL Server în timpul perioadei de colectare a datelor. Acesta colectează și afișează evenimente cum ar fi așteptări, CPU, I/O și utilizarea memoriei, precum și statistici privind interogările consumatoare de resurse. Administratorul poate merge și la considerație detaliată elemente de raportare, concentrându-se pe o singură interogare sau operație pentru a investiga, identifica și rezolva problemele de performanță. Aceste capabilități de colectare, stocare și raportare a datelor permit monitorizarea proactivă a stării de sănătate a serverelor SQL din mediul dumneavoastră. Atunci când este necesar, vă permit să priviți înapoi la datele istorice pentru a înțelege și a evalua schimbările care au afectat performanța în perioada urmărită. Data Collector și Management Data Store sunt acceptate în toate edițiile SQLServer 2008, cu excepția SQLServerExpress.

Comprimarea datelor

Ușurința gestionării bazei de date face sarcinile de administrare de rutină mult mai ușoare. Pe măsură ce tabelele, indecșii și fișierele cresc în dimensiune și bazele de date foarte mari (VLDB) devin mai comune, gestionarea datelor și lucrul cu fișiere mari devin din ce în ce mai complexe. În plus, cererea tot mai mare de memorie și lățime de bandă I/O fizică care crește odată cu volumul de date solicitate crește, de asemenea, complexitatea administrativă și costă organizația. Ca rezultat, în multe cazuri, administratorii și organizațiile trebuie fie să extindă memoria sau lățimea de bandă I/O a serverelor lor, fie să accepte performanțe reduse.

Comprimarea datelor, introdusă în SQL Server 2008, ajută la rezolvarea acestor probleme. Această caracteristică permite administratorului să comprima selectiv orice tabel, partiție de tabel sau index, reducând astfel spațiul pe disc, amprenta memoriei și operațiunile I/O. Comprimarea și decomprimarea datelor încarcă procesorul; cu toate acestea, în multe cazuri, sarcina suplimentară a CPU este mai mult decât compensată de câștigurile I/O. În configurațiile în care I/O este un blocaj, compresia datelor poate oferi, de asemenea, câștiguri de performanță.

În unele teste de laborator, activarea compresiei datelor a dus la economii de spațiu pe disc de 50-80%. Economiile de spațiu variau foarte mult: dacă datele conțineau puține valori duplicate sau valorile foloseau toți octeții alocați pentru tipul de date specificat, economiile erau minime. Cu toate acestea, performanța multor sarcini de lucru nu a crescut. Cu toate acestea, atunci când lucrați cu date care conțin o mulțime de date numerice și o mulțime de valori repetate, s-au observat economii semnificative de spațiu pe disc și câștiguri de performanță variind de la câteva procente până la 40-60% pentru unele sarcini de lucru de interogare eșantion.

SQLServer 2008 acceptă două tipuri de compresie: comprimarea rândurilor, care comprimă coloanele de tabel individuale și compresia paginilor, care comprimă paginile de date utilizând comprimarea rândurilor, prefixului și dicționarului. Nivelul de compresie atins variază foarte mult în funcție de tipurile de date și de conținutul bazei de date. În general, utilizarea compresiei în rânduri reduce supraîncărcarea operațiunilor aplicației, dar reduce și raportul de compresie, ceea ce înseamnă că se economisește mai puțin spațiu. În același timp, compresia paginii are ca rezultat o încărcare suplimentară mai mare a aplicației și a procesorului, dar și economisește semnificativ mai mult spatiu. Comprimarea paginii este un superset de compresie de rând, adică dacă un obiect sau o secțiune a unui obiect este comprimată folosind compresia paginii, i se aplică și compresia de rând. În plus, SQLServer 2008 acceptă formatul de stocare varzecimală din SQL Server 2005 SP2. Vă rugăm să rețineți că, deoarece acest format este un subset de compresie de șiruri, este învechit și va fi eliminat din versiunile viitoare ale produsului.

Atât compresia rândurilor, cât și compresia paginii pot fi activate pentru un tabel sau index în modul de operare, fără a afecta în niciun fel disponibilitatea datelor pentru aplicații. În același timp, este imposibil să comprimați sau să decomprimați o secțiune separată a unui tabel partiționat în modul online fără a o dezactiva. Testele au arătat că cea mai bună abordare este o abordare combinată, în care doar câteva sunt comprimate. mesele cele mai mari: Acest lucru realizează un raport excelent între economiile de spațiu pe disc (semnificative) și pierderea de performanță (minimă). Deoarece o operațiune compactă, cum ar fi operațiile de creare a indexului sau de reconstrucție, are și cerințe pentru disponibil spatiu pe disc, compresia trebuie efectuată ținând cont de aceste cerințe. Un minim de spațiu liber va fi necesar în timpul procesului de compresie dacă compresia începe cu cele mai mici obiecte.

Puteți comprima datele folosind instrucțiuni Transact-SQL sau Expertul de comprimare a datelor. Pentru a determina modul în care un obiect s-ar putea schimba în dimensiune atunci când se micșorează, puteți utiliza procedura de stocare a sistemului sp_estima_date_comprimare_economii sau expertul de compresie a datelor. Comprimarea bazei de date este acceptată numai în edițiile SQLServer 2008 Enterprise și Developer. Este implementat exclusiv în bazele de date în sine și nu necesită nicio modificare a aplicațiilor.

Pentru mai multe informații despre utilizarea compresiei, consultați Crearea tabelelor și indicilor comprimați.

Management bazat pe politici

În multe scenarii de afaceri, este necesar să se mențină anumite configurații sau să se aplice politici, fie pe un anumit SQLServer, fie de mai multe ori într-un grup de SQLServers. Un administrator sau o organizație poate solicita o schemă de denumire specifică care să fie aplicată tuturor tabelelor de utilizatori sau procedurilor stocate care sunt create sau poate solicita anumite modificări de configurare să fie aplicate pe mai multe servere.

Managementul bazat pe politici (PBM) oferă administratorului o gamă largă de control asupra mediului. Politicile pot fi create și verificate pentru conformitate. Dacă o țintă de scanare (cum ar fi un motor de bază de date, o bază de date, un tabel sau un index SQLServer) nu îndeplinește cerințele, administratorul o poate reconfigura automat pentru a îndeplini acele cerințe. Există, de asemenea, o serie de moduri de politică (dintre care multe sunt automate) care facilitează verificarea conformității politicii, înregistrarea încălcărilor politicii și trimiterea de notificări și chiar anularea modificărilor pentru a asigura conformitatea politicii. Pentru mai multe informații despre modurile de definire și modul în care acestea se referă la aspecte (conceptul de management bazat pe politici (PBM), discutat și în acest blog), consultați Blogul de management bazat pe politici SQL Server.

Politicile pot fi exportate și importate ca fișiere XML pentru a fi definite și aplicate pe mai multe instanțe de server. În plus, în SQLServerManagement Studio și în vizualizarea Servere înregistrate, puteți defini politici pe mai multe servere care sunt înregistrate într-un grup de servere local sau într-un grup de servere de management central.

Este posibil ca versiunile anterioare de SQL Server să nu ofere toate funcționalitățile de gestionare bazate pe politici. Cu toate acestea, funcția realizarea raportului politicile pot fi utilizate pe serverele SQL Server 2005 și SQL Server 2000. Pentru mai multe informații despre utilizarea managementului bazat pe politici, consultați Administrarea serverelor folosind managementul bazat pe politici în cărțile online SQLServer. Pentru mai multe informații despre tehnologia politicii în sine, cu exemple, consultați Ghidul de conformitate SQL Server 2008.

Performanță estimată și concurență

Mulți administratori se confruntă cu provocări semnificative în sprijinul SQLServers cu încărcături de lucru în continuă schimbare și asigurarea nivelurilor previzibile de performanță (sau minimizarea variațiilor în planurile de interogare și performanță). Schimbări neașteptate Problemele de performanță a interogărilor, modificările la planurile de interogare și/sau problemele generale de performanță pot fi cauzate de o serie de motive, inclusiv încărcarea crescută a aplicațiilor care rulează pe SQLServer sau o actualizare la versiunea bazei de date în sine. Predictibilitatea interogărilor și operațiunilor care rulează pe SQLServer face mult mai ușoară atingerea și menținerea obiectivelor de disponibilitate, performanță și/sau continuitate a afacerii (îndeplinirea acordurilor de nivel de servicii și a acordurilor de nivel de suport operațional).

În SQLServer 2008, mai multe caracteristici au fost modificate pentru a îmbunătăți performanța previzibilă. Astfel, au fost aduse anumite modificări la structurile planului SQLServer 2005 ( consolidarea planurilor) și a adăugat capacitatea de a gestiona escaladarea blocării la nivel de masă. Ambele îmbunătățiri promovează interacțiuni mai previzibile și simplificate între aplicație și baza de date.

În primul rând, planificați structurile (Ghidul planului):

SQL Server 2005 a introdus îmbunătățiri la stabilitatea și predictibilitatea interogărilor printr-o nouă caracteristică la acea vreme numită „ghiduri de plan”, care oferea instrucțiuni pentru rularea interogărilor care nu puteau fi modificate direct în aplicație. Pentru mai multe informații, consultați lucrarea de aplicare a planurilor de interogare. Deși indicația de interogare USE PLAN este o caracteristică foarte puternică, a acceptat doar operațiunile DML SELECT și a fost adesea dificil de utilizat din cauza sensibilității structurilor planului la formatare.

SQL Server 2008 extinde motorul de ghidare a planului în două moduri: în primul rând, extinde suportul pentru indicația de interogare USE PLAN, care este acum compatibil cu toate instrucțiunile DML (INSERT, UPDATE, DELETE, MERGE); în al doilea rând, a fost introdusă o nouă funcție consolidarea planurilor, care vă permite să creați direct o schiță de plan (fixare) a oricărui plan de interogare care există în memoria cache a planului SQL Server, așa cum se arată în exemplul următor.

sp_create_plan_guide_from_handle
@name = N'MyQueryPlan',
@plan_handle = @plan_handle,
@statement_start_offset = @offset;

Un ghid de plan creat în orice mod are o zonă de bază de date; este stocat într-un tabel sys.plan_guides. Structurile planului afectează doar procesul de selecție a planului de interogare al optimizatorului, dar nu elimină necesitatea de a compila interogarea. De asemenea, a adăugat funcție sys.fn_validate_plan_guide, pentru a revizui structurile planului SQL Server 2005 existente și a se asigura că sunt compatibile cu SQL Server 2008. Fixarea planului este disponibilă în edițiile SQL Server 2008 Standard, Enterprise și Developer.

În al doilea rând, escaladarea blocării:

Blocarea escaladării a cauzat adesea probleme de blocare și uneori chiar blocaje. Administratorul a trebuit să rezolve aceste probleme. În versiunile anterioare ale SQLServer, era posibil să se controleze escaladarea blocării (dragurile de urmărire 1211 și 1224), dar acest lucru a fost posibil doar la nivel de granularitate la nivel de instanță. Pentru unele aplicații, aceasta a rezolvat problema, dar pentru altele a cauzat mai multe probleme. mari probleme. Un alt defect al algoritmului de escaladare a blocării din SQL Server 2005 a fost că blocările de pe tabelele partiționate au fost escalate direct la nivelul tabelului, mai degrabă decât la nivelul partiției.

SQLServer 2008 oferă o soluție pentru ambele probleme. Se implementează parametru nou, care vă permite să controlați escaladarea blocării la nivel de masă. Folosind comanda ALTERTABLE, puteți alege să dezactivați escaladarea sau escaladarea la nivelul de partiție pentru tabelele partiționate. Ambele caracteristici îmbunătățesc scalabilitatea și performanța fără efecte secundare nedorite care afectează alte obiecte din instanță. Escalarea blocării este setată la nivel de obiect al bazei de date și nu necesită nicio modificare a aplicației. Este acceptat în toate edițiile SQLServer 2008.

Guvernator de resurse

Menținerea unor niveluri sustenabile de servicii prin prevenirea cererilor nerezolvate și asigurarea că resursele sunt alocate sarcinilor de lucru critice a fost anterior o provocare. Nu exista nicio modalitate de a garanta alocarea unei anumite cantități de resurse unui set de solicitări și nu exista control asupra priorităților de acces. Toate cererile aveau drepturi egale de acces la toate resursele disponibile.

O nouă caracteristică din SQL Server 2008, Resource Governor, ajută la rezolvarea acestei probleme, oferind capacitatea de a diferenția sarcinile de lucru și de a aloca resurse în funcție de nevoile utilizatorilor. Limitele Resource Governor sunt ușor de reconfigurat în timp real, cu impact minim asupra sarcinilor de lucru care rulează. Distribuția sarcinilor de lucru în pool-ul de resurse este configurată la nivel de conexiune, iar procesul este complet transparent pentru aplicații.

Diagrama de mai jos arată procesul de alocare a resurselor. În acest scenariu, configurați trei grupuri de sarcini de lucru (admin, OLTP și raportare) și apoi alocați pool-ul de încărcături de lucru OLTP cea mai mare prioritate. În același timp, sunt configurate două pool-uri de resurse (pool pool și Application pool) cu limite specificate privind dimensiunea memoriei și timpul procesorului (CPU). Pasul final este să atribuiți volumul de lucru de administrator pool-ului de administrare și să atribuiți sarcinile de lucru OLTP și Report pool-ului de aplicații.

Următoarele sunt caracteristici de luat în considerare atunci când utilizați guvernatorul de resurse.

- Resource Governor folosește acreditările de conectare, numele gazdei sau numele aplicației ca „identificator al pool-ului de resurse”, astfel încât utilizarea unei singure date de conectare per aplicație pentru un anumit număr de clienți pe server poate face mai dificilă punerea în comun.

- Gruparea obiectelor la nivel de bază de date, unde accesul la resurse este controlat pe baza obiectelor de bază de date accesate, nu este acceptată.

— Puteți configura doar utilizarea procesorului și a resurselor de memorie. Managementul resurselor I/O nu este implementat.

- Comutarea dinamică a sarcinilor de lucru între grupurile de resurse după conectare nu este posibilă.

- Resource Governor este acceptat numai în edițiile SQL Server 2008 Enterprise și Developer și poate fi utilizat numai pentru Motorul de bază de date SQL Server; gestionarea SQL Server Analysis Services (SSAS), SQL Server Integration Services (SSIS) și SQL Server Reporting Services (SSRS) nu este acceptată.

Criptare transparentă a datelor (TDE)

Multe organizații acordă o mare atenție problemelor de securitate. Există multe straturi diferite care protejează unul dintre cele mai valoroase active ale unei organizații — datele sale. De cele mai multe ori, organizațiile protejează cu succes datele utilizate prin măsuri de securitate fizică, firewall și politici stricte de restricție a accesului. Cu toate acestea, în caz de pierdere medii fizice cu date, de exemplu, un disc sau o bandă cu o copie de rezervă, toate măsurile de securitate enumerate sunt inutile, deoarece un atacator poate pur și simplu să restaureze baza de date și să obțină acces complet la date. SQL

Server 2008 oferă o soluție la această problemă prin Transparent Data Encryption (TDE). Cu criptarea TDE, datele din operațiunile I/O sunt criptate și decriptate în timp real; Datele și fișierele jurnal sunt criptate folosind o cheie de criptare a bazei de date (DEK). DEK este cheie simetrică, protejat de un certificat stocat în > baza de date master a serverului sau de o cheie asimetrică protejată de un Extensible Key Management Module (EKM).

Caracteristica TDE protejează datele în repaus, astfel încât datele să fie Fișiere MDF, NDF și LDF nu pot fi vizualizate folosind un editor hexadecimal sau orice altă metodă. Cu toate acestea, datele active, cum ar fi rezultatele unei instrucțiuni SELECT din SQL Server Management Studio, vor rămâne vizibile pentru utilizatorii care au permisiunea de a vizualiza tabelul. În plus, deoarece TDE este implementat la nivel de bază de date, baza de date poate folosi indecși și chei pentru a optimiza interogările. TDE nu trebuie confundat cu criptarea la nivel de coloană - este o caracteristică separată care vă permite să criptați chiar și datele active.

Criptarea bazei de date este un proces unic care poate fi pornit cu comanda Transact - SQL sau din SQL Server Management Studio și apoi rulează pe un thread de fundal. Starea de criptare sau decriptare poate fi monitorizată folosind vizualizarea de gestionare dinamică sys.dm_database_encryption_keys. În testele de laborator, criptarea unei baze de date de 100 GB folosind algoritmul de criptare AES _128 a durat aproximativ o oră. Deși suprasolicitarea utilizării TDE este determinată în primul rând de volumul de lucru al aplicației, în unele dintre testele efectuate această suprasarcină a fost mai mică de 5%. Un lucru de care trebuie să fii conștient care poate afecta performanța este că, dacă TDE este utilizat pe oricare dintre bazele de date de pe instanță, atunci baza de date a sistemului este, de asemenea, criptată. tempDB. În cele din urmă, atunci când utilizați diferite funcții în același timp, trebuie luate în considerare următoarele:

  • Când utilizați compresia de rezervă pentru a comprima o bază de date criptată, dimensiunea copiei de rezervă comprimate va fi mai mare decât fără utilizarea criptării, deoarece datele criptate sunt slab comprimate.
  • Criptarea bazei de date nu afectează compresia datelor (rând sau pagină).

TDE permite unei organizații să asigure conformitatea cu standardele de reglementare și nivelurile generale de protecție a datelor. TDE este acceptat numai în edițiile SQL Server 2008 Enterprise și Developer; activarea acestuia nu necesită modificări ale aplicațiilor existente. Pentru mai multe informații, consultați Criptarea datelor în SQL Server 2008 Enterprise Edition sau discuția din Criptare transparentă a datelor.

Pentru a rezuma, SQL Server 2008 oferă caracteristici, îmbunătățiri și capabilități care vă fac munca de administrator de baze de date mai ușoară. Cele mai populare 10 sunt descrise aici, dar SQL Server 2008 are multe alte caracteristici care ușurează viața administratorilor și altor utilizatori. Listele „10 Cele mai bune caracteristici" pentru alte domenii de lucru cu SQL Server pot fi găsite în alte articole „Top 10... în SQL Server 2008” de pe acest site. Lista completă a funcțiilor și a acestora descriere detaliata Consultați Cărțile online SQL Server și site-ul web de prezentare generală SQL Server 2008.

Prima versiune Microsoft Server s SQL a fost introdus de companie în 1988. SGBD-ul a fost imediat poziționat ca unul relațional, care, potrivit producătorului, avea trei avantaje:

  • proceduri stocate, datorită cărora recuperarea datelor a fost accelerată și integritatea acestora a fost menținută în modul multi-utilizator;
  • acces constant pentru administrare fără deconectarea utilizatorilor;
  • platformă de server deschisă care vă permite să creați aplicații terță parte folosind SQL Server.

2005, cu nume de cod Yukon cu capabilități avansate de scalare, a fost prima versiune care a suportat pe deplin tehnologia .NET. S-a îmbunătățit suportul pentru datele distribuite și au apărut primele instrumente de raportare și analiză a informațiilor.

Integrarea cu Internetul a făcut posibilă utilizarea SQL Servers 2005 ca bază pentru crearea sistemelor comerțul electronic cu acces simplu și securizat la date prin browsere populare care utilizează încorporat Versiune firewall Compania a acceptat calculul paralel cantitate nelimitată procesoare.

Versiunea 2005 a fost înlocuită cu Microsoft SQL Server 2008, care este încă unul dintre cele mai populare servere de baze de date, iar puțin mai târziu a apărut următoarea versiune - SQL Servers 2012, cu suport pentru compatibilitatea cu .NET Framework și alte tehnologii avansate de procesare a informațiilor și mediu de dezvoltare Studio vizual. A fost creat un modul special SQL Azure pentru a-l accesa.

Transact-SQL

Din 1992, SQL a fost standardul pentru accesarea bazelor de date. Aproape toate limbajele de programare îl folosesc pentru a accesa baza de date, chiar dacă utilizatorului i se pare că lucrează direct cu informațiile. Sintaxa de bază a limbajului rămâne aceeași pentru a asigura compatibilitatea, dar fiecare furnizor de sisteme de gestionare a bazelor de date a încercat să adauge caracteristici suplimentare la SQL. Nu a fost posibil să se găsească un compromis, iar după „războiul standardelor” au rămas doi lideri: PL/SQL de la Oracle și Transact-SQL în Microsoft Servers SQL.

T-SQL extinde procedural SQL pentru a accesa Microsoft Servers SQL. Dar acest lucru nu exclude dezvoltarea de aplicații pe operatori „standard”.

Automatizați-vă afacerea cu SQL Server 2008 R2

Funcționarea fiabilă a aplicațiilor de afaceri este extrem de importantă pentru afacerile moderne. Cel mai mic timp de întrerupere a bazei de date poate duce la pierderi uriașe. Server de baze de date Date Microsoft SQL Server 2008 R2 vă permite să stocați în mod fiabil și sigur cantități practic nelimitate de informații folosind instrumente de management familiare tuturor administratorilor. Este acceptată scalarea verticală până la 256 de procesoare.

Tehnologia Hyper-V profită la maximum de puterea sistemelor moderne multi-core. Suportul mai multor sisteme virtuale pe un singur procesor reduce costurile și îmbunătățește scalabilitatea.

Analizează-ți datele

Pentru o analiză rapidă în timp real a fluxurilor de date, se utilizează componenta SQL Server StreamInsight, care este optimizată pentru acest tip de sarcină. Este posibil să vă dezvoltați propriile aplicații bazate pe .NET.

Funcționare neîntreruptă și securitatea datelor

A sustine performanța optimaîn orice moment furnizat de autoritatea de reglementare a resurselor încorporată în server. Administratorul poate gestiona încărcarea și sistem înseamnă, stabiliți o limită pentru aplicații privind utilizarea resurselor procesorului și memoriei. Funcțiile de criptare asigură o protecție flexibilă și transparentă a informațiilor și mențin un jurnal de acces la acestea.

Dimensiune nelimitată a bazei de date

Stocarea datelor poate fi scalată rapid și în siguranță. Utilizatorii pot folosi șabloane gata făcute Fast Track Date Warehouse pentru asistență matrice de discuri până la 48 TB. Configurația de bază acceptă echipamente de la companii lider precum HP, EMC și IBM. Funcțiile de comprimare a informațiilor conform standardului UCS 2 vă permit să utilizați spațiul pe disc mai economic.

Îmbunătățirea eficienței dezvoltatorilor și administratorilor

Noile vrăjitori software vă permit să rezolvați rapid serverele subutilizate, să îmbunătățiți controlul și să optimizați performanța fără a fi nevoie de expertiză externă terță parte. Monitorizați performanța aplicațiilor și bazelor de date, găsiți îmbunătățiri în tablourile de bord și accelerați actualizările și instalările.

Instrumente pentru analiza afacerilor personale

Nu a existat niciodată un consens în rândul companiilor cu privire la cine ar trebui să facă analize – departamentele IT sau utilizatorii direct. Sistemul de creare a rapoartelor personale rezolvă această problemă prin instrumente moderne de construcție, analiză și modelare sigură și eficientă a proceselor de afaceri. Este acceptat accesul direct la bazele de date din Microsoft Office și SharePoint Server. Informație corporativă se poate integra cu alte tipuri de conținut, cum ar fi hărți, grafică și videoclipuri.

Mediu de colaborare convenabil

Împuterniciți-vă angajații să acceseze informații, să colaboreze și să analizeze date cu aplicația PowerPivot Excel pentru foi de calcul. Programul vă permite să analizați informații și să modelați procesele de afaceri și să publicați rapoarte pentru acces public pe Internet sau SharePoint.

Pentru crearea vizuală a rapoartelor interne, este oferit sistemul Report Builder 3.0, care acceptă multe formate și o gamă largă de șabloane predefinite.

Lucrați cu baze de date gratuit

Compania oferă proiecte mici și dezvoltatorilor începători cu un gratuit special Versiunea Microsoft SQL Server Express. Aceasta include aceleași tehnologii de baze de date ca și versiunile „complete” ale SQL Server.

Sunt acceptate mediile de dezvoltare Visual Studio și Web Developer. Crea tabele complexeși interogări, dezvolta aplicații Internet cu suport pentru baze de date, obține acces direct la informații din PHP.

Profitați de întreaga putere a Transact-SQL și de cele mai avansate tehnologii de acces la date ADO.NET și LINQ. Sunt acceptate procedurile stocate, declanșatoarele și funcțiile.

Concentrați-vă pe elementele logicii de afaceri, iar sistemul va optimiza singur structura bazei de date.

Creați rapoarte bogate de orice complexitate. Utilizați capabilitățile de căutare, integrați rapoarte cu aplicațiile Microsoft Office și adăugați informații despre locația geografică la documente.

Aplicațiile dezvoltate pot funcționa fără o conexiune la serverul bazei de date. Sincronizarea se realizează automat utilizând tehnologia proprietară de replicare tranzacțională Sync Framework.

Administrați-vă infrastructura utilizând politici de management pentru toate bazele de date și aplicații. Scenariile operaționale obișnuite reduc timpul petrecut cu optimizarea interogărilor și crearea și restaurarea backup-urilor la scară întreprindere.

SQL Server 2008 R2 Express Edition este ideal pentru desfășurare rapidă site-uri web si magazine online, programe pt uz personal, mici afaceri. Aceasta este o opțiune excelentă pentru a începe și a învăța.

Gestionați-vă bazele de date folosind SQL Server Management Studio

Microsoft SQL Server Management este un mediu specializat pentru crearea, accesarea și gestionarea bazelor de date și a tuturor elementelor SQL Server, inclusiv serviciile de raportare.

Sistemul combină într-o singură interfață toate capabilitățile programelor de administrare din versiunile anterioare, cum ar fi Query Analyzer și Enterprise Manager. Administratorii primesc software cu un set mare de obiecte de dezvoltare și management grafic, precum și un limbaj extins pentru crearea de scripturi pentru lucrul cu baza de date.

Editorul de cod Microsoft Server Management Studio merită o atenție specială. Vă permite să dezvoltați scripturi scriptate în Transact-SQL, să programați interogări multidimensionale de acces la date și să le analizați cu suport pentru salvarea rezultatelor în XML. Crearea de interogări și scripturi este posibilă fără conectarea la o rețea sau server, cu execuție și sincronizare ulterioară. Există o selecție largă de șabloane preinstalate și sistem de control al versiunilor.

Modulul Object Browser vă permite să vizualizați și să gestionați orice obiect SQL încorporat Microsoft Servers pe toate serverele și instanțele bazei de date. Acces usor La informatie necesara extrem de important pentru dezvoltarea rapidă a aplicațiilor și controlul versiunilor.

Sistemul este construit pe sistemul Visual Studio Isolated Shell, care acceptă setări extensibile și extensii terță parte. Există multe comunități pe Internet unde puteți găsi totul informatie necesarași exemple de cod pentru dezvoltarea propriilor instrumente de gestionare și procesare a datelor.

Potrivit companiei de cercetare Forrester Research, serverul de baze de date Microsoft SQL Server 2012 a fost printre primii trei lideri pe piața de stocare a informațiilor corporative la sfârșitul anului 2013. Experții notează că creșterea rapidă a cotei de piață a Microsoft se datorează o abordare integrată corporații pentru a automatiza procesele de afaceri. Microsoft SQL Server este platformă modernă pentru gestionarea și stocarea datelor de orice tip, completate cu instrumente de analiză și dezvoltare. Separat, merită remarcată ușurința integrării cu alte produse ale companiei, precum Office și SharePoint.

« „este un singur mediu universal pentru accesarea, configurarea și administrarea tuturor componentelor MS SQL Server, precum și pentru dezvoltarea componentelor sistemului, editarea textelor de interogare, crearea de scripturi etc. Datorită prezenței unui număr mare ajutoare vizuale management," Mediul SQL Server Management Studio» vă permite să efectuați multe operațiuni standard de administrare MS SQL Administratori de server cu orice nivel de cunoștințe SQL Server. Un mediu de dezvoltare ușor de utilizat, un browser web încorporat pentru accesarea rapidă a bibliotecii MSDN sau pentru a obține ajutor online, un tutorial cuprinzător pentru a vă ajuta să învățați multe funcții noi, ajutor încorporat de la comunitățile online și multe altele pentru a face dezvoltarea în SQL Server cât mai ușor posibil și oferă opțiuni bogate pentru crearea diferitelor scripturi SQL Server. Despre instalarea și rularea programului " SQL Server Management Studio” și va fi discutat în acest articol.

1. Instalarea programului SQL Server Management Studio

Programul " SQL Server Management Studio» vine cu distribuția MS SQL Server. Pentru a-l instala, trebuie să marcați componentele

  • Instrumente de management - de bază
    • Instrumente de management - Complete

pe pagina de selecție a componentelor programului de instalare MS SQL Server.

Am scris în detaliu despre instalarea componentelor MS SQL Server în articol.

2. Lansați programul SQL Server Management Studio

În mod implicit, fișierele de program " SQL Server Management Studio" sunt instalate în "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\Management Studio\". Pentru inceput" SQL Server Management Studio„ar trebui să ruleze fișierul sursă Ssms.exe, aflat în acest director.

De asemenea, în Microsoft Windows Server 2012 (R2), comanda rapidă pentru a lansa " SQL Server Management Studio» poate fi găsit în lista tuturor programelor.

Și în Microsoft Windows Server 2008 (R2) în meniul " start" (Start) - " Microsoft SQL Server 2012" - "Miercuri SQL Server Management Studio».

După lansare, programul vă va solicita să intrați Nume SQL serverul la care ar trebui să vă conectați, precum și datele de autorizare de pe acest server. Șirul de conectare la server trebuie introdus în următorul format:

  • <Adresa serverului> — numele serverului sau adresa IP pentru instanța implicită
  • <Adresa serverului>\<InstanceName> - pentru o instanță numită a SQL Server
  • <PseudonimNume> - dacă se utilizează SQL Server

În cazul autentificării Windows (Windows Authentication), sunt utilizate informațiile curente ale contului intrări Windows. Dacă trebuie să utilizați acreditările unui alt utilizator, atunci trebuie să rulați programul. Dacă utilizați autentificarea SQL Server, trebuie să introduceți numele de utilizator și parola unei persoane existente utilizator SQL Server.

După ce ați introdus numele instanței serverului și datele de autorizare, trebuie să faceți clic pe „ Conectați» (Conectare) pentru a vă conecta la serverul SQL selectat.