Microsoft Servers SQL andmebaasi haldussüsteem. Sisselogimised ja fikseeritud serverirollid. Andmebaasi piiramatu suurus

01.05.15 28.1K

Mõnikord tahaks tõesti oma mõtted järjekorda seada, korda ajada. Ja veel parem, tähestikulises ja temaatilises järjestuses, nii et lõpuks saabuks mõtlemise selgus. Kujutage nüüd ette, milline kaos juhtuks " elektroonilised ajud» iga arvuti, millel pole selget kõigi andmete ja Microsoft SQL Serveri struktureerimist:

MS SQL Server

The tarkvara on Microsoft Corporationi välja töötatud relatsioonilise andmebaasi haldussüsteem (DBMS). Andmete töötlemiseks kasutatakse spetsiaalselt välja töötatud Transact-SQL keelt. Keelekäsud andmebaasi valimiseks ja muutmiseks on üles ehitatud struktureeritud päringute põhjal:


Relatsiooniandmebaasid on üles ehitatud kõigi konstruktsioonielementide omavahelisele sidumisele, sealhulgas nende pesastumise tõttu. Relatsiooniandmebaasidel on sisseehitatud tugi kõige levinumate andmetüüpide jaoks. Tänu sellele integreerib SQL Server toe andmete programmiliseks struktureerimiseks päästikute ja salvestatud protseduuride abil.

Ülevaade MS SQL Serveri funktsioonidest


DBMS on osa pikast spetsiaalsest tarkvarast, mille Microsoft on arendajatele loonud. See tähendab, et kõik selle ahela lülid (rakendused) on üksteisega sügavalt integreeritud.

See tähendab, et nende tööriistad suhtlevad üksteisega hõlpsalt, mis lihtsustab oluliselt programmikoodi arendamise ja kirjutamise protsessi. Sellise seose näiteks on MS Visual Studio programmeerimiskeskkond. Selle installipakett sisaldab juba SQL-i Server Express Väljaanne.

Muidugi pole see ainus populaarne DBMS maailmaturul. Kuid just see on Windowsi kasutavate arvutite jaoks vastuvõetavam, kuna see keskendub sellele operatsioonisüsteemile. Ja mitte ainult selle pärast.

MS SQL Serveri eelised:

  • omab kõrget jõudlust ja veataluvust;
  • See on mitme kasutajaga DBMS ja töötab klient-server põhimõttel;

    Süsteemi kliendiosa toetab kasutajapäringute koostamist ja nende saatmist serverisse töötlemiseks.

  • Tihe integratsioon Windowsi operatsioonisüsteemiga;
  • Kaugühenduste tugi;
  • Populaarsete andmetüüpide tugi, samuti võimalus luua käivitajaid ja salvestatud protseduure;
  • Sisseehitatud tugi kasutajarollidele;
  • Täiustatud andmebaasi varundusfunktsioon;
  • Kõrge turvalisuse tase;
  • Iga number sisaldab mitut eriväljaannet.

SQL Serveri areng

Selle populaarse DBMS-i funktsioone on kõige lihtsam näha, kui arvestada kõigi selle versioonide arengulugu. Peatume üksikasjalikumalt ainult nendel väljaannetel, milles arendajad tegid olulisi ja põhimõttelisi muudatusi:

  • Microsoft SQL Server 1.0 – välja antud 1990. aastal. Isegi siis märkisid eksperdid suur kiirus andmetöötlus, demonstreeritud isegi maksimaalse koormuse korral mitme kasutaja režiimis;
  • SQL Server 6.0 – välja antud 1995. aastal. See versioon oli esimene maailmas, mis rakendas kursorite ja andmete replikatsiooni tuge;
  • SQL Server 2000 - selles versioonis sai server täielikult vastu uus mootor. Enamik muudatusi puudutas ainult rakenduse kasutaja poolt;
  • SQL Server 2005 – DBMS-i skaleeritavus on suurenenud ning haldus- ja haldusprotsess on oluliselt lihtsustatud. Rakendati uus API toetuse eest tarkvaraplatvorm.NET ;
  • Hilisemate väljaannete eesmärk oli arendada DBMS-i interaktsiooni tasemel pilvetehnoloogiad ja ärianalüütika tööriistad.

Põhisüsteemikomplekt sisaldab mitmeid utiliite SQL Serveri konfigureerimiseks. Need sisaldavad:


Konfiguratsioonihaldur. Võimaldab teil kõike hallata võrgusätted ja andmebaasiserveri teenused. Kasutatakse SQL Serveri konfigureerimiseks võrgus.
  • SQL Serveri vigade ja kasutamise aruandlus:


Utiliiti kasutatakse Microsofti toele veaaruannete saatmise konfigureerimiseks.


Kasutatakse andmebaasiserveri töö optimeerimiseks. See tähendab, et saate kohandada SQL Serveri toimimist vastavalt oma vajadustele, lubades või keelates DBMS-i teatud funktsioonid ja komponendid.

Microsoft SQL Serveris sisalduvate utiliitide komplekt võib olenevalt tarkvarapaketi versioonist ja väljaandest erineda. Näiteks 2008. aasta versioonis te ei leia SQL Serveri pinnaala konfiguratsioon.

Microsoft SQL Serveri käivitamine

Näiteks kasutatakse andmebaasiserveri 2005. aasta versiooni. Serverit saab käivitada mitmel viisil:

  • Utiliidi kaudu SQL Serveri konfiguratsioonihaldur. Valige vasakpoolses rakenduseaknas "SQL Server 2005 teenused" ja paremal - meile vajalik andmebaasiserveri eksemplar. Märgistame selle ja valime hiire parema nupu alammenüüst "Start".

  • Keskkonna kasutamine SQL Server Management Studio Express. See ei sisaldu Expressi väljaande installipaketis. Seetõttu tuleb see Microsofti ametlikult veebisaidilt eraldi alla laadida.

Andmebaasiserveri käivitamiseks käivitage rakendus. Dialoogiboksis " Ühendus serveriga"Valige väljal "Serveri nimi" vajalik eksemplar. Väljal " Autentimine"jätke väärtus" Windowsi autentimine" Ja klõpsake nuppu "Ühenda":

SQL Serveri halduse põhitõed

Enne MS SQL Serveri käivitamist peate end lühidalt kurssi viima selle seadistamise ja haldamise põhivõimalustega. Alustame üksikasjalikuma ülevaatega mitmest DBMS-is sisalduvast utiliitist:

  • SQL Serveri pinnaala konfiguratsioon– see on koht, kuhu peaksite minema, kui teil on vaja lubada või keelata mõni andmebaasiserveri funktsioon. Akna allosas on kaks üksust: esimene vastutab võrguparameetrite eest ja teises saate aktiveerida teenuse või funktsiooni, mis on vaikimisi keelatud. Näiteks lubage integreerimine .NET-platvormiga T-SQL päringute kaudu:

SQL Server 2005 väljalaskmisega saavad arendajad ja andmebaasiadministraatorid (DBA-d) terve hulga uusi haldustööriistu. SQL Server 2005 ei erine mitte ainult selle lisatavate uute teenuste poolest; Selle toote arendamisel oli ka DBA jaoks uute haldustööriistade loomine üks olulisemaid ülesandeid. SQL Server 2000 Enterprise Manager ja Query Analyzer on asendatud uue tarkvaratööriistaga – SQL Server Management Studio. Mainimist väärivad ka kaks uut tööriista: SQL Server Configuration Manager ja Surface Area Configuration Tool. Enne ülevaatamise alustamist SQL-i võimalused Server Management Studio, vaatame kõiki neid tööriistu.

Konfiguratsioonihaldustööriistad

Iga kord, kui installime SQL Server 2005, kasutame kolme väikest uut tööriista. Turvalisuse parandamiseks on SQL Server 2005 enamik väliskommunikatsiooni teenuseid ja funktsioone vaikimisi keelatud, nii et kui teile vaikesätted ei meeldi, ei saa te ilma nende tööriistadeta hakkama. Neist esimest kasutades saate hallata SQL Serveri teenuseid; ülejäänud kaks on mõeldud komplekti moodustamiseks, mida kasutatakse nende liideste haldamiseks, mille kaudu see on võimalik volitamata juurdepääs SQL serverisse. Seda liideste komplekti nimetatakse SQL Serveri rünnakupinnaks.

SQL Serveri konfiguratsioonihaldur. See tööriist aitab teil hallata erinevaid SQL Server 2005 teenusekontosid serveris ja teenuseid endid. Saate käivitada ja installida SQL Server 2005 teenuseid otse SQL Server Management Studiost, täpselt nagu varem Enterprise Manageriga, nii et te ei pea SQL Serveri konfiguratsioonihaldurit uuesti õppima. Seda programmi saab kutsuda Windowsi menüü Start või haldustööriistade menüü kaudu arvutihalduse kaudu. Ja SQL Server Management Studio käivitamiseks, mida vaatleme järgmises jaotises, saate kasutada dialoogiboksi Management Studio registreeritud serverid.

SQL Serveri konfiguratsioonihaldurit kasutatakse SQL Serveri teenuste haldamiseks, võrguteegid ja SQL Native Client (vt ekraan 1). Siin saate määrata ja muuta teenusekontode sätteid ning teenuseid lubada või keelata. See tööriist kattub osaliselt kahe teise tööriista funktsioonidega, mis neid teenuseid haldavad ja muid funktsioone võimalike ohtude vastase kaitse haldamise seisukohast.

Seadete tööriistad. SQL Server 2005 tutvustab palju uusi teenuseid. Nüüd saate lisaks tavateenustele, nagu SQL Server, SQL Agent ja Analysis Server, hallata ka SQL Serveri integratsiooniteenuste (endine Data Transformation Services, DTS), aruandlusteenuste, täistekstiotsingu ja SQL-brauseri sätteid.

Kui installite SQL Server 2005, on need teenused potentsiaalsed rünnakute sihtmärgid. Ründepinna minimeerimiseks meetmete võtmiseks pakub Microsoft kahte uut konfiguratsioonitööriista, millest üks on teenuste haldamiseks ja teine ​​ühenduse sätete konfigureerimiseks. Nende programmide lingid on SQL Server 2005 installiprotsessi viimases etapis ja need on saadaval ka menüü Start kaudu. Neid tööriistu kasutades saate jälgida neid teenuseid ja funktsioone, mis kujutavad endast potentsiaalset haavatavust SQL Serveri rünnakute suhtes, ning kõiki neid teenuseid saab lubada või keelata otse nendest programmidest.

Utiliidi Surface Area Configuration for Services and Connections abil saate käivitada ja keelata erinevaid teenuseid (vt ekraan 2). Siin saate hallata ka SQL-brauseri teenuse olekut, mis töötab UDP-pordil 1434 ja teisendab ühendused nimelisteks objektideks.

Programm Surface Area Configuration for Features, näidatud joonisel ekraan 3, võimaldab teil hallata ühendusi, sealhulgas ad hoc kaugpäringuid, CLR-i sätteid, andmebaasiposti (SMTP) salvestatud protseduure, kaughalduspõhiseid administraatoriühendusi, veebiteenuste lõpp-punkte (SOAP), laiendatud salvestatud protseduuride OLE automatiseerimist, lõpp-punkte Service Broker, salvestatud SQL protseduurid Mail (MAPI), xp_cmdshell ja veebiabi. Kõik need funktsioonid on vaikimisi keelatud ja neid tuleks vajaduse korral valikuliselt lubada. Süsteemi salvestatud protseduuri sp_configure saab kasutada paljude nende funktsioonide lubamiseks ja seda saab kasutada ka kõige olulisemate T-SQL-i käskude lubamiseks lõpp-punktides.

Juhtimisstuudio

SQL Server 2005 tutvustab uut konsolideeritud haldustööriista SQL Server Management Studio. See on terviklik tööriist, mis ühendab DBA-de ja arendajate jaoks olulised funktsioonid. Management Studio on kõikehõlmav tarkvaratööriist, mis sisaldab nii palju funktsioone, et nende üksikasjalikuks kirjeldamiseks ühest artiklist ilmselgelt ei piisa. Mis puutub selle toote kõige olulisematesse uuendustesse ja muudatustesse, siis neid saab kirjeldada kolme fraasiga: serverihaldus, päringu redigeerimine ja jõudluse analüüs.

Management Studio on tohutu tööriistakast: Microsoft on hoolikalt valinud Enterprise Manageri parimad haldusfunktsioonid ning Query Analyzeri parimad päringute analüüsi ja redigeerimise funktsioonid ning ühendanud need seejärel uueks tarkvaratööriistaks. Vaatame neid uusi funktsioone lühidalt hiljem artiklis.

Kui käivitate Management Studio esimest korda, märkate sarnasusi Visual Studioga. Kuid kuigi Management Studio põhineb Visual Studio kestil ja sellel on sellega mõningaid pealiskaudseid sarnasusi, on see eksitav: Management Studio on täiesti uus tarkvaratööriist, mis on välja töötatud hallatud koodi abil.

Kohe on näha, et tegemist on kahte tüüpi dialoogidega: Management Studio akna keskmist, liikumatut osa nimetatakse dokumendiakna alaks ja äärte ümber paigutatud objekte nimetatakse komponentideks. Esialgu kuvatakse vaikedokumendi aknas leht Kokkuvõte, mis sisaldab registreeritud SQL-serverite kohta teavitusteavet. Management Studio esmakordsel käivitamisel kuvatakse vasakul küljel Registreeritud serverite ja Object Exploreri komponentide dialoogiaknad ning paremal olev dokumendiaken sisaldab kokkuvõtte lehte (vt. ekraan 4). Siin kuvatakse komponentide vaikekomplekt, kuid saate seda muuta, lisades soovitud komponendid valitud asukohtadesse. Lehel Kokkuvõte saab loetleda Object Exploreri sõlme komponendid või luua valitud sõlme kohta aruande. Pärast mõnda aega komponentidega töötamist saate tuttavaks kolmandat tüüpi dialoogiboksiga, mida nimetatakse režiimideta dialoogiboksideks, mis ei ole Management Studio põhiaknaga seotud.

Nagu Visual Studios, on kõik komponendi aknad dokitavad ja peidetavad. Kasutades iga akna nupuribal olevat nööpnõela ikooni, saate lubada automaatse peitmise funktsiooni, millele pääseb juurde ka akna ülaosas paremklõpsuga. Akende automaatne peitmine on kasulik, kui vajate täiendavat ekraaniruumi objektibrauseri laiendamiseks, autoripäringute tegemiseks jne. Nende akende välimust saate muuta, klõpsates nupul Akna asukoht (nupp väikese kolmnurkse noolega, mis osutab allapoole). mis asub iga komponendi akna paremas ülanurgas).

Paljudele teistele komponentide akendele pääseb juurde menüü Vaade kaudu. Administreerimise jaoks on kõige asjakohasemad vaikimisi aktiivsed Registreeritud serverid ja Objekt Exploreri aknad. Mis puutub Solution Exploreri, Template Exploreri ja Atribuutide komponentide akendesse, siis need on kasulikumad päringute redigeerimiseks ja analüüsimiseks. Management Studio jätab meelde teie viimase akna kuvamise ja konfiguratsiooniseaded, nii et need kõik säilivad ka järgmisel programmi käivitamisel. Kui teil on vaja akna seaded vaikeolekusse lähtestada, valige menüüst Aken käsk Lähtesta aken.

Management Studio pakub tuge paljude elementide skriptide haldamiseks ja redigeerimiseks: SQL Serveri andmebaasi eksemplarid, analüüsiteenused, aruandeteenused, integratsiooniteenused ja SQL Server Mobile. Kõiki seda tüüpi teenuseid saab registreerida Management Studio kaudu registriserverite abil ja seejärel hallata Object Exploreri abil. Siin saate redigeerida T-SQL-i skripte, analüüsiteenuste skripte ja SQL Server Mobile'i skripte ning ühendada need projektideks, kasutades lahendusuurija akent, nagu on näidatud päringute redigeerimise jaotises.

Administreerimine

Andmebaasiadministraatoritele Management Studio kasutuselevõtuga pakutavate uute võimaluste täielikuks hindamiseks võrdleme esmalt Management Studiot Enterprise Manageriga, mis on SQL Server 2000 standardne haldustööriist. Enterprise Manager on SQL Server 2000 sisse ehitatud programm. graafiline utiliit, mis on loodud andmebaasiserveri haldusülesannete täitmiseks. Sellel utiliidil on mitmeid puudusi, eelkõige saab seda kasutada ainult SQL Serveri ja SQL Agenti teenuse relatsioonimootori haldamiseks, kuid mitte teenuse Analysis Services haldamiseks. Lisaks ei saa Enterprise Manager tõhusalt kuvada suurt hulka servereid, andmebaase või andmebaasiobjekte. Teine probleem seisneb selles, et paljud ülesanded kasutavad siin modaalseid dialooge, nii et pärast millegi (nt varukoopia) käivitamist peate sageli serveri jälgimise jätkamiseks käivitama teise Enterprise Manageri koopia. Lõpuks on Enterprise Manager Microsofti halduskonsooli (MMC) lisandmoodul, mis tähendab, et see pole liiga stabiilne töö see rakendus ja seal on väga ebameeldivaid tõrkeid ning mõnikord lakkab see lihtsalt reageerimast.

Kõik nimetatud piirangud eemaldatakse Management Studios. Siit saate hallata mitte ainult relatsioonimootori eksemplare, vaid ka analüüsiteenuseid. Management Studio kasutab pakkumiseks uut SQL-i haldusobjektide (SMO) API-t tõhus juhtimine suur hulk andmebaasiobjekte. Lõpuks kasutatakse võimalusel stabiilselt hallatud koodi abil loodud mudeliteta dialooge.

Registreeritud serverid. Erinevalt Enterprise Managerist on Management Studios serverite registreerimise ja korraldamise aken serveriobjektide vaatamise aknast eraldi. Teavet registreeritud serverite või serverirühmade kohta saab eksportida XML-konfiguratsioonifaili ja seejärel importida samasse või teise serverisse, tehes vastaval registreeritud serveril või serverirühmal lihtsalt paremklõpsu ja valides Ekspordi.

Lisaks eraldab SQL Server 2005 SQL Serveri teenusehaldusfunktsioonid serverihaldusfunktsioonidest. Näiteks ei saa registreeritud serveritest teenuseid käivitada ega peatada – SQL Serveri konfiguratsioonihalduri komponent on selleks loodud. Management Studio eraldab ka serveri registreerimise, serveriga ühenduse loomise ja serveriobjektide vaatamise protseduurid. Loomulikult luuakse serveri registreerimisel testimise eesmärgil läbi Registreeritud serverite akna lühiajaline ühendus serveriga, kuid seda ühendust ei säilitata püsivalt. Kui aga paremklõpsate registreeritud serveril ja seejärel valite Object Explorer või Uus päring, kasutab SQL Server koos registreeritud serveri teabega salvestatud ühenduseteavet selle serveriga tulevaste ühenduste loomiseks.

Objektiuurija. See on peamine tööriist serveriobjektide korraldamiseks. Object Explorer pakub mitte ainult haldusfunktsioone, vaid ka päringute redigeerimise võimalusi. Kui vaatate sügavamale SQL Server 2005 andmebaasiprotsessorisse, näete näiteks, et tulemuseks olev parameetripuu sarnaneb Enterprise Manageriga. Saate siiski registreerida ja hallata analüüsiteenuste eksemplare, mis polnud klassikalises Enterprise Manageris võimalik.

Iga Object Exploreri puus kuvatava sõlme jaoks saab avada erinevad haldusdialoogid. Näiteks kui paremklõpsate andmebaasiserveri nimel, kuvatakse mitme vahekaardiga režiimita dialoogiboks Serveri atribuudid, mis võimaldab teil vaadata ja muuta selle serveri haldussätete konfiguratsiooni.

Kui laiendate Object Exploreri sõlme SQL Serveri andmebaasimootori tasemel, pange tähele, et SQL Agentil on oma sõlm ja kõik T-SQL-koodiobjektid kuuluvad programmeeritavuse sõlme kategooriasse, mis sisaldab koostesõlme. Kui laiendate puud analüüsiserveri tasemel, näete siin ka uut sõlme, mis on mõeldud salvestatud protseduuride majutamiseks, mis on samuti koostud.

Object Exploreri dialoogiboksid põhinevad SMO-l, mis asendab SQL-DMO-d SQL Server 2000-s ja on täiustatud objektimudel, mis on paindlikum. SMO töötab asünkroonses režiimis, mis võimaldab avada serverisõlme ja töötada paljude objektide või meetoditega ilma teisi funktsioone mõjutamata. Oletame, et avame sadu või isegi tuhandeid tabeleid sisaldava andmebaasi ja selle avanemise ajal saame avada teise sõlme ja teha muud tööd. Samuti väärib märkimist, et SMO sisaldab kõiki skriptidega töötamiseks vajalikke mehhanisme, mis võimaldab skriptide abil automatiseerida peaaegu kõiki Object Exploreris tehtud toiminguid.

Administratiivsete ülesannete täitmine

Object Exploreris eraldatakse süsteemiobjektid kasutajakategooria objektidest. Näiteks süsteemiandmebaasid (master, mudel, msdb ja tempdb) klassifitseeritakse süsteemi andmebaasideks, samas kui uued õpetuste andmebaasid AdventureWorks ja AdventureWorksDW on kasutajate andmebaasid. Üks asi, mida siinkohal meeles pidada, on see, et koolitusandmebaase vaikimisi ei installita, nii et kui te ei valinud toote installimisel sobivat valikut, ei ole teil installimise lõpus saadaval ühtegi kasutajaandmebaasi.

Nagu serveri atribuutide seadistamise puhul, saate andmebaasi parameetreid konfigureerida, avades andmebaasi atribuutide akna. Management Studio toetab ka tabelite ja vaadete kujundamise tööriistu (tuntud SQL Server 2000-s visuaalsete andmete tööriistadena), sealhulgas andmebaasiskeemide tööriista. Nendel dialoogiboksidel, mis on loodud töötama andmebaasiobjektidega, on nüüd sisseehitatud skriptimismehhanism, nii et kõiki siin tehtavaid toiminguid saab skriptide abil automatiseerida (vt. ekraan 5).

Management Studio Object Exploreri komponent sisaldab turbesätete haldamiseks mõeldud sõlme. Samuti saate hallata SQL Server 2000 DTS-i pärandpakette, teavitusteenuseid, andmebaasitaseme päästikuid, andmebaasiposti ja serveritaseme DDL-päästikuid.

Nagu arvata võis, on Management Studiol sisseehitatud SQL Server Agenti haldus, kuid see lisab ka uue sõlme SQL Serveri agendi puhverserveri haldamiseks. SQL Server Agent Proxy kaudu saab iga üksiku tööetapi jaoks määrata sobiva turbekonteksti, see saavutatakse kasutajale turbepuhverserveri pakkumisega Windowsi komponent SQL Agent. T-SQL-i tööd ei kasuta tavaliselt astmetasemel puhverservereid, kuid neid saab siiski kasutada tööde sisestamiseks, et määrata puhverserverid Active X-juhtelementidele, xp_cmdshelli operatsioonidele, replikatsioonidele, analüüsiteenustele, SQL Serverile ja SQL Serveri integratsiooniteenustele.

Päringute redigeerimine

Lisaks suurele hulgale uutele haldusfunktsioonidele on Management Studiol nüüd täisfunktsionaalne päringukeskkond, mis ületab oluliselt SQL Server 2000 Query Analyzeri funktsionaalsust.

SQL Server 2000 Query Analyzer sobib kõige paremini T-SQL koodi ja skriptide redigeerimiseks. Kuigi Query Analyzeril on suurepärane T-SQL-i redaktor, on sellel mitmeid piiranguid. Eelkõige ei saa seda kasutada muud tüüpi SQL Serveri skriptide (nt MDX-päringute) redigeerimiseks. Kui muudate päringut või skripti rakenduses Query Analyzer, peab redigeerimisaken olema ühendatud SQL Serveriga ja te ei saa selle redigeerimisseansi ajal teise serveriga ühendust luua. Mis puudutab täitmisplaani graafikut, siis päringuanalüsaatori võimalused on päringu edenemise analüüsimiseks suurepärased graafiline esitus väljundandmed ei ole teisaldatavad. Lisaks, kuigi Query Analyzer saab redigeerida T-SQL-i skripte, mis asuvad failidena kettal, ei paku SQL Server 2000 otsest liidest versioonihaldusprogrammidele. Ja viimane asi. Kuigi päringuanalüsaatori objektibrauseri tööriist suudab otsida andmebaasist T-SQL-koodiobjekte, ei saa seda kasutada ühegi andmebaasihaldustoimingu jaoks.

Mis puudutab Query Analyzeri redigeerimisvõimalusi, siis peaaegu kõik need on Management Studios säilinud, kuid uues tootes on kõik ülalkirjeldatud piirangud kõrvaldatud. Management Studio abil saate redigeerida igat tüüpi SQL Serveri skripte, mitte ainult T-SQL-is kirjutatud, vaid ka XML-skripte. Päringute redigeerimisel pole serveriga püsiühendust vaja, nüüd saab seda teha sisse võrguühenduseta režiimis või seansi ajal lülituda teisele serverile, kus päring tuleb täita. Management Studios saadud väljundi täitmisplaani graafilise kuva saab üle kanda teisele Management Studio seansile, nii et saate saadud tulemustega töötada ilma lähteserveriga ühendust loomata. Management Studio'i Object Exploreri komponent sisaldab kõiki Query Analyzeri Object Exploreri funktsioone, kuid pakub ka täielikku tuge haldusfunktsioonidele.

Töötage võrguühenduseta. Management Studios uue päringu käivitamiseks on mitu võimalust. Kui valite menüüst Fail suvandi Uus, saate luua kolme tüüpi päringuid: T-SQL-päringu, Analysis Services MDX-, DMS- või XMLA-päringu või SQL Server Mobile'i päringu. Lisaks saab loodud päringuid käivitada Object Explorerist või Solution Explorerist, millest räägime järgmisena.

Management Studio päringu redigeerimisprotsess on ühendusest sõltumatu. Päringuid saab käivitada serveriga ühenduse loomise ajal, ilma et oleksite seda eelnevalt omanud ja seadistanud õige hetk või lülituge sama päringu täitmiseks teisele serverile. See annab teile kõige loomulikuma võimaluse kasutada SQL Server 2000 tava skriptide ja tekstifailide päringute redigeerimiseks. Redigeerimisrežiimi lülitumisel kuvatakse mitu täiendavat päringu redigeerimise ikooni, mis on mõeldud eelkõige ühenduste loomiseks, katkestamiseks ja muutmiseks. Management Studios päringuid redigeerides saate kasutada objektibrauseri akna automaatse peitmise funktsiooni, mis vabastab redigeerimiseks täiendava ekraaniruumi.

Lahendused ja projektid. Management Studiol on täiustatud redigeerimisvõimalused, see võimaldab kombineerida loodud skripte ja tekstifaile rakendusteks (lahendus) ja projektideks (projekt). Projekt on nimega skriptide ja tekstifailide kogum, mis tavaliselt paigutatakse standardsesse Windowsi kataloogi, millel on sama nimi kui projektil endal. Taotlus on ühest või mitmest projektist koosnev kogum ja kõik antud taotluses sisalduvad projektid võivad olla paigutatud rakenduse nimele vastava nimega kataloogi, kuid võib olla ka taotlusi, mis sisaldavad ainult ühte projekti ja vastavalt millel on üks valikuvõimalus. Uue projekti loomiseks Management Studios valige menüü Fail ja seejärel Uus projekt, mis avab dialoogiboksi Uus projekt.

Management Studios antakse rakendusele vaikimisi projektiga sama nimi ning rakendus ja projekt asuvad kataloogis Minu dokumendid. Juhtudel, kui on vaja ühendada suur hulk stsenaariume üheks suurprojekt, mida on soovitav jagada mitmeks alamprojektiks, saab mitu projekti sisuka nimega ühte rakendusse koondada ja sellele vajaliku paigutuse määrata. Sel juhul luuakse see kõigepealt uus projekt ja seejärel määrab rakenduse, millesse see tuleks lisada. Lahenduse vaikenime saab muuta. Kui projekt ja sellega seotud lahendus on loodud, saate rakenduses ja selle projektides navigeerida, kasutades Solution Explorerit, nagu näidatud ekraan 6 .

Oletame, et soovite muuta mitmeid AdventureWorks HumanResourcesi skeemiga seotud objekte. Sel juhul muudavad mõned skriptid tabeleid, mõned vaateid ja mõned neist salvestatud protseduuride koodi. Igat tüüpi skripte saab kombineerida vastavateks projektideks ja projektid seejärel rakenduseks. Üks viis selle lähenemisviisi rakendamiseks on näidatud joonisel 6: Siin sisaldab rakendus nimega soln_HR mitut projekti, millest igaüks vastab konkreetset tüüpi personalidiagrammis tehtavale muudatusele.

Rakenduste ja projektide funktsioone kasutades saate luua skriptide komplekte SQL Serveri analüüsiteenuste või SQL Mobile'i jaoks, rühmitades need oma projektidesse. Projektidena määratletud komplektid paigutatakse kettale sobivatesse kataloogidesse ja kuvatakse Solution Exploreris eraldi sõlmedena. Igale projektile saab määrata nime ja kettale paigutatava kausta. Vaikimisi asub projekti kataloog rakenduste kataloogis ja kõik failid sellest projektist salvestatakse sellesse kataloogi.

Võimalus korraldada faile projektidesse ja rakendustesse on vaid üks eelistest uus tehnoloogia SQL Serveris skriptidega töötamine. Lisaks on Management Studiol tihe seos lähtekoodi ülevaatusprogrammidega, kui lähtekoodi juhtimissüsteem on pistikmoodul. Visual SourceSafe'il (VSS) on VSS-projektide ja Management Studio projektide vahel üks-ühele vastendamine, nii et pärast projekti ja rakenduse loomist Management Studios saab kogu rakenduse VSS-i laadida, et seda kinnitada, ja seejärel valideerida üksiku projekti või faili tasemel. Koodijuhtimise üleslaadimise funktsioonile juurdepääsemiseks paremklõpsake Solution Exploreri mis tahes sõlme. Koodi ülevaatuse suvandeid saate konfigureerida dialoogiboksis Suvandid, mis avatakse Management Studio menüüst Tööriistad. Samas aknas (Tööriistad, Valikud) saate lubada ka mõningaid muid redigeerimisfunktsioone, näiteks ridade nummerdamist ja dünaamilist abi.

Interaktiivne töö andmebaasi skriptidega. T-SQL-objektide andmebaasis redigeerimiseks saate kasutada Object Explorerit. Kui olete programmeeritavas andmebaasiobjektis (nt salvestatud protseduur, funktsioon või päästik), saate helistada T-SQL päringuredaktorile, valides käsu Uus või Muuda. Kui on valitud Uus, siis kasutatakse malli, mille parameetreid saab vaadata ja muuta komponendi Template Explorer abil. Valides suvandi Muuda, genereeritakse valitud objektile vastav skript ALTER. Funktsioonid Uus ja Muuda asendavad SQL Server 2005 Management Studio varajastes beetaversioonides olemas olnud abiredaktori funktsioonid.

Täitmisplaani täiustused. Management Studiol on kaks olulist laiendust, mis on seotud plaani vaatamise võimalustega. Siin, nagu päringuanalüsaatoris, saate vaadata graafiline versioon teostusplaanis on aga muutunud nii ikoonid ise kui ka värvilahendus. Lisaks näitavad enamik ikoone nüüd SQL Serveri toimingu üksikasju praegu. Kui klõpsate täitmisplaani päringu akna paremas alanurgas ikooni "+", saate minna päringu suuremale vaatele. Ja kui valite mõne täitmisplaani taotluse sõlme, kuvatakse dialoogiboksis Atribuudid selle toimingu kohta lisateavet.

Ma arvan, et see meeldib paljudele uus võimalus, mis on kasutusele võetud Management Studios, mis võimaldab teil muuta täitmisplaani graafiline esitus kaasaskantavaks. Võite alustada otseväljundiga XML-i, kasutades käsku SET SHOWPLAN_XML ON. Kui päringu tulemused edastatakse konteinerisse, sisaldab tulemuseks olev andmekogum linki XML-dokumendile, mis sisaldab täitmisplaani teavet. Kui klõpsate sellel lingil, saate XML Management Studio redaktoris vaadata täitmisplaani sisu.

Graafilise vaatamise eesmärgil saab XML-andmeid eksportida kaasaskantavasse vormingusse. Saadud andmekogumis peate paremklõpsama XML-lingil ja salvestama andmed failina laiendiga .sqlplan, nagu näidatud ekraan 7. Kui avate salvestatud faili menüü Fail üksuse Ava kaudu, kuvab Management Studio XML-dokumendi täitmisplaani graafilise esitusena, nagu näidatud ekraan 8.

Pange tähele, et dialoogiboksis Atribuudid kuvatakse ikkagi teave täitmisplaanist. Selle võimaluse olemasolu võimaldab teil saata oma täitmisplaani e-kirjaga kolleegile või tugiisikule, kes saab seda vaadata, ilma et peaksite konkreetse andmebaasiga ühendust looma.

Paneme kõik kokku

SQL Server 2005-s saadaolevad tööriistad laiendavad oluliselt nii halduse kui ka arenduse võimalusi. Näiteks SQL Server Management Studio liides on kohandatav, nii et saate igal juhul ise otsustada, millised funktsioonid on kõige vajalikumad, ja vastavalt sellele peita need funktsioonid, mida teie töös ei kasutata. Muidugi võib uute töövahendite omandamise käigus tekkida probleeme, mis on treeningu ajal vältimatud, kuid nagu luuletaja ütles, "teie kurb töö ei lähe raisku."

Kahlan Delaney- SQL Serveri sõltumatu konsultant ja juhendaja. Omab MCT ja MCSE sertifikaate. Raamatu Inside SQL Server 2000 (Microsoft Press) autor. [e-postiga kaitstud]

Ron Talmadge- Seattle'is asuva andmebaasikonsultatsioonifirma Prospice LLC omanik ja tegevjuht. Vaikse ookeani loodeosa SQL Serveri kasutajate rühma juht, omab SQL Serveris MCSD ja MCP sertifikaate, juhib PASSnewsi uudiskirja ja on SQL Serveri MVP. Kirjutas Microsoft SQL Server 7.0 administraatori juhendi (Prima Publishing).

Rick Dobson, Ph.D. Valiktõlge S. A. Ledenev

Selles artiklis selgitatakse, kuidas hallata SQL-serveri turvet, kasutades programmi Visual Basic for Applications (VBA) Accessi SQL-i hajutatud haldusobjektide (SQL-DMO) teegiga.

Sissejuhatus

See artikkel on peamiselt suunatud ADP projektide arendajatele. SQL-serveri turvalisuse osas võite olla tuttav kahe asjaga. Esiteks pole turvalisus selline valik nagu Jetis. Teiseks erineb SQL Serveri turbemudel Accessi turbemudelist. Isegi kui teil on SQL Serveri turvalisusest ligikaudne arusaam, õpetab see artikkel teile, kuidas seda oma projekti ressursside kaitsmiseks konfigureerida.

See artikkel võib olla kasulik ka SQL-serveri administraatoritele. Siin pakutavad lahendused aitavad neil Accessi abil serveri turvalisust hallata. See artikkel aitab administraatoritel õppida, kuidas hallata serveri turvalisust ilma Enterprise Manageri graafilisi tööriistu kasutamata või päringuanalüsaatorist Transact SQL (T-SQL) skripte käivitamata. Õppides Accessi abil serveri turvalisust haldama, on administraatoritel võimalus luua kiirem lahendus.

Artikli võib laias laastus jagada kaheks SQL Server 7.0 ja SQL Server 2000 turvalisuse kohta. Esiteks käsitletakse SQL Serveri turvalisuse kontseptsiooni, keskendudes sellele, kuidas turvalisust Accessi abil hallata. See teave on piisav mitme kasutajaga rakenduste arendamiseks erinevate kasutajarühmadega, kellel on selgelt määratletud õigused kasutada serveriobjekte. Artikli teine ​​osa näitab tarkvaralahendused, mis põhineb SQL-DMO objektide (SQL Distributed Management Objects) haldamisel, kasutades Microsoft Visual Basic® for Applications (VBA). Kuna SQL-DMO-l on hierarhiline objektide ehitusmudel, mis on väga sarnane objektide ehitamise mudeliga Microsoft Office, siis on vaja rohkem teada saada SQL-DMO objektide, atribuutide, meetodite ja turvalisusega seotud sündmuste kohta. Lisaks ei saa Access 2002 programmeerijad hakkama ilma VBA-s tuprogrammeerimiseta, kuna need pole andmebaasiturbe menüüst saadaval.

SQL Serveri turvakontseptsioon

See osa koosneb 4 põhiosast. Sissejuhatus algab autentimise kirjeldusega – protsess, mille käigus kontrollitakse kasutaja õigust serveri andmebaasile juurdepääsuks. Enterprise Manageri kasutades pakub SQL Server kahte tüüpi autentimist. Jao esimene osa näitab nende erinevusi ja sarnasusi.

Järgmisena räägime volitatud kasutaja kontseptsioonist, kes loob ühenduse serveriga. Volitatud kasutajaid nimetatakse sisselogimisteks. Kahele SQL-serveri autentimismudelile vastavad kahte tüüpi sisselogimised. Sisselogimised vastutavad juurdepääsuõiguste eest serverile.

Kolmas osa tutvustab kasutajate mõistet. SQL Server jätab endale mõiste kasutajad kui mõiste, mis iseloomustab andmebaasi kasutajaid. Tavaliselt on serveris mitu sisselogimist, iga sisselogimine on seotud mitme kasutajaga – üks iga andmebaasi jaoks, millele kasutajal on juurdepääs. Sisselogimised ja kasutajad võivad kuuluda fikseeritud rollidesse, mis kirjeldavad õiguste komplekti. Saate juhtida sisselogimiste ja kasutajate käitumist, hallates nende liikmesust vastavalt fikseeritud serverirollides ja fikseeritud andmebaasirollides.

4. osas räägitakse kasutaja määratud andmebaasirollidest.

Autentimine

Autentimist kirjeldatakse kui kasutaja autoriseerimise protsessi SQL-serveri eksemplaris ja mõnes kasutajaga seotud andmebaasis. Autoriseerimine on seotud sisselogimisega, mis kirjeldab kasutaja õigusi serveris. Autoriseerimine toimib nagu lossi võti. Kui võti lukule sobib, pääseb inimene selle abil ligi kõigele ruumis, mille uks selle lukuga lukustati. SQL-serveril on tavaliselt mitu lukku, millel on erinevad võtmed. Iga võti annab juurdepääsu erinevatele serveris asuvatele andmebaasidele.

SQL Server toetab kahte tüüpi autentimist: SQL Server ja Microsoft Windows® (või Windows NT® koos SQL Server 7.0-ga). Need kaks tüüpi määravad kindlaks, kes teostab sisselogimise kontrolli: SQL-server või Windows. Windowsi autentimise korral on kasutajatel SQL-serverile juurdepääsuks usaldusväärsed kontod. Neid kontosid kinnitab Windows, kuid SQL-server "teab" konto nime. Windowsi autentimine võimaldab kasutajatel Windowsi ja SQL-serverisse sisse logida, sisestades ainult ühe parooli. SQL Serveri autentimise korral teostab SQL-server ise autoriseerimise. Igat tüüpi autentimise korral peab SQL-server teadma volitatud sisselogimisi.

Nii esimesel kui ka teisel tüübil on plusse ja miinuseid, kuid eelistatav on Windowsi autentimine. Windowsil on keerulisem autoriseerimisprotseduur ja see vabastab SQL-serveri administraatori kontode haldamisest. Teisest küljest ei toeta kõik SQL-serverit toetavad operatsioonisüsteemid Windowsi autentimist. Näiteks Microsoft Office 2000-ga installitud Microsoft Data Engine (MSDE) ja Office XP-ga installitud Microsoft SQL Server 2000 Desktop Engine (MSDE 2000): mõlemad võivad töötada Windows 98-s, mis ei toeta Windowsi autentimist. Või SQL Server 7.0 ja MSDE, mis töötavad opsüsteemis Windows 95. Mõned organisatsioonid võivad eelistada võimalust juhtida juurdepääsu andmebaasiressurssidele DBA tasemel, mitte globaalsemal Windowsi administraatori tasemel.

Igal SQL Serveri eksemplaril võib olla üks kahest autentimistüübist, mida saab Enterprise Manageris määrata (kolmandat tüüpi käsitlen käesolevas artiklis hiljem). SQL Serveri dokumentatsioon määratleb mõiste segarežiimis ühendus SQL Serveriga, mis toetab nii Windowsi kui ka SQL Serveri autentimist. Kui server toetab ainult Windowsi autentimist, on serveril Windowsi (või Windows NT) autentimise tüüp. Vaikimisi installitakse MSDE kombineeritud autentimistüübiga. MSDE 2000 aga installib vaikimisi Windowsi autentimisega. Enterprise Manageri kasutavad arendajad ja administraatorid saavad autentimise tüüpi muuta graafiliste tööriistade abil. Samuti saab iga rakendus kasutada SQL-DMO teeki serveri autentimise tüübi muutmiseks.

Sisselogimised ja fikseeritud serverirollid

ADP projekt sisaldab andmebaasi akent, mis sarnaneb traditsiooniliste Jeti lahendustega. Erinevalt Jeti andmebaasist loob ADP projekt serveriga ühenduse OLE DB ühenduse kaudu. ADP-projektis on sisselogimise tüüp määratud dialoogiboksis Andmelingi atribuudid. Selle dialoogi avamiseks: valige andmebaasi aknast menüü Fail, valige menüüst Ühendus.

Dialoogiboksis Ühendussuvandid saate valida andmebaasiserveri, sisselogimise ja andmebaasi, millega projekt ühendub OLE DB kaudu. Serveriga ühenduse loomiseks on kaks võimalust. Esimene valik valib Windows NT integreeritud turbe kasutamise. Seda nimetatakse Windowsi autentimiseks. Selle valiku valimisel ei pea te sisestama sisselogimist ja parooli. Seda seetõttu, et Windows volitab kasutajat Windowsi käivitumisel. Kui on valitud siseturvalisuse kasutamise võimalus, saadab ADP-projekt Windowsi sisselogimise SQL-serverisse, kui üritab sellega OLE DB ühendust luua. Valides teise võimaluse (kasutage kindlat kasutajanime ja parooli), peate määrama SQL-serveri sisselogimise. Kasutajanime väljale tuleb sisestada standardne SQL-serveri sisselogimisnimi – sisselogimine, mida see SQL-server toetab. Parool on valikuline, kuid parooli kasutamine on tungivalt soovitatav, kuna koos sisselogimisega annab parool täiendava turvataseme.

Kuigi ADP projektis OLE DB ühenduse loomisel on võtmetähtsusega sisselogimise sisestamine, ei piisa sisselogimisest iseenesest õiguste andmiseks serveris või andmebaasis mis tahes toimingute tegemiseks. Fikseeritud serverirollides on sisselogimise liikmelisuse kontseptsioon, mis võimaldab ADP-projektil mõningaid täita serveri funktsioonid, näiteks uute andmebaaside loomine ja sisselogimiste haldamine. Olenevalt SQL-serveri versioonist, millega ADP-projekt ühenduse loob, on seitse või kaheksa fikseeritud serverirolli. SQL Server 7.0 ja MSDE pakuvad seitset fikseeritud serverirolli, samas kui SQL Server 2000 ja MSDE 2000 pakuvad kaheksat. SQL Server Books Online (BOL) sisaldab põhjalikku dokumentatsiooni fikseeritud serverirollide kohta, sealhulgas T-SQL-i avaldisi rollide liikmelisusest sisselogimiste määramiseks ja eemaldamiseks. Näiteks BOL-i jaotises Rollid räägitakse fikseeritud serveriväljadest ja vastavatest õigustest andmebaasidele juurdepääsuks, näiteks vaatamiseks ja tabelitesse kirjutamiseks.

Järgmine tabel annab kiire ülevaate fikseeritud serverirollide nimedest ja nende lühikirjelduse. Fikseeritud serverirollide nimede loendi hankimiseks saate käivitada sp_helpsrvrol süsteemi salvestatud protseduuri. Süsteemi salvestatud protseduuri sp_srvropermission käivitamine kuvab iga fikseeritud serverirolli funktsioonide üksikasjaliku loendi. SQL Serveri 7.0 ja 2000 versioonides on fikseeritud serverirollide vahel erinevusi. Näiteks bulkadmin on SQL Server 2000 uus roll. Lisaks oli DROP DATABASE avaldus saadaval ainult süsteemiadministraatori rollile SQL Server 7.0-s ja SQL Server 2000 võimaldab seda protseduuri teha ka dbcreator rolli liikmetel.

Parandatud serverirolli nimi

Fikseeritud serverirolli kirjeldus

sysadmin Käivitage mis tahes serveri või andmebaasi avaldis
serveriadmin Serveri administreerimine, seadistamine, käivitamine, peatamine.
setupadmin Lingitud serverite administreerimine ja salvestatud protseduuride käitamise õigus serveri käivitamise etapis.
turvaadmin Sisselogimiste ja paroolide haldamine. Võib anda õiguse luua uusi andmebaase.
protsessiadmin Käsu KILL täitmine.
dbcreator Andmebaaside loomine, muutmine, ümbernimetamine ja kustutamine.
diskadmin Failide haldamine kettal.
bulkadmin BULK INSERT avalduste täitmine.

Sa login on spetsiaalne SQL-serveri sisselogimine. See sisselogimine on grupi sysadmin liige ja annab õiguse täita serveris mis tahes funktsioone. SQL Server loob selle sisselogimise installimise ajal ja seda ei saa kustutada. Kohe pärast installimise lõpetamist pole sa sisselogimisel parooli. Oma andmebaasiserveri turvalisuse tagamiseks on vaja määrata sa parool, eriti segaautentimistüüpidega serverite puhul. Pidage meeles: Windowsi autentimisega serverid ei aktsepteeri ega töötle SQL-serveri sisselogimisi.

SQL-serveri installimisel Windows 98-sse või Windows ME-sse installitakse server alati segatud autentimistüübiga, nii et see võib aktsepteerida SQL-serveri sisselogimisi. Vaikimisi autentimise tüübid erinevad SQL Server 7.0 ja MSDE puhul Windows 2000 ja Windows NT installitud SQL Server 2000 ja MSDE 2000 autentimisest. SQL Server 7.0 ja MSDE puhul installib vaikeinstalliprotsess serveri segatud autentimistüübiga. Seevastu SQL Server 2000 ja MSDE 2000 installitakse vaikimisi Windowsi autentimisega. Lisaks määrab versiooni 2000 installiprotsess Windowsi administraatorite rühma liikmed süsteemihalduri fikseeritud serveri rollile. Seetõttu on need sisselogimised sarnased sa loginiga, millel on täielik kontroll serveri üle.

Kasutajad ja fikseeritud andmebaasirollid

Tavaliselt pääsevad kasutajad SQL Serverile juurde, et töötada ühe või mitme andmebaasiga. Selleks on SQL Serveril mehhanism sisselogimiste ja andmebaaside sobitamiseks. Nii nagu SQL-serveril võib olla üks või mitu sisselogimist, võib iga sisselogimisega olla seotud üks või mitu kontot. Üks konto vastab aga ainult ühele sisselogimisele (kahe erandiga). SQL Serveri dokumentatsioon määratleb kontod andmebaasi kasutajatena (või kasutajatena). Igal andmebaasi kasutajal on juurdepääs sellele andmebaasile.

SQL Server võib anda andmebaasi kasutajatele andmebaasi omandiõiguse ja õigused andmebaasiobjektide kasutamiseks. SQL Server pakub andmebaasis lubade määramist kahel sõltumatul tasemel. Esimesel tasemel saate kasutajale määrata ühe või mitu lubade klastrit. SQL Serveri dokumentatsioon määratleb need klastrid fikseeritud andmebaasirollidena. Nimetan neid lubade klastriteks, kuna nad saavad kombineerida õigusi paljudel andmebaasiobjektidel. Näiteks võimaldab üks fikseeritud roll (db_datareader) lugeda andmeid mis tahes andmebaasi tabelist, mitte ainult ühest või kahest konkreetsest tabelist. Teisel tasemel saate määrata õigused konkreetsete andmebaasiobjektide tasemel. SQL Server võimaldab kombineerida mõlemat meetodit: kasutaja võib olla ühe või mitme fikseeritud andmebaasirolli liige ja omada ka konkreetseid andmebaasiobjekte spetsiifilisi õigusi. Järgmises jaotises käsitlen konkreetsete andmebaasiobjektide õiguste haldamist.

Kaks erikasutajat saab seostada rohkem kui ühe sisselogimisega. Need on dbo ja külaliskasutajad. DBO kasutaja on sysadmin fikseeritud serverirolli liige ja saab luua serveris objekte, näiteks andmebaase või andmebaasitabeleid. Kasutaja, kelle sisselogimine ei kuulu sysadmin fikseeritud serverirolli, saab luua ka andmebaasiobjekte, näiteks tabeleid.

Objektide nähtavus ADP projekti andmebaasi aknas sõltub sellest, kas projekti sisselogimine kuulub sysadmin fikseeritud serveri rolli. Kui ADP projekti sisselogimine on süsteemiadministraatori rolli liige, kuvatakse andmebaasi aknas kõik dbo kasutajale kuuluvad objektid ilma nende nimede järel sulgudeta. Dbo kasutajate puhul kuvatakse kõik objektid, mis kuuluvad teistele kasutajatele peale dbo, koos kasutajanimega, mis on andmebaasiobjekti nime järel sulgudes. Kui ADP projekti sisselogimine ei kuulu sysadmin rolli, kuvatakse andmebaasi aknas sellele kasutajale kuuluvate objektide nimed ilma sulgudeta. Objektide nimed, mille omanik on dbo, näidatakse koos järelliitega (dbo). Objekte, mille omanikud ei ole ADP projekti sisselogimine ega dbo kasutaja, andmebaasiaknas ei kuvata.

Enamikul sisselogimisandmetel on kasutajad iga andmebaasi jaoks, millele neil on juurdepääs. Kui andmebaasil on spetsiaalne kasutaja, pääseb sisselogimine andmebaasile juurde ka ilma kasutajata. Selle kasutaja nimi on külaline, mis on kasutaja ilma andmebaasikontodeta sisselogimiseks. Külaliskasutaja ei ole seotud ühegi sisselogimisega. Saate külaliskasutajale õigusi määrata nagu igale teisele andmebaasi kasutajale. See võimaldab konfigureerida õigusi sisselogimistele, millel pole konkreetses andmebaasis konkreetseid kasutajaid.

Fikseeritud serverirolli Sysadmin liikmetel on piiramatud õigused mis tahes serveri andmebaasile. Seetõttu pääsevad selle rolli liikmed andmebaasile juurde isegi siis, kui andmebaasil pole kasutajaid.

Üks kiiremaid ja lihtsamaid viise anda kasutajale andmebaasis funktsioonide täitmiseks õigusi on määrata kasutaja fikseeritud andmebaasirollide liikmele. SQL Serveris on üheksa fikseeritud andmebaasirolli ning need on samad SQL Server 7.0 ja SQL Server 2000 puhul. Fikseeritud andmebaasirollide nimed ja lühikirjeldused on näidatud järgmises tabelis. Fikseeritud andmebaasirollide nimede loendi hankimiseks saate käivitada süsteemi salvestatud protseduuri sp_helpdbfixedrole. Süsteemi salvestatud protseduuri sp_dbfixedrolepermission kutsumine tagastab iga fikseeritud andmebaasirolli jaoks konkreetsete õigustega tabelikomplekti.

Parandatud andmebaasi rolli nimi

Fikseeritud andmebaasi rolli kirjeldus

db_omanik Andmebaasi piiramatud õigused.
db_accessadmin Andmebaasi kasutajate lisamiseks ja eemaldamiseks.
db_andmelugeja Andmebaasi tabelitest ja vaadetest lugemiseks.
db_datawriter Andmebaasi tabelite ja vaadete kirjete lisamiseks (sisestamiseks), redigeerimiseks (värskendamiseks) ja kustutamiseks (kustutamiseks).
db_ddladmin Et sooritada mis tahes SQL-lause Andmete määratlemise keel (või nende funktsioonide täitmine, kasutades GUI) andmebaasis.
db_securityadmin Kasutajarolli liikmelisuse, objektile juurdepääsuõiguse ja andmebaasi omandiõiguse haldamiseks.
db_backupoperator Varukoopiate loomiseks (backing) ja nendest andmebaaside taastamiseks (taastamine).
db_denydatareader Konkreetsest andmebaasiobjektist mis tahes SELECT-i tegemise loa keelamiseks (või tühistamiseks).
db_denydatawriter Loa keelamiseks (või tühistamiseks) mis tahes konkreetsel andmebaasiobjektil tehtud INSERT-, UPDATE- või DELETE-lausele.

Kasutajate määramine fikseeritud andmebaasirollidele mõjutab funktsioone, mida kasutajad saavad täita. Kasutaja fikseeritud andmebaasirolli liikmelisuse mõju on võimalik muuta, määrates kasutajale õigused konkreetsetele andmebaasiobjektidele. Lihtsuse huvides see jaotis seda ei käsitle, kuid järgmine jaotis käsitleb õiguste määramist konkreetsetele objektidele ja kasutaja määratud andmebaasirollidele. Andmebaasiaknas ei kuvata ühtegi tabelit, välja arvatud juhul, kui ADP-projekti sisselogimise kasutaja on andmebaasi fikseeritud rolli db_datareader liige. Kasutaja, kes ei kuulu rolli db_backupoperator, ei saa täita menüü Varundamine või Taasta käske (menüü Tööriistad, alammenüü Andmebaasiutiliidid). Seetõttu ei saa kasutajad, kes ei ole andmebaasi fikseeritud rolli db_ddladmin liikmed, luua andmebaasis tabeleid ega muid objekte. Andmebaasiakna abil saab kasutaja, kes ei kuulu rolli db_ddladmin, redigeerida serveriobjekte (nt tabeleid ja vaateid) või luua uusi, kuid muudetud ja loodud objekte andmebaasi ei salvestata.

Fikseeritud andmebaasirolli db_owner liikmed saavad täita kõiki funktsioone, mida pakub mis tahes muu andmebaasirolli liikmelisus. Kuna selle rolli sisselogimised võivad luua andmebaase ilma sysadmini fikseeritud serverirolli kuulumiseta, ei pea rühma db_owner liikmed olema dbo kasutajad. Seejärel saavad sysadmin fikseeritud serverirolli liikmed täita andmebaasis mis tahes funktsioone, mida rühma db_owner liige saab täita. Lisaks on dbo kasutaja loodud tabelitel ja vaadetel parem nähtavus võrreldes tabelite ja vaadetega, mille on loonud rolli db_owner liikmed, kes ei ole sysadmin fikseeritud serverirolli liikmed.

Kasutaja määratud andmebaasirollid ja õiguste määramine

SQL Serveri turbespetsifikatsioon lubab konkreetsete andmebaasiobjektide jaoks kuut tüüpi õigusi. Andmebaasi administraatorid saavad määrata juurdepääsuõiguse konkreetsetele objektidele, luues kasutaja määratud andmebaasirollid ja lisades nendesse rühmadesse kasutajaid. Seejärel saavad nad nendes rollides konkreetsetele objektidele õigusi määrata. Kõik nende erirollide liikmed pärivad nende rollide õigused. Andmebaasi administraatorid saavad pärast nende loomist lisada ja eemaldada kasutajaid rollidest ning muuta rollide õigusi.

Kuus objekti loa nime ja nende kirjeldused on näidatud järgmises tabelis. Saate need õigused määrata konkreetsetele andmebaasiobjektidele. Kui soovite anda õigused kõigile objektidele, peate määrama õigused igale andmebaasiobjektile. Siiski on parem kasutada fikseeritud andmebaasirolle, kui peate andma loa kõigile andmebaasiobjektidele. Näiteks kui soovite anda SELECT-õiguse kõigile tabelitele ja vaadetele (ka neile, mida pole veel loodud), on lihtsam määrata kasutajale db_datareader fikseeritud andmebaasiroll. Kui teie eesmärk on piirata SELECT-luba ainult ühe või kahe olemasoleva vaatega, siis looge kasutaja määratud andmebaasi roll, andke neile vaadetele SELECT-luba ja kaasake sellesse rolli need kasutajad, kellele tuleb anda eriload.

Loa nimi

Loa kirjeldus

VALI Vaadake kirjeid tabelis või vaates.
LISA Lisage tabelisse või vaatesse uusi kirjeid.
VÄRSKENDAMINE Tabeli- või vaatekirjete sisu muutmine.
KUSTUTA Kirjete kustutamine tabelitest või vaadetest.
VIITED Võimaldab luua võõrvõtmeid tabeli primaarvõtmele või kordumatule indeksile või rida tagastavale kasutaja määratud funktsioonile.
TEOSTA Käivitage salvestatud protseduur või kasutaja määratud funktsioon.

Konkreetsete andmebaasiobjektide õigustel võib olla kolm olekut: antud, keelatud ja tühistatud. Kui annate objektile juurdepääsu, on loa väärtusele antud olek. Seega, kui keelate juurdepääsu, keelatakse luba. Kui tühistate loa, muutke õigused antud või keelatud lubadest tühistatud. Tühistatud õigused ei luba ega keela juurdepääsu objektile.

Kuna kasutaja võib olla kaasatud mitmesse fikseeritud ja kasutaja määratud andmebaasirolli, on rollidevahelised lubade konfliktid võimalikud. Saate neid konflikte kasutada peenhäälestus Teie turvasüsteem. Näiteks on kasutaja kaasatud andmebaasi fikseeritud rolli db_datareader, mis annab kasutajale õiguse täita SELECT päringuid kõigis andmebaasi tabelites ja vaadetes. Küll aga saate keelata müügitabelist lugemise kasutajale, kellel on luba lugeda andmeid kõikidest tabelitest, et varjata tema eest müügitabelis olevat tundlikku teavet. Sellest tulenevalt ei saa andmebaasi fikseeritud rolli db_denydatareader liikmed väljastada SELECT päringuid ühegi andmebaasi tabeli vastu, isegi kui kasutajad on kaasatud kasutaja määratud andmebaasirolli, mis annab lugemisõiguse mõnest konkreetsest tabelist. Keelatud luba alistab alati antud loa.

SQL Server muudab turvalisuse haldamise lihtsamaks, määrates kasutajarühmadele õigused nende liikmesuse kaudu kasutaja määratud ja fikseeritud andmebaasirollides. Pidage meeles, et iga kasutaja vastab tavaliselt konkreetsele sisselogimisele. Sisselogimised võivad omakorda vastata konkreetsetele Windowsi kasutajatele. Üks sisselogimine võib aga olla ka Windowsi kasutajarühma liige. Seega, kui teil on juba Windowsi grupp, mille jaoks soovite samad turvaseaded määrata, looge Windowsi grupi jaoks sisselogimine. Seejärel looge selle sisselogimise jaoks kasutaja. Kõik selle kasutaja jaoks määratud õigused kehtivad vastava Windowsi rühma kõigile liikmetele.

SQL Serveri turvaprogrammeerimine

SQL-DMO on konteinerrakendus (Automatiseerimisrakendus), mille eesmärk on SQL Serveri administreerimine. Kuna SQL-DMO on SQL Server Enterprise Manageri API, saate SQL-DMO-s programmeerida kõike, mida Enterprise Manageri graafilised tööriistad teile pakkuda võivad, sealhulgas SQL Serveri turvalisuse kõigi aspektide haldamist. See SQL-DMO aspekt on eriti kasulik MSDE ja MSDE 2000 kasutavate projektide puhul, kuna need ei sisalda Enterprise Manageri. Lisaks peavad Access 2002 programmeerijad õppima mõningaid tarkvaralahendusi turbe haldamiseks, kuna Access 2002 ei suuda turvalisust menüüde kaudu hallata (nagu ka Access 2000).

Accessis saate SQL-DMO-d kasutades programmeerida samamoodi nagu mis tahes muud COM-objekti. Teie VBA projekt peab kasutama SQL-DMO teeki. Microsoft SQLDMO Object Library on selle objektiteegi nimi. Lisa link teeki käsu Viited (menüü Tööriistad) abil. Teegi DLL-fail on kaasas MSDE ja MSDE 2000-ga. Muud SQL Serveri versioonid hõlmavad DLL-i ja spikrifaili, mille saate avada otse Visual Basic Editori (VBE) aknast. Need, kes kasutavad Microsoft Office XP Developer Editioni, saavad installida SQL Serveri versiooni, mis sisaldab SQL-DMO abifaili.

Joonisel on kujutatud fragment hierarhilisest SQL-DMO mudelist koos tekstis kaugemal asuvate koodinäidete objektidega. Pange tähele, et SQLServeri objekt on hierarhia ülaosas. Paljud rakendused saavad SQL Serveriga ühenduse luua SQLServeri objekti kaudu. SQLServeri objekti järglased on sisselogimiste ja andmebaaside objektide kogumid, aga ka üksikud objektid, näiteks IntegratedSecurity, mis võimaldavad hallata SQL Serveri turvalisust. Järgmine näide kasutab SQL Serveri autentimisrežiimi seadistamise demonstreerimiseks IntegratedSecurity objekti atribuuti SecurityMode. Andmebaaside kollektsiooni liikmed on individuaalsed andmebaasid, millest igaühel on oma kogud ja objektid. Üks neist kogudest on kasutajate kogu. Fikseeritud ja kasutaja määratud andmebaasirollide jaoks kasutatakse teist kogumit (DatabaseRoles). Üksikute kasutajate kuulumine andmebaasirollide kogusse määrab kasutajate võime lugeda ja muuta kogudes olevaid tabelite ja vaadete objekte.

Joonistamine. SQL-DMO objektimudeli fragment, mis on seotud SQL Serveri turbega

Enne SQL-DMO-st rääkimist on oluline teada, et SQL-DMO DLL on SQL Server 7 ja SQL Server 2000 jaoks erinev. SQL-DMO kaks versiooni erinevad vähemalt kahe aspekti poolest. Esiteks sisaldab SQL Server 2000 versioon uusi objekte, mis on kasutusele võetud SQL Server 2000-s, ja ka traditsiooniliste objektide täiustusi. SQL-DMO SQL Server 2000 jaoks sisaldab ka traditsioonilisi SQL Server 7.0 haldusobjekte. 2000. aasta objektinimed lõpevad tavaliselt 2-ga (uute objektide puhul näiteks SQLServer2, traditsiooniliste objektide puhul SQLServer asemel). Teiseks ei saa SQL Server 7.0 juhtida programme, mis kasutavad SQL-DMO for SQL Server 2000 jaoks (isegi kui programmid kasutavad traditsioonilisi SQL-DMO objektinimesid). Siiski saate SQL Server 2000 hallata, kasutades SQL Server 7.0 jaoks mõeldud SQL-DMO teeki. See piirang tuleneb muudatusest failivormingud teegid uuele versioonile üleminekul; SQL-DMO skripti süntaks ei ole muutunud.

SQL-DMO versioonide erinevus nõuab hoolikat tähelepanu sellele, millist teegi versiooni te oma projektis kasutate. Kui soovite, et teie SQL-DMO rakendus töötaks SQL Server 7.0 ja SQL Server 2000-ga, peate kirjutama programme SQL-DMO-ga SQL Server 7.0 jaoks. Teisest küljest, kui teil on vaja SQL Server 2000 eeliseid kasutada, peate oma rakenduse arendama SQL Server 2000 teegi abil. Kuna artiklis tutvustatakse SQL-DMO abil turvaprogrammeerimistehnikaid, kasutasin SQL Server 7.0 versiooni. SQL-DMO-st. Igal juhul näeb kood kõigis versioonides välja sama, välja arvatud siis, kui kasutate SQL Server 2000-s kasutusele võetud uusi objekte.

Ühenduse loomine SQL-serveriga

Nii nagu saate SQL Serveriga ühenduse luua kahel viisil, kasutades ADP-projektis ühenduse atribuutide dialoogi, saate SQL-DMO kaudu SQL Serveriga ühenduse luua kahel viisil. Üks viis vastab autentimisele kasutades SQL-i Server. Seda meetodit kasutades peab teie kood saatma serveri nime, sisselogimise ja parooli SQL-DMO kaudu serverisse. Saate kasutada parameetrit "serveri nimi", et määrata kohalikus serveris erinevaid SQL Serveri eksemplare tööjaam või mõnes muus võrgu tööjaamas. SQL-DMO võimaldab ka ühenduse luua, määrates ainult serveri nime. Sel juhul saadab SQL-DMO SQL-serveri eksemplarile Windowsis volitatud kasutaja ID. Selle meetodi kasutamiseks peate määrama serveri LoginSecure atribuudi väärtuseks Tõene.

Järgmises loendis on paar protseduuri, mis demonstreerivad SQL Serveri eksemplariga ühenduse loomise süntaksit, kasutades SQL Serveri sisselogimist. Esimene protseduur määratleb kolm stringiparameetrit serveri nime (srvname), sisselogimise (suid) ja parooli (pwd) jaoks. Seejärel saadab see need teise protseduuri, mis algab SQLServeri objekti lähtestamisega. See objekt esindab serveri eksemplari. Teine protseduur kutsub seejärel SQLServeri objekti ühendamismeetodit. See meetod võtab sisendiks kolm parameetrit. Näidatakse serveri nime, sisselogimise ja parooli muutujate edastamise süntaksit.

Sub CallSQLDMOSQLServerLogin()
Dim srvname stringina
Hämar suid As String
Dim pwd stringina

"SQL-serveri sisselogimise argumentide määratlemine
suid = "teie_login_nimi"
pwd = "teie_parool"

"Ühendamisprotseduuri kutsumine SQL-serveri sisselogimismeetodi abil
SQLDMOSQLServerLogini srvnimi, suid, pwd

Sub SQLDMOSQLServerLogin(serveri nimi stringina, _

"Serveri eksemplar

"Ühendamismeetodi kutsumine ühenduse loomiseks SQL-serveri sisselogimismeetodi abil

"Muutujate kustutamine
srv1. Katkesta ühendus
Määra srv1 = mitte midagi

Järgmine koodinäide demonstreerib SQL Serveri eksemplariga ühenduse loomise süntaksit, kasutades Windowsi sisselogimist.
põhineb Windowsi kasutajatunnusel. Selle teise serveriga ühenduse loomise meetodi puhul ei pea te sisselogimist ega parooli määrama.
SQL-DMO aktsepteerib automaatselt Windowsi kasutaja ID-d ja ühendab kasutaja sisselogimisega serveriga
kasutajatunnuse jaoks. Enne ühendamismeetodi kutsumist määrake atribuudi LoginSecure väärtuseks Tõene. Selle atribuudi vaikeväärtus on False.

Sub CallSQLDMOWindowsLogin()
Dim srvname stringina
"Seadke Windowsi sisselogimise argument
srvname = "TEIE_SERVER_NAME"

SQLDMOWindowsLogin srvname

Alam-SQLDMOWindowsLogin (srv-nimi stringina)
Dim srv1 SQLDMO.SQLServerina

"Serveri eksemplar
Set srv1 = uus SQLDMO.SQLServer

"Enne helistamist määrake LoginSecure'i atribuut
"Ühenda meetod serveri nimega argumendina
srv1.LoginSecure = Tõene
srv1.Connect srvname

"Muutujate kustutamine
srv1. Katkesta ühendus
Määra srv1 = mitte midagi

Autentimisrežiimi muutmine

Üks peamisi eeliseid, mida SQL-DMO MSDE ja MSDE 2000 programmeerijatele pakub, on see, et see pakub funktsiooni, mis muidu poleks neile kättesaadav. Selle põhjuseks on asjaolu, et Enterprise Manager ei sisaldu installipaketis MSDE ega MSDE 2000. Näiteks SQL Server Enterprise Manageri kliendikomponent võimaldab administraatoritel graafiliselt muuta serveri autentimisrežiimi: Windowsi autentimine või segarežiim. ADP projekt seda võimalust ei paku. Kuid järgmised paar protseduuri võimaldavad teil muuta serveri autentimisrežiimi, ilma et saaksite isegi Enterprise Manageri kasutada.

Esimene protseduur määrab ühe parameetri väärtuse ja saadab selle teisele protseduurile. See parameeter määrab ühe kahest autentimisrežiimist. Protseduuri kommentaarid näitavad kahe eelmääratletud konstandi nimesid vastavalt autentimisrežiimile. Segarežiimi autentimine on vaikerežiim. SQL-DMO võimaldab teil määrata autentimisrežiimi, mis pole saadaval isegi Enterprise Manageris. Teisisõnu saate kasutada SQL-DMO-d, et öelda serverile, et ta aktsepteeriks ainult SQL Serveri sisselogimisi.

Teine protseduur loob ühenduse serveriga Windowsi kasutajatunnuse abil. Seejärel seab see serveri IntegratedSecurity objekti atribuudi SecurityMode parameetri väärtusele, mis talle esimesest protseduurist edastati. Kui selle atribuudi väärtus muudab autentimisrežiimi, ei muutu režiim enne, kui peatate ja taaskäivitate serveri. Serveriobjekti Stop-meetodi kutsumine ei saa aga serverit kohe peatada. Peate ootama, kuni server peatub. Kasutades serveriobjekti atribuuti Olek, saab teie programm jälgida sõnumit, et server on peatunud. Protseduur kasutab tsüklit, oodates, kuni Status väärtuseks muutub SQLDMOSvc_Stopped. Järgmisena käivitab protseduur SQLServeri objekti käivitusmeetodi. Selle meetodi helistamine seab uus režiim serveri autentimine.

Sub CallChangeServerAuthenticationMode()
Dim constAuth As Byte

"Määra constAuth väärtuseks:
" SQLDMOSecurity_Integrated režiimi lülitumiseks
"Windowsi autentimine
" SQLDMOSecurity_Mixed, et lülituda segaautentimisrežiimile

"Määrake constAuthi vaikeväärtus
constAuth = SQLDMOSecurity_Mixed

"kutsuge autentimisrežiimi muutmiseks protseduur
ChangeServerAuthenticationMode constAuth

Sub ChangeSeverAuthenticationMode (constAuth As Byte)
Dim srv1 SQLDMO.SQLServerina

"Seadke serveri nimi;
"vaikeseade YOUR_SERVER_NAME
srvname = "TEIE_SERVER_NAME"

"ühenduse SQLServeri objekti eksemplar
"Kasutame Windowsi autentimist
Set srv1 = uus SQLDMO.SQLServer
srv1.LoginSecure = Tõene
srv1.Connect srvname

Seadistage Windowsi jaoks atribuut SecurityMode
"või segaautentimine
srv1.IntegratedSecurity.SecurityMode = constAuth
srv1. Katkesta ühendus

«Kutsume käsku seisma ja ootama
"kuni see peatub
srv1.Stopp
Tee Kuni srv1.Status = SQLDMOSvc_Stopped
Loop

"Taaskäivitame serveri segatud autentimistüübiga
srv1.Start True, srvname

"Korista ära
srv1. Katkesta ühendus
Määra srv1 = mitte midagi

ADP projekti avamine

Mõnikord on vaja programmiliselt avada ADP projekt oma SQL-DMO rakendusest. ADP projekti avamise tehnoloogia ei nõua SQL-DMO kasutamist, kuid teie SQL-DMO rakendus saab seda võimalust ära kasutada. Selle artikli viimane koodinäide (vahetult enne viimast jaotist) näitab, kuidas uut kasutajat luua. ADP projekti avamise vajadus põhineb ühendusstringi genereerimisel ADP projektil põhineva rakenduse installimisel.

Järgmine koodinäide demonstreerib olemasoleva ADP-projekti avamist. Allolevas koodis on ADP projekti nimi msdn_test_security.adp. Näidiskood võimaldab teil avada ADP projekti Windowsi autentimisrežiimis või SQL Serveri autentimisrežiimis. Jällegi kasutatakse kahte protseduuri. Esimese protseduuri - CallOpenADPWindowsOrSQLServer - parameetrite loend on suhteliselt suur, mis on tingitud vajadusest määrata serveri nimi, andmebaas, ADP projekti faili tee ja nimi, SQL Serveri sisselogimine ja parool, samuti loogiline muutuja . Boole'i ​​muutuja määrab, kas projekt avatakse Windowsi või SQL Serveri autentimisega. Windowsi autentimise määramisel puudub vajadus sisselogimise ja parooli järele, kuna ADP projekt viitab automaatselt Windowsi kasutajatunnusele. Teine protseduur kasutab neid parameetreid ADP projekti avamiseks.

Enne teise protseduuri kirjeldamist oleks kasulik selgitada mõningaid koodi omadusi. Esiteks, protseduur, mis avab ADP projekti, töötab juba Accessi seansil. Seetõttu peame looma uue Accessi eksemplari projekti jaoks, mille kavatseme avada. Accessi seansi loomiseks kasutatakse OLE klassi.

Teiseks avaneb iga olemasolev ADP projekt alati eelmise avamise käigus salvestatud serveriühenduse parameetritega. Seetõttu peab programm avama projekti vanade ühenduse parameetrite abil ja seejärel neid parameetreid muutma. Uusi ühenduse sätteid saab määrata ainult avatud projektile. Pärast projekti sulgemist salvestatakse uued ühenduse parameetrid seni, kuni kasutaja neid ühenduse parameetrite dialoogis muudab. (Kuid Office'i objektimudel võimaldab peita ja keelata menüü Fail menüükäsu Ühendus.)

Kolmandaks, avatud ADP projektiga seanss kestab seni, kuni elab seda seanssi esindav muutuja. Kasutage avatava projekti seansi definitsioonis avalikku kirjeldust. Muutuja deklareeritakse mooduli kirjelduse jaotises. See võimaldab seansil elada nii kaua, kui elab seda avav projekt ehk meie kood. Näites oleva Accessi seansi muutuja nimi on appAccess ja standardmooduli määratluste jaotises on järgmine deklaratsioon. Kuna deklaratsioon peab olema mooduli ülaosas, siis ei näe seda ei esimese ega teise protseduuri koodis.

Avalik rakendus Juurdepääs kui Access.Application

Teine protseduur, OpenADPWindowsOrSQLServer, algab sõnumiga, mis küsib, kas jätta seanss pärast protseduuri lõppu avatuks. Kui kasutaja vastab "ei", määrab protseduur projekti ühenduse parameetrid ja sulgeb seejärel seansi ilma võimaluseta muudatusi vaadata. Järgmisena alustab projekt funktsiooni CreateObject abil uut Accessi seanssi. Selle funktsiooni argumendid sõltuvad kasutatavast Accessi versioonist (kood kirjeldab Access 2000 või Access 2002 kasutamise spetsiifikat). Pärast projekti jaoks seansi loomist kutsub protseduur välja OpenAccessProject meetodi, et lisada seansile ADP projekt. Selle meetodi argument on tee koos projektifaili nimega. Adp laiend on valikuline. Pärast projekti avamist alistab protseduur selle ühenduse sätted, kasutades CurrentProject objekti OpenConnection meetodit. Protseduur määratleb ühendused ümber, kasutades kahte erinevat ühendusstringi, sõltuvalt muutuja bolWindowsLogin väärtusest. See Boole'i ​​muutuja määratakse esimese protseduuriga, et näidata, millist tüüpi autoriseerimist tuleb projekti jaoks määrata. Protseduuri viimane samm lõpetab seansi, kui kasutaja vastas enne seansi avamist sõnumikastis olevale küsimusele jaatavalt.

AlamkutseOpenADPWindowsOrSQLServer()
Dim srvname stringina
Dim dbname stringina
Hämar tee Stringina
Dim prname As String
Hämar suid As String
Dim pwd stringina

"ADP projekti avamise valikute seadistamine
srvname = "TEIE_SERVER_NAME"
dbname = "Teie_db_nimi"

suid = "teie_login_nimi"
pwd = "teie_parool"


"praeguse kasutaja jaoks SQL-serveri sisselogimise ja parooli asemel
bolWindowsLogin = Vale

"ADP prname projekti avamise protseduuri kutsumine
"Windowsi või SQL Serveri autentimisega

Lõpeta alam
Sub OpenADPWindowsOrSQLServer(serveri nimi stringina, andmebaasinimi stringina, _
prpath As String, prname As String, _
suid As String, pwd As String, bolWindowsLogin As Boolean)

Dim bolJäta Boole'i ​​avatuks
Dim strPrFilePath stringina
Dim sConnectionString stringina

„Kas jätta projekt pärast menetluse lõppu lahtiseks?
Kui MsgBox("Kas soovite projekti avatuks jätta?", vbYesNo) = vbYes Siis
bolLeaveOpen = Tõene
Lõpeta Kui

Accessi seansiobjekti määratlemine (kasutage Access 2000 jaoks .9
"i.10 Access 2002 jaoks)
Set appAccess = CreateObject("Access.Application.9")

"Avage projekt sisselogimise ja parooliga viimane käivitamine
"ja näita seda
strPrFilePath = prpath & prname
appAccess.OpenAccessProject strPrFilePath
appAccess.Visible = Tõene

"Seadistage Windowsi või SQL Serveri autentimiseks uus sisselogimine;
"ja käsitlege ühenduskatse viga valel viisil
Kui bolWindowsLogin Siis
"PROVIDER=SQLOLEDB.1;INTEGREERITUD TURVALISUS=SSPI;" & _
"PERSIST SECURITY INFO=FALSE;ALGNE KATALOOG=" & _
Muidu
sConnectionString = "PROVIDER=SQLOLEDB.1;ALGNE KATALOOG=" & _
dbname & ";ANDMEALLIKAS=" & srvname
appAccess.CurrentProject.OpenConnection_
sConnectionString, _
suid, pwd
Lõpeta Kui

"Me lõpetame istungi või lõpetame
"ühenduse sätete dialoogi kuvamiseks
Kui bolLeaveOpen = Väär, siis
appAccess.CloseCurrentDatabase
Määra appAccess = mitte midagi
Lõpeta Kui

Sisselogimiste lisamine ja eemaldamine

SQL Serveriga ühenduse loomiseks on kolm võimalust. Need kolm tüüpi hõlmavad ühte tüüpi, mida kontrollib SQL Server, ja kahte muud tüüpi, mida kontrollib Windows. Windows kontrollib kahte tüüpi sisselogimisi individuaalsete kasutajatunnuste jaoks ja Windowsi kasutajate rühmade sisselogimisi. Kui teil on juba Windowsi kasutajagrupp, mille kõikidele liikmetele tuleb anda samad õigused SQL-serveri ressurssidele, peate sisselogimiseks määrama ainult Windowsi rühma. See säästab teid iga grupiliikme jaoks sisselogimise loomisest.

Sisselogimise loomise näide demonstreerib standardse SQL Serveri sisselogimise ja Windowsi kasutajarühmal põhineva sisselogimise loomise süntaksit. Windowsi rühma jaoks SQL Serveri sisselogimise loomise kood on peaaegu sama, mis üksikule Windowsi kasutajale sisselogimise loomise kood. Seetõttu on järgmine näide Windowsi grupi sisselogimise loomise kohta täpselt sama, mis on mõeldud üksikute Windowsi kasutajate sisselogimisandmete loomiseks.

Sisselogimiste loomise näide koosneb kahest protseduurist. Esimene protseduur määrab SQL Serveris sisselogimise loomise parameetrid, millega teine ​​protseduur loob uued sisselogimised. Kolmas protseduur on funktsioon, mis teisendab sisemise konstandi väärtuse stringiks, mis kirjeldab konstandi nime.

Teine protseduur, pärast serveriga ühenduse loomist, initsialiseerib sisselogimisobjekti. See objekt kuulub joonisel näidatud kogusse Logins. Järgmisena määrab protseduur sisselogimiseks kolm parameetrit: selle nimi (login_name), vaikeandmebaas (defaulf_db_name) ja parool (parool). Lihtsad määramistoimingud töötavad kahe esimese argumendiga. SQL-serveri sisselogimise parooli määramiseks kutsutakse välja sisselogimisobjekti meetod SetPassword. Uue sisselogimise jaoks parooli määramisel kasutage meetodi esimese argumendina tühja stringi; määrake teise argumendina uue sisselogimise parool. Meie näites on login_name parool määratletud kui "parool" (ilma jutumärkideta). Login_name login lisamine lõpetatakse sisselogimiste kogu meetodi Lisa kutsumisega.

Olemasoleva sisselogimise parooli alistamiseks saate kasutada ka meetodit SetPassword. Sel juhul on SetPassword meetodi esimene argument praegune parool. Kui aga praegust parooli ei tea, võid esimese argumendina määrata tühja stringi, täpselt nagu uue sisselogimise jaoks parooli loomisel. Sisselogimise loomine või muutmine on võimalik, kui teie praegune sisselogimine (mille all olete serveriga ühenduse loonud) sisaldub ühes fikseeritud serverirollidest: sysadmin või securityadmin. Pole tähtis, kuidas parooli muudate: programmiliselt või muul viisil. Näidis kasutab sa login, mis on osa sysadmin fikseeritud serveri rollist.

Teise protseduuri järgmised paar rida loovad sisselogimise Windowsi rühma nimega msdn_OS_users. Minu puhul see kolmest Windowsi kasutaja ID-st koosnev Windowsi grupp, tegelikkuses võiks Windowsi grupp olla kas kohalik arvutikasutajate grupp või Windowsi serveri domeeni kasutajagrupp. Sisselogimisprotsess algab uue sisselogimisobjekti (lgn1) initsialiseerimisega. Kui proovite lgn1-d uuesti kasutada ilma taasinitsialiseerimiseta (nullimiseta), ilmub käitustõrge, mis tuletab meelde, et on vaja uut objekti. Protseduur kasutab kaheosalist Windowsi rühmanime. Esimene osa on Windowsi serveri nimi, teine ​​on Windowsi serverirühma nimi. Kaldkriips toimib eraldajana. Teise sisselogimise vaikeandmebaas on jällegi andmebaas teie_db_nimi. Kuna Windowsi autentimiseks luuakse teine ​​sisselogimine, pole vaja parooli määrata. Siiski peate määrama atribuudi Type väärtuseks SQLDMOLogin_NTGroup. See väärtus vastab sisemisele konstandile, mis vastab Windowsi rühma sisselogimisele. SQL Serveri sisselogimise lisamisel ei pea te määrama atribuuti Tüüp, kuna see on SQL Serveri sisselogimiste vaikeseade. Teise sisselogimise loomine lõpeb sisselogimiste kogu meetodi Lisa kutsumisega.

Pärast kahe uue sisselogimise lisamist prindib protseduur kõigi serverite sisselogimiste nimed ja tüübid. Atribuut Type vastab sisemiste konstantide väärtusele. Tüüpide kuva loetavaks muutmiseks kasutatakse funktsiooni, mis teisendab konstandid vastavateks tekstinimedeks.

Pärast sisselogimiste kogu liikmete printimist kustutab protseduur kaks vastloodud sisselogimist nime järgi: login_name ja SINU_SERVERI_NAME\msdn_OS_users. See näide demonstreerib sisselogimisandmete kogu, selle eemaldamismeetodi ja eemaldatava sisselogimise atribuudi Name kasutamist. Kahe sisselogimise kustutamise kinnitamiseks kuvab protseduur uuesti sisselogimiste loendi kogust Sisselogimised. Avage vahetu aken ja võrrelge kahte sisselogimisnimekirja: pärast kahe sisselogimise lisamist ja eemaldamist.

Sub CallLoginDemo()
Dim srvname stringina
Hämar suid As String
Dim pwd stringina

"määrake SQL-serveriga autentimisel sisselogimise parameetrid
srvname = "TEIE_SERVER_NAME"
suid="sa"
pwd="parool"

"Sisselogimiste loomise protseduuri kutsumine
LoginDemo srvnimi, suid, pwd

Sub LoginDemo(srvname stringina, _

suid As String, pwd As String)
Dim srv1 SQLDMO.SQLServerina
Dim lgn1 kui SQLDMO.Login

"Serveri objekti lähtestamine
Set srv1 = uus SQLDMO.SQLServer

"Ühendamismeetodi kutsumine
srv1. Ühendage serveri nimi, suid, pwd

"Sisselogimisobjekti lähtestamine
Määra lgn1 = uus SQLDMO.Login

"SQL serveri sisselogimise lisamine
lgn1.Name = "sisselogimise_nimi"
lgn1.SetPassword "", "parool"

srv1.Logins.Lisa lgn1

"Sisselogimise lähtestamine taaskasutamiseks
Määra lgn1 = uus SQLDMO.Login

"Lisage Windowsi rühma sisselogimine
lgn1.Name = "TEIE_SERVERI_NAME\msdn_OS_kasutajad"
lgn1.Database = "teie_db_nimi"
lgn1.Type = SQLDMOLogin_NTGroup
srv1.Logins.Lisa lgn1

"Kõigi sisselogimiste väljund pärast kahe uue lisamist
Silumine.Prindi "Sisselogimised pärast kahe uue lisamist"

Järgmine logi1

"Äsja lisatud sisselogimiste kustutamine
srv1.Sisselogimised.Eemalda "YOUR_SERVER_NAME\msdn_OS_users"
srv1.Logins.Remove "login_name"

"Kõigi sisselogimiste uuesti kuvamine
Debug.Print vbCr & "Sisselogimised pärast kahe sisselogimise kustutamist"
Igaühele lgn1 In srv1.Logins
Debug.Print DecodeLoginType(lgn1.Type), lgn1.Name
Järgmine logi1

"Muutujate kustutamine
srv1. Katkesta ühendus
Määra srv1 = mitte midagi

Funktsioon DecodeLoginType(lgn_type As Byte) Stringina

Valige Case lgn_type
Juhtum 0
DecodeLoginType = "SQLDMOLogin_NTUser"
Juhtum 1
DecodeLoginType = "SQLDMOLogin_NTGroup"
Juhtum 2
DecodeLoginType = "SQLDMOLogin_Standard"
Juhtum muu
DecodeLoginType = "Tüüp vahemikust väljas"
Lõpp Valige

Sisselogimise loomine kasutajaga, kes on rolli db_datareader liige

Uue sisselogimise programmiline lisamine ja vaikeandmebaasi määramine ei loo selle sisselogimise jaoks andmebaasi kasutajat. Seetõttu ei saa sellel sisselogimisel põhinev ADP projekt vaikeandmebaasiga ühendust luua. Selleks, et projekt andmebaasiga töötaks, peate oma sisselogimiseks looma andmebaasis kasutaja.

Artikli viimane koodinäide demonstreerib uue SQL Serveri autentimise sisselogimise lisamise ja selle sisselogimise jaoks kasutaja loomist andmebaasis your_db_name. Selles näites on uus kasutaja määratud ka andmebaasi andmebaasi fikseeritud rollile db_datareader. Lõpuks avatakse ADP projekt uue sisselogimise ja kasutaja alusel.

Pärast serveriga ühenduse loomist ja uue login_name loomist loob kood uue kasutaja. Järgmisena määratakse kasutajale atribuudid Nimi ja sisselogimine. Atribuut Login tähendab sisselogimist, mille all kasutaja ühenduse loob – meie näites login_name. Seejärel on kasutaja valmis lisamiseks andmebaasi kasutajate kogusse. Pange tähele, et uue kasutaja lisamise süntaks järgib objekti hierarhia süntaksit. Uue kasutaja lisamise meetod rakendatakse kogusse Kasutajad, mis omakorda kuulub andmebaasiobjekti. Andmebaas on andmebaaside kollektsiooni liige, mis kuulub serveriobjektile (SQLserver). Pärast kasutaja loomist on vaja ühte või mitut rida kasutaja lisamiseks andmebaasi db_datareader fikseeritud rolli. Meetodit kasutaja rollile lisamiseks nimetatakse AddMember. Meie puhul lisab DatabaseRoles koguelemendi meetod AddMember kasutaja andmebaasi rolli. See meetod võtab parameetrina uue kasutajaobjekti atribuudi Name stringi avaldise.

Kui uue sisselogimise ja kasutaja turvakonfiguratsioon on lõpule viidud, kutsutakse välja OpenADPWindowsOrSQLServeri protseduur. Eelmistes loendites on näide selle protseduuri kasutamise kohta. Meie puhul avatakse fail msdn_test_security.adp sisselogimise_nime alusel. Sisselogimise funktsionaalsuse kontrollimiseks avage andmebaasi oma_db_nimi tabelid. Lisaks saab uue sisselogimise funktsionaalsust kontrollida dialoogiboksis Ühenduse parameetrid, määrates sisselogimise oma_login.

Kui proovite protseduuri MakeLoginWithDatareaderUser uuesti käivitada, siis katse nurjub. Selle põhjuseks on asjaolu, et login your_login on juba olemas. Kui proovite seda uuesti lisada, ilmneb tõrge. Protseduuri käivitamise katse võib ebaõnnestuda muul põhjusel: Te pole selle sisselogimisega andmebaasiga ühendatud projekti sulgenud. Käitusaja vigade käsitlemiseks saate kirjutada standardse VBA veakäsitluse. Sarnased vead võivad kaasneda eelmiste näidete täitmisega. Ma otsustasin mitte laskuda käitusaja vigade tuvastamise arutelusse, keskendudes SQL-serveri turbeprobleemidele.

Sub MakeLoginWithDatareaderUser()
Dim srv1 SQLDMO.SQLServerina
Dim lgn1 kui SQLDMO.Login
Dim usr1 kui SQLDMO.User
Dim srvname stringina
Hämar suid As String
Dim pwd stringina
Dim dbname stringina
Hämar tee Stringina
Dim prname As String
Dim bolWindowsLogin Booleanina

"Argumentide määratlemine
srvname = "TEIE_SERVER_NAME"
suid="sa"
pwd="parool"
dbname = "teie_db_nimi"

"initsialiseerige server
Set srv1 = uus SQLDMO.SQLServer

"SQL-serveriga autentimisel helistage sisselogimiseks Connect-meetodile
srv1. Ühendage serveri nimi, suid, pwd

"Initsialiseerige ja lisage sisselogimisobjekt
"serverisse srv1
suid = "login_name"
Määra lgn1 = uus SQLDMO.Login
lgn1.Nimi = suid
lgn1.Andmebaas = dbname
lgn1.SetPassword "", pwd
srv1.Logins.Lisa lgn1

"Initsialiseerige ja lisage kasutajaobjekt
"andmebaasi teie_db_nimi
Määra usr1 = Uus SQLDMO.User
usr1.Name = suid
usr1.Login = lgn1.Nimi
srv1.Andmebaasid(dbname).Kasutajad.Lisa usr1
srv1.Andmebaasid(dbname).DatabaseRoles("db_andmelugeja").AddMember usr1.Name

"Määrake ADP projekti avamise parameetrid

prpath = "Tee_projekti_faili"
prname = "msdn_security_test"

"See argument kontrollib Windowsi sisselogimise kasutamist
"praeguse kasutaja jaoks suid ja pwd SQL-serveri asemel
bolWindowsLogin = Vale

"Projekti avamise protseduuri kutsumine prname
"Windowsi või SQL Serveri autentimisega
OpenADPWindowsOrSQLServer serveri nimi, andmebaasinimi, _
prpath, prname, suid, pwd, bolWindowsLogin

«Jätame objekti vaatamiseks lahti

Järeldus

SQL Serveri turvalisus on üles ehitatud erinevatele põhimõtetele kui need, mida kasutavad Jeti andmebaasi programmeerijad. SQL Server Books Online dokumenteerib aga hoolikalt SQL Serveri turbejuhiseid. Selles artiklis tõlgitakse BOL-i põhireeglid konkreetseteks reegliteks, mille eesmärk on kasutada Accessi projekti SQL Serveriga. Selle artikli koodinäited näitavad, kuidas hallata SQL Serveri turvalisust Accessi abil.

« "on ühtne universaalne keskkond MS SQL Serveri kõikidele komponentidele juurdepääsuks, konfigureerimiseks ja haldamiseks, samuti süsteemikomponentide arendamiseks, päringutekstide redigeerimiseks, skriptide loomiseks jne. Tänu suurele hulgale visuaalsete juhtelementide olemasolule, " SQL Serveri haldusstuudio"võimaldab mis tahes tasemel SQL Serveri teadmistega administraatoritel teha paljusid standardseid MS SQL Serveri haldustoiminguid. Lihtsalt kasutatav arenduskeskkond, sisseehitatud veebibrauser kiireks juurdepääsuks MSDN-i teegile või abi saamiseks veebis, põhjalik õpetus, mis aitab teil õppida palju uusi funktsioone, sisseehitatud abi võrgukogukondadelt ja palju muud arendustegevuse hõlbustamiseks. SQL Serveris võimalikult lihtsaks ja pakub rikkalikke valikuid erinevate SQL Serveri skriptide loomiseks. Teave programmi installimise ja käitamise kohta " SQL Serveri haldusstuudio” ja seda arutatakse selles artiklis.

1. SQL Server Management Studio programmi installimine

programm" SQL Serveri haldusstuudio» on kaasas MS SQL Serveri distributsiooniga. Selle installimiseks peate komponendid märgistama

  • Haldustööriistad – põhilised

MS SQL Serveri installiprogrammi komponentide valiku lehel.

Kirjutasin artiklis üksikasjalikult MS SQL Serveri komponentide installimise kohta.

2. Käivitage programm SQL Server Management Studio

Vaikimisi programmifailid " SQL Serveri haldusstuudio" on installitud kausta "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\Management Studio\". Alustuseks" SQL Serveri haldusstuudio"peaks käivitama lähtefaili Ssms.exe, mis asub selles kataloogis.

Samuti on Microsoft Windows Server 2012 (R2) otsetee käivitamiseks " SQL Serveri haldusstuudio» leiate kõigi programmide loendist.

Ja Microsoft Windows Server 2008 (R2) menüüs " Alusta" (Alusta) - " Microsoft SQL Server 2012" - "Kolmapäev SQL Serveri haldusstuudio».

Pärast käivitamist palub programm teil sisestada SQL-serveri nimi, millega peaksite ühenduse looma, ja selle serveri autoriseerimisandmed. Serveri ühenduse string tuleb sisestada järgmises vormingus:

  • <Serveri aadress> — vaikeeksemplari serveri nimi või IP-aadress
  • <Serveri aadress>\<Eksemplari nimi> - SQL Serveri nimega eksemplari jaoks
  • <HüüdnimiNimi> - kui kasutatakse SQL Serverit

Windowsi autentimise (Windows Authentication) puhul kasutatakse jooksva konto teavet Windowsi kirjed. Kui teil on vaja kasutada teise kasutaja mandaate, peate programmi käivitama. Kui kasutate SQL Serveri autentimist, peate sisestama olemasoleva kasutajanime ja parooli SQL kasutaja Server.

Pärast serveri eksemplari nime ja autoriseerimisandmete sisestamist peate klõpsama " Ühendage» (Ühenda) valitud SQL-serveriga ühenduse loomiseks.

Postitas Mike Weiner
Kaasautor: Burzin Patel
Toimetajad: Lubor Kollar, Kevin Cox, Bill Emmert, Greg Husemeier, Paul Burpo, Joseph Sack, Denny Lee, Sanjay Mishra, Lindsey Allen, Mark Souza

Microsoft SQL Server 2008 sisaldab mitmeid täiustusi ja uusi funktsioone, mis laiendavad eelmiste versioonide funktsionaalsust. Andmebaaside haldamine ja hooldamine, hallatavuse, kättesaadavuse, turvalisuse ja jõudluse säilitamine on kõik andmebaasiadministraatori kohustused. Selles artiklis kirjeldatakse kümmet kõige kasulikumat uut funktsiooni SQL Server 2008-s (tähestikulises järjekorras), mis muudavad teie töö DBA-na lihtsamaks. Lisaks lühikirjeldusele sisaldab iga funktsioon võimalikke kasutusolukordi ja olulisi kasutussoovitusi.

Aktiivsusmonitor

Jõudlusprobleemide tõrkeotsingul või serveri reaalajas jälgimisel käivitab administraator tavaliselt skriptide seeriat või kontrollib asjakohaseid teabeallikaid, et koguda töötavate protsesside kohta üldandmeid ja tuvastada probleemi põhjus. SQL Server 2008 Activity Monitor koondab selle teabe kokku, et pakkuda lühidalt teavet jooksvate ja hiljuti töötatud protsesside kohta. Andmebaasi administraator saab nii kõrgetasemelist teavet vaadata kui ka mis tahes protsesse üksikasjalikumalt analüüsida ja ootestatistikat vaadata, mis muudab probleemide tuvastamise ja lahendamise lihtsamaks.

Activity Monitori avamiseks paremklõpsake Object Exploreris registreeritud serveri nimel ja seejärel valige Aktiivsusmonitor või kasutage SQL Server Management Studio standardset tööriistariba ikooni. Aktiivsusmonitor pakub administraatorile ülevaateosa, mis on välimuselt sarnane halduriga Windowsi ülesanded, samuti detailvaate komponente üksikud protsessid, ressursi ooteaeg, andmefaili sisend/väljund ja hiljutised ressursimahukad päringud, nagu on näidatud joonisel fig. 1.

Riis. 1:Aktiivsusmonitori vaadeSQL Server2008 kolmapäevalJuhtimine Stuudiokorter

Märge. Aktiivsusmonitor kasutab andmete värskendamise sageduse sätet, mida saab paremklõpsuga muuta. Kui valite sagedase andmete värskendamise (iga vähem kui 10 sekundi järel), võib tugevalt koormatud töösüsteemi jõudlus väheneda.

Aktiivsusmonitori abil saab administraator täita ka järgmisi ülesandeid.

· Peatage ja jätkake aktiivsusmonitori ühe paremklõpsuga. See võimaldab administraatoril olekuteavet teatud ajahetkel "salvestada" ja seda ei värskendata ega kirjutata üle. Kuid ärge unustage, et andmete käsitsi värskendamisel, jaotise laiendamisel või ahendamisel uuendatakse vanu andmeid ja need lähevad kaotsi.

· Paremklõpsake reaüksust, et kuvada päringu täielik tekst või graafiline täitmiskava, kasutades menüükäsku Hiljutised kõrged päringud.

· Jälgige Profileriga või lõpetage protsessid protsessivaates. Profileerija rakenduse sündmused hõlmavad sündmusi RPC: Valmis, SQL:BatchStarting Ja SQL:BatchCompleted, ja AuditLogi sisse Ja AuditLogi välja.

Aktiivsusmonitor võimaldab teil jälgida ka SQL Server 2005 mis tahes kohaliku või kaugjuhtumi tegevust, mis on registreeritud SQL Server Management Studios.

Audit

Võimalus jälgida ja salvestada toimuvaid sündmusi, sealhulgas seda, kes objektidele juurde pääseb ning muudatuste ajastust ja sisu, aitab administraatoril tagada vastavust regulatiivsetele või organisatsioonilistele turbestandarditele. Lisaks võib keskkonnas toimuvate sündmuste mõistmine aidata koostada plaani riskide vähendamiseks ja turvalise keskkonna hoidmiseks.

SQL Server 2008-s (ainult ettevõtte ja arendaja väljaanded) pakub SQL Server Audit automatiseerimist, mis võimaldab administraatoritel ja teistel kasutajatel auditeid ette valmistada, salvestada ja vaadata. erinevaid komponente serverid ja andmebaasid. Funktsioon annab võimaluse üksikasjalikult auditeerida serveri või andmebaasi tasemel.

Serveritasemel on audititoimingute rühmad, näiteks järgmised:

· FAILED_LOGIN_GROUP jälgi ebaõnnestunud sisselogimiskatseid.

· BACKUP_RESTORE_GROUP teatab, millal andmebaas varundati või taastati.

· DATABASE_CHANGE_GROUP auditeerib andmebaasi loomise, muutmise või kustutamise aega.

Andmebaasitaseme auditi tegevusrühmad hõlmavad järgmist.

· DATABASE_OBJECT_ACCESS_GROUP kutsutakse välja alati, kui andmebaasiobjektil käivitatakse käsk CREATE, ALTER või DROP.

· DATABASE_OBJECT_PERMISSION_CHANGE_GROUP kutsutakse välja, kui andmebaasiobjektidel kasutatakse avaldusi GRANT, REVOKE või DENY.

On ka teisi auditeerimistoiminguid, nagu SELECT, DELETE ja EXECUTE. Lisateabe saamiseks (sh kõigi auditirühmade ja toimingute täielik loend) vaadake jaotist SQL Serveri auditi toimingurühmad ja toimingud.

Auditi tulemused saab hilisemaks ülevaatamiseks saata faili või sündmuste logi (System Log või Windows Security Event Log). Auditi andmed luuakse kasutades Laiendatud sündmused- veel üks uus funktsioon SQL Server 2008-s.

SQL Server 2008 auditid võimaldavad administraatoril vastata küsimustele, millele varem oli hiljem väga raske vastata, näiteks "Kes selle indeksi maha jättis?", "Millal salvestatud protseduuri muudeti?", "Milline muudatus tehti, mis võib takistada kas kasutaja ei pääse sellele tabelile juurde?” ? ja isegi "Kes täitis tabelis käsu SELECT või UPDATE [ dbo.Palgaarvestus] ?».

Lisateavet SQL Serveri auditi kasutamise kohta ja selle rakendamise näiteid leiate SQL Server 2008 vastavusjuhendist.

Varukoopia tihendamine

DBA-d on juba pikka aega teinud ettepaneku lisada see funktsioon SQL Serverisse. Nüüd on see tehtud ja just õigel ajal! IN Hiljuti Mitmel põhjusel, näiteks andmete säilitamise pikenemise ja vajaduse tõttu rohkem andmeid füüsiliselt salvestada, hakkasid andmebaaside suurused hüppeliselt kasvama. Suure andmebaasi varundamisel peate varufailide jaoks eraldama märkimisväärsel hulgal kettaruumi ja eraldama toimingu jaoks märkimisväärse aja.

Kui kasutate SQL Server 2008 varukoopia tihendamist, tihendatakse varukoopiafail kirjutamise ajal, mis mitte ainult ei nõua vähem kettaruumi, vaid vähendab ka I/O toiminguid ja varundamise lõpuleviimiseks kulub vähem aega. Reaalsete kasutajaandmetega tehtud laboritestides täheldati paljudel juhtudel varukoopiafaili suuruse vähenemist 70–85%. Lisaks näitasid testid, et kopeerimis- ja taastamistoimingute kestus vähenes ligikaudu 45%. Tuleb märkida, et täiendav töötlemine kokkusurutuna suurendab see protsessorite koormust. Ajamahuka kopeerimisprotsessi eraldamiseks teistest protsessidest ja selle mõju nende toimimisele minimeerimiseks võite kasutada mõnda muud selles dokumendis kirjeldatud funktsiooni - Ressurss kuberner.

Tihendamise lubamiseks lisate käsule BACKUP WITH COMPRESSION (lisateabe saamiseks vaadake jaotist SQL Server Books Online) või määrates selle valiku lehel Valikud Dialoogikast Andmebaasi varundamine. Et vältida vajadust teha muudatusi kõigis olemasolevates varundusskriptides, on rakendatud globaalne säte, mis võimaldab vaikimisi kõigi serverieksemplaris loodud varukoopiate tihendamist. (See valik on saadaval lehel Andmebaasi sätted Dialoogikast Serveri omadused; selle saab installida ka salvestatud protseduuri käivitades sp_ seadistada parameetri väärtusega varukoopiakokkusuruminevaikimisi, võrdne 1). Varunduskäsk nõuab selgesõnalist tihendussuvandit ning taastamise käsk tunneb tihendatud varukoopia automaatselt ära ja pakkib selle taastamisel lahti.

Varukoopia tihendamine on äärmiselt kasulik funktsioon, mis säästab kettaruumi ja aega. Varukoopia tihendamise konfigureerimise kohta lisateabe saamiseks vaadake tehnilist märkust Varukoopia tihendamise jõudluse häälestamineSQL Server 2008 . Märge. Tihendatud varukoopiaid toetatakse ainult SQL Server 2008 Enterprise ja Developer väljaannetes, kuid kõik SQL Server 2008 väljaanded võimaldavad teil tihendatud varukoopiaid taastada.

Tsentraliseeritud haldusserverid

Sageli haldab DBA korraga mitut SQL Serveri eksemplari. Võimalus tsentraliseerida paljude SQL-i eksemplaride haldamine ja haldamine ühte asukohta säästab märkimisväärselt jõupingutusi ja aega. Keskhaldusserveri juurutus, mis on saadaval SQL Server Management Studios komponendi Registreeritud serverid kaudu, võimaldab administraatoril teha paljudes SQL-serverites erinevaid haldustoiminguid alates üks konsool juhtimine.

Tsentraliseeritud haldusserverid võimaldavad administraatoril registreerida serverite rühma ja teha nendega ühe rühmana näiteks järgmisi toiminguid:

· Mitme serveri päringu täitmine: nüüd saate skripti käivitada mitmes SQL-serveris ühest allikast ja andmed tagastatakse sellesse allikasse, ilma et peaksite igasse serverisse eraldi sisse logima. See võib olla eriti kasulik, kui teil on vaja vaadata või võrrelda mitme SQL-serveri andmeid ilma hajutatud päringut käivitamata. Lisaks, kuni SQL Serveri eelmised versioonid toetavad päringu süntaksit, saab SQL Server 2008 päringuredaktorist käivitatud päringut käitada ka SQL Server 2005 ja SQL Server 2000 eksemplaridel. Lisateabe saamiseks vaadake SQL Serveri hallatavuse töörühma ajaveebi aadressil Mitme serveri päringute käitamine SQL Server 2008 keskkonnas.

· Importige ja määrake poliitikad paljudes serverites: funktsionaalsuse piires Poliitikapõhine juhtimine(veel üks uus funktsioon SQL Server 2008-s, mida on samuti kirjeldatud selles artiklis), pakub SQL Server 2008 võimalust poliitikafaile importida eraldi rühmad tsentraliseeritud haldusserverid ja võimaldab määratleda eeskirju kõikides kindlas rühmas registreeritud serverites.

· Teenuste haldamine ja juurdepääs SQL Serveri konfiguratsioonihaldurile: tööriist Servers from Central Management aitab teil luua juhtimiskeskuse, kus DBA saab vaadata ja isegi muuta (asjakohaste õigustega) teenuste olekut.

· Registreeritud serverite import ja eksport: keskhaldusserveritega registreeritud servereid saab eksportida ja importida administraatorite või SQL Server Management Studio erinevate installide vahel ülekandmisel. See funktsioon pakub alternatiivi administraatorile, kes impordib või ekspordib SQL Server Management Studios oma kohalikke rühmi.

Pidage meeles, et õigused jõustatakse Windowsi autentimise abil, seega võivad kasutajaõigused ja load erineda erinevates serverites, mis on registreeritud rühmas Central Management Server. Lisateabe saamiseks vaadake jaotist Mitme serveri haldamine keskhaldusserveritega ja Kimberly Trippi ajaveebi: Kesksed SQL-i haldusserveridServer2008 – kas olete nendega tuttav?

Andmekoguja ja haldamise andmepood

Jõudluse häälestamine ja diagnostika on aeganõudev ning võib nõuda SQL Serveri täiustatud oskusi ja mõistmist sisemine struktuur andmebaasid. Süsteem Windowsi monitor(Perfmon), SQL Server Profiler ja dünaamilised haldusvaated lahendasid mõned neist probleemidest, kuid need mõjutasid sageli serverit, olid töömahukad või hõlmasid erinevate andmete kogumise meetodeid, mis muutsid nende kombineerimise ja tõlgendamise keeruliseks.

Süsteemi jõudluse kohta selge ja kasutatava teabe pakkumiseks pakub SQL Server 2008 täielikult laiendatavat jõudlusandmete kogumise ja salvestamise tööriista Data Collector. See sisaldab mitut valmis andmekogumise agenti, toimivusandmete tsentraliseeritud hoidlat, mida nimetatakse haldusandmete laoks, ja mitut eelkoostatud aruannet kogutud andmete esitamiseks. Data Collector on skaleeritav tööriist, mis kogub ja koondab andmeid erinevatest allikatest, nagu dünaamilised haldusvaated, Perfmoni jõudlusmonitor ja Transact-SQL päringud, vastavalt täielikult kohandatavale andmete kogumise sagedusele. Andmekogujat saab laiendada, et koguda andmeid mis tahes mõõdetava rakenduse atribuudi kohta.

Teine haldusandmete lao kasulik funktsioon on võimalus installida see mis tahes SQL serverisse ja seejärel koguda andmeid ühest või mitmest SQL Serveri eksemplarist. See minimeerib mõju tootmissüsteemide jõudlusele ning parandab ka skaleeritavust paljude serverite jälgimise ja andmete kogumise kontekstis. Laboritestides oli agentide ja haldusandmete lao käitamisel hõivatud serveris (kasutades OLTP töökoormust) täheldatud läbilaskevõime kadu ligikaudu 4%. Jõudluskaotus võib varieeruda olenevalt andmete kogumise sagedusest (mainitud test viidi läbi pikendatud töökoormusega, andmed edastati salvestusruumi iga 15 minuti järel) ning see võib järsult suureneda ka andmete kogumise perioodidel. Igal juhul peaksite ootama saadaolevate ressursside mõningast vähenemist, kuna DCExec.exe protsess kasutab teatud hulga mälu ja protsessori ressursse ning haldusandmete salve kirjutamine suurendab I/O alamsüsteemi koormust ja nõuab ruumi eraldamist. andmete ja logifailide asukoht.Skeemil (Joonis 2) on kujutatud tüüpiline andmekoguja aruanne.

Riis. 2:Andmekoguja aruande vaadeSQL Server 2008

Aruanne näitab SQL Serveri tegevust andmete kogumise perioodil. See kogub ja kuvab selliseid sündmusi nagu ooteaeg, protsessor, sisend/väljund ja mälukasutus, samuti statistikat ressursimahukate päringute kohta. Administraator võib jõudlusprobleemide uurimiseks, tuvastamiseks ja lahendamiseks uurida ka aruande üksusi, keskendudes ühele päringule või toimingule. Need andmete kogumise, salvestamise ja aruandluse võimalused võimaldavad ennetavalt jälgida teie keskkonnas olevate SQLServerite seisundit. Vajadusel võimaldavad need vaadata ajaloolisi andmeid tagasi, et mõista ja hinnata muutusi, mis mõjutasid toimivust jälgitava perioodi jooksul. Andmekogujat ja haldusandmete poodi toetavad kõik SQLServer 2008 väljaanded, välja arvatud SQLServerExpress.

Andmete tihendamine

Andmebaasi haldamise lihtsus muudab rutiinsed haldustoimingud palju lihtsamaks. Kui tabelid, indeksid ja failid kasvavad ja muutuvad väga suured andmebaasid andmehaldus (VLDB) on andmehaldus ja mahukate failidega töötamine muutumas üha keerulisemaks. Lisaks suurendab nõudlus mälu ja füüsilise sisend-väljundi ribalaiuse järele, mis suureneb koos taotletud andmete mahuga, ka halduse keerukust ja muudab organisatsiooni kulukaks. Seetõttu peavad administraatorid ja organisatsioonid paljudel juhtudel suurendama oma serverite mälu või I/O ribalaiust või leppima väiksema jõudlusega.

Andmete tihendamine, mis on kasutusele võetud SQL Server 2008-s, aitab neid probleeme lahendada. See funktsioon võimaldab administraatoril valikuliselt tihendada mis tahes tabelit, tabeli partitsiooni või indeksit, vähendades sellega kettaruumi, mälumahtu ja sisend-/väljundtoiminguid. Andmete tihendamine ja lahtipakkimine koormab protsessorit; kuid paljudel juhtudel kompenseeritakse sisend-väljundvõimendus rohkem kui CPU lisakoormust. Konfiguratsioonides, kus I/O on kitsaskoht, võib andmete tihendamine samuti jõudlust suurendada.

Mõnes laborikatses säästis andmete tihendamise lubamine 50–80% kettaruumi. Ruumisääst oli väga erinev: kui andmed sisaldasid vähe dubleerivaid väärtusi või väärtused kasutasid kõiki määratud andmetüübile eraldatud baite, oli kokkuhoid minimaalne. Paljude töökoormuste jõudlus aga ei tõusnud. Siiski, kui töötate andmetega, mis sisaldavad palju arvandmeid ja palju korduvaid väärtusi, täheldati mõne näidispäringu töökoormuse puhul olulist kettaruumi kokkuhoidu ja jõudluse kasvu vahemikus mõnest protsendist kuni 40–60%.

SQLServer 2008 toetab kahte tüüpi tihendamist: ridade tihendamine, mis tihendab üksikuid tabeli veerge, ja lehtede tihendamine, mis tihendab andmelehti rea, eesliidete ja sõnastiku tihendamise abil. Saavutatud tihendamise tase varieerub suuresti sõltuvalt andmetüüpidest ja andmebaasi sisust. Üldiselt vähendab ridade tihendamise kasutamine rakenduse toimingute üldkulusid, kuid vähendab ka tihendussuhet, mis tähendab, et säästetakse vähem ruumi. Samal ajal toob lehtede tihendamine kaasa rohkem rakenduse üldkulusid ja protsessori kasutust, kuid säästab ka oluliselt rohkem ruumi. Lehekülje tihendamine on ridade tihendamise superkomplekt, st kui objekti või objekti osa tihendatakse lehe tihendamisega, rakendatakse sellele ka rea ​​tihendus. Lisaks toetab SQLServer 2008 salvestusvormingut vardecimal SQL Server 2005 hoolduspaketist SP2. Pange tähele, et kuna see vorming on stringi tihendamise alamhulk, on see aegunud ja eemaldatakse toote tulevastest versioonidest.

Nii ridade tihendamise kui ka lehtede tihendamise saab lubada võrgus tabelis või registris, ilma et see mõjutaks andmete kättesaadavust rakendustele. Samal ajal ei saa võrgurežiimis partitsioonidega tabeli eraldi sektsiooni tihendada ega lahti pakkida ilma seda keelamata. Testid on näidanud, et parim lähenemisviis on kombineeritud lähenemine, mis tihendab vaid mõned suurimad tabelid, saavutades suurepärase kettaruumi kokkuhoiu (olulise) ja jõudluskadude (minimaalse) suhte. Kuna kompaktsel toimingul, nagu indeksi loomine või ümberehitamise toimingud, on saadaval ka nõuded kettaruum, tuleks neid nõudeid arvesse võttes teha kokkusurumine. Tihendusprotsessi ajal on vaja minimaalselt vaba ruumi, kui tihendamine algab kõige väiksematest objektidest.

Andmeid saate tihendada Transact-SQL-i lausete või andmete tihendamise viisardi abil. Et teha kindlaks, kuidas objekti suurus kahanemisel muutuda võib, saate kasutada süsteemi salvestatud protseduuri sp_hinnang_andmed_kompressioon_sääst või andmete tihendamise viisard. Andmebaasi tihendamist toetatakse ainult SQLServer 2008 Enterprise ja Developer väljaannetes. Seda rakendatakse eranditult andmebaasides ja see ei nõua rakendustes muudatusi.

Lisateavet tihendamise kasutamise kohta leiate teemast Tihendatud tabelite ja indeksite loomine.

Poliitikapõhine juhtimine

Paljude äristsenaariumide korral on vaja säilitada konkreetsed konfiguratsioonid või jõustada poliitikaid kas konkreetses SQLServeris või mitu korda SQLServerite rühmas. Administraator või organisatsioon võib nõuda konkreetse nimeskeemi rakendamist kõikidele loodud kasutajatabelitele või salvestatud protseduuridele või teatud konfiguratsioonimuudatuste rakendamist mitmele serverile.

Poliitikapõhine haldus (PBM) annab administraatorile keskkonna üle laia kontrolli. Reegleid saab luua ja nende vastavust kontrollida. Kui kontrollimise sihtmärk (nt andmebaasimootor, andmebaas, tabel või SQLServeri register) ei vasta nõuetele, saab administraator selle nendele nõuetele vastavaks automaatselt ümber konfigureerida. Samuti on mitmeid poliitikarežiime (millest paljud on automatiseeritud), mis muudavad eeskirjade järgimise kontrollimise, eeskirjade rikkumiste logimise ja teatiste saatmise lihtsaks ning eeskirjade järgimise tagamiseks isegi muudatuste tagasipööramise. Lisateavet määratlusrežiimide ja nende aspektidega (poliitikapõhise halduse (PBM) kontseptsiooni, mida käsitletakse ka selles ajaveebis) kohta lisateabe saamiseks vaadake SQL Serveri poliitikapõhise halduse ajaveebi.

Reegleid saab eksportida ja importida XML-failidena, mis määratletakse ja rakendatakse mitmes serveri eksemplaris. Lisaks saate SQLServerManagement Studios ja registreeritud serverite vaates määratleda poliitikaid mitme serveri jaoks, mis on registreeritud kohalikku serverirühma või kesksesse haldusserverirühma.

SQL Serveri varasemad versioonid ei pruugi pakkuda kõiki poliitikapõhiseid haldusfunktsioone. Siiski funktsioon aruande tegemine poliitikaid saab kasutada serverites SQL Server 2005 ja SQL Server 2000. Lisateavet poliitikapõhise halduse kasutamise kohta leiate teemast Serverite haldamine poliitikapõhist haldust kasutades rakenduses SQLServer Books Online. Lisateavet poliitikatehnoloogia enda kohta koos näidetega leiate SQL Server 2008 vastavusjuhendist.

Prognoositav jõudlus ja samaaegsus

Paljud administraatorid seisavad silmitsi oluliste väljakutsetega, toetades SQLServereid pidevalt muutuva töökoormusega ja tagades prognoositava jõudluse taseme (või minimeerides kõikumisi päringuplaanides ja jõudluses). Ootamatuid muutusi päringu jõudluses, muudatusi päringuplaanides ja/või üldiseid jõudlusprobleeme võivad põhjustada mitmed põhjused, sealhulgas SQLServeris töötavate rakenduste suurenenud koormus või andmebaasi enda versiooni uuendamine. SQLServeris töötavate päringute ja toimingute prognoositavus muudab kättesaadavuse, jõudluse ja/või talitluspidevuse eesmärkide saavutamise ja säilitamise (teenusetaseme lepingute ja tegevustoe taseme lepingute täitmine) palju lihtsamaks.

SQLServer 2008-s on prognoositava jõudluse parandamiseks muudetud mitmeid funktsioone. Seega on SQLServer 2005 plaanistruktuurides tehtud teatud muudatusi ( plaanide konsolideerimine) ja lisas võimaluse hallata luku eskalatsiooni tabeli tasemel. Mõlemad täiustused soodustavad prognoositavamat ja sujuvamat suhtlust rakenduse ja andmebaasi vahel.

Esiteks planeerige struktuurid (plaani juhend):

SQL Server 2005 tutvustas päringu stabiilsuse ja prognoositavuse täiustusi tolleaegse uue funktsiooni kaudu, mida kutsuti plaanijuhenditeks, mis andsid juhiseid päringute käitamiseks, mida ei saanud rakenduses otse muuta. Lisateabe saamiseks vaadake valget raamatut Päringuplaanide jõustamine. Kuigi USE PLAN-i päringu vihje on väga võimas funktsioon, toetas see ainult DML-i SELECT-operatsioone ja seda oli sageli ebamugav kasutada, kuna plaanistruktuurid olid vormindamise suhtes tundlikud.

SQL Server 2008 laiendab plaanijuhiste mootorit kahel viisil: esiteks laiendab see päringu USE PLAN-i vihje tuge, mis ühildub nüüd kõigi DML-lausetega (INSERT, UPDATE, DELETE, MERGE); teiseks on kasutusele võetud uus funktsioon plaanide konsolideerimine, mis võimaldab teil luua otse SQL Serveri plaani vahemälus oleva mis tahes päringuplaani plaani kontuuri (kinnitamine), nagu on näidatud järgmises näites.

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

Mis tahes viisil loodud plaanijuhendil on andmebaasiala; see salvestatakse tabelisse sys.plan_guides. Plaanistruktuurid mõjutavad ainult optimeerija päringuplaani valimise protsessi, kuid ei välista päringu koostamise vajadust. Lisatud ka funktsioon sys.fn_validate_plan_guide, et vaadata üle olemasolevad SQL Server 2005 plaanistruktuurid ja tagada nende ühilduvus SQL Server 2008-ga. Plaani kinnitamine on saadaval SQL Server 2008 Standard, Enterprise ja Developer väljaannetes.

Teiseks, blokeerimise eskaleerumine:

Eskalatsiooni blokeerimine põhjustas sageli blokeerimisprobleeme ja mõnikord isegi ummikseisu. Administraator pidi need probleemid lahendama. SQLServeri eelmistes versioonides oli võimalik juhtida luku eskalatsiooni (jälituslipud 1211 ja 1224), kuid see oli võimalik ainult eksemplari tasemel detailsuse korral. Mõne rakenduse puhul lahendas see probleemi, kuid teiste jaoks põhjustas see veelgi rohkem probleeme. Teine SQL Server 2005 luku eskalatsiooni algoritmi viga oli see, et partitsioonidega tabelite lukud eskaleeriti otse tabeli tasemele, mitte partitsiooni tasemele.

SQLServer 2008 pakub lahendust mõlemale probleemile. See tutvustab uut seadet, mis võimaldab teil kontrollida luku eskalatsiooni tabeli tasemel. Kasutades käsku ALTERTABLE, saate partitsioonitud tabelite eskaleerimise keelata või partitsioonitasemele eskaleerida. Mõlemad funktsioonid parandavad skaleeritavust ja jõudlust ilma soovimatute kõrvalmõjudeta, mis mõjutaksid eksemplari teisi objekte. Luku eskaleerimine määratakse andmebaasiobjekti tasemel ja see ei nõua rakenduse muutmist. Seda toetavad kõik SQLServer 2008 väljaanded.

Ressursi kuberner

Jätkusuutliku teenusetaseme säilitamine, vältides jooksvaid taotlusi ja tagades ressursside eraldamise kriitilistele töökoormustele, on varem olnud väljakutse. Ei olnud võimalik tagada teatud hulga ressursside eraldamist taotluste kogumile ja juurdepääsuprioriteetide üle puudus kontroll. Kõigil päringutel olid võrdsed õigused juurdepääsuks kõigile saadaolevatele ressurssidele.

SQL Server 2008 uus funktsioon Resource Governor aitab seda probleemi lahendada, pakkudes võimalust töökoormust eristada ja ressursse kasutajate vajaduste alusel eraldada. Ressursihalduri piiranguid on lihtne reaalajas ümber konfigureerida, mõjutades töökoormust minimaalselt. Töökoormuste jaotus ressursside kogumi vahel on konfigureeritud ühenduse tasemel ja protsess on rakendustele täiesti läbipaistev.

Allolev diagramm näitab ressursside eraldamise protsessi. Selle stsenaariumi korral konfigureerite kolm töökoormuse kogumit (administraatori, OLTP ja aruande töökoormused) ja määrate seejärel OLTP töökoormuse kogumi kõrgeim prioriteet. Samal ajal on konfigureeritud kaks ressursikogumit (kogum ja rakenduste kogum), mille mälumahu ja protsessori (CPU) ajapiirangud on määratud. Peal viimane etapp administraatori töökoormus on määratud administraatorikogumile ning OLTP ja aruannete töökoormus on määratud rakenduste kogumile.

Ressursihalduri kasutamisel tuleb arvestada järgmiste funktsioonidega.

- Ressursihaldur kasutab "ressursside kogumi identifikaatorina" sisselogimismandaati, hostinime või rakenduse nime, nii et ühe rakenduse kohta ühe sisselogimise kasutamine teatud arvu klientide jaoks serveri kohta võib ühiskasutamise keerulisemaks muuta.

- Objektide rühmitamist andmebaasi tasemel, kus juurdepääsu ressurssidele kontrollitakse juurdepääsul olevate andmebaasiobjektide alusel, ei toetata.

— Saate konfigureerida ainult protsessori- ja mäluressursside kasutamist. I/O ressursside haldust ei rakendata.

- Töökoormuste dünaamiline ümberlülitamine ressursikogumite vahel pärast ühendamist ei ole võimalik.

- Ressursihaldurit toetatakse ainult SQL Server 2008 Enterprise ja Developer väljaannetes ning seda saab kasutada ainult SQL Serveri andmebaasimootori jaoks; SQL Serveri analüüsiteenuste (SSAS), SQL Serveri integratsiooniteenuste (SSIS) ja SQL Serveri aruandlusteenuste (SSRS) haldamist ei toetata.

Transparent Data Encryption (TDE)

Paljud organisatsioonid pööravad suurt tähelepanu turvaküsimustele. On palju erinevaid kihte, mis kaitsevad organisatsiooni üht kõige väärtuslikumat vara – selle andmeid. Enamasti kaitsevad organisatsioonid edukalt kasutatud andmeid meetmete abil. füüsiline kaitse, tulemüürid ja ranged juurdepääsupiirangute eeskirjad. Kui aga füüsiline andmekandja, näiteks ketas või varukoopialint, kaob, on kõik need turvameetmed kasutud, kuna ründaja saab lihtsalt andmebaasi taastada ja andmetele täieliku juurdepääsu saada. SQL

Server 2008 pakub sellele probleemile lahendust Transparent Data Encryption (TDE) kaudu. TDE-krüptimisega krüpteeritakse ja dekrüpteeritakse andmed I/O-toimingutes reaalajas; Andmed ja logifailid krüpteeritakse andmebaasi krüpteerimisvõtme (DEK) abil. DEK on sümmeetriline võti, mida kaitseb serveri >põhiandmebaasi salvestatud sertifikaat, või asümmeetriline võti, mida kaitseb laiendatav võtmehaldusmoodul (EKM).

TDE funktsioon kaitseb andmeid puhkeolekus, nii et andmed on MDF failid, NDF-i ja LDF-i ei saa vaadata hex-redaktoriga ega muul viisil. Aktiivsed andmed, näiteks SQL Server Management Studio SELECT-lause tulemused, jäävad aga nähtavaks kasutajatele, kellel on tabeli vaatamise õigus. Lisaks, kuna TDE on rakendatud andmebaasi tasemel, saab andmebaas päringute optimeerimiseks kasutada indekseid ja võtmeid. TDE-d ei tohiks segi ajada veerutaseme krüptimisega – see on eraldi funktsioon, mis võimaldab krüpteerida isegi aktiivseid andmeid.

Andmebaasi krüptimine on ühekordne protsess, mida saab käivitada käsuga Transact – SQL või SQL Server Management Studiost ja seejärel käivitada taustalõime. Krüptimise või dekrüpteerimise olekut saab jälgida dünaamilise haldusvaate abil sys.dm_database_encryption_keys. Laboratoorsetes katsetes võttis 100 GB andmebaasi krüpteerimine krüpteerimisalgoritmiga AES _128 umbes tund aega. Kuigi TDE kasutamise üldkulud määrab eelkõige rakenduste töökoormus, oli mõnes läbiviidud testis see üldkulu alla 5%. Üks asi, mida tuleb meeles pidada, mis võib jõudlust mõjutada, on see, et kui eksemplari mõnes andmebaasis kasutatakse TDE-d, siis krüpteeritakse ka süsteemi andmebaas. tempDB. Lõpuks, millal samaaegne kasutamine erinevate funktsioonide puhul tuleb arvesse võtta järgmist:

  • Kui kasutate krüptitud andmebaasi tihendamiseks varukoopiat, on tihendatud varukoopia suurus suurem kui krüptimist kasutamata, kuna krüptitud andmed on halvasti tihendatud.
  • Andmebaasi krüpteerimine ei mõjuta andmete tihendamist (rida või leht).

TDE võimaldab organisatsioonil tagada vastavus regulatiivsetele standarditele ja üldistele andmekaitsetasemetele. TDE-d toetatakse ainult SQL Server 2008 Enterprise ja Developer väljaannetes; selle aktiveerimine ei nõua olemasolevates rakendustes muudatusi. Lisateavet leiate jaotisest Andmete krüpteerimine SQL Server 2008 Enterprise Editionis või arutelust Läbipaistev andmete krüpteerimine.

Kokkuvõtteks võib öelda, et SQL Server 2008 pakub funktsioone, täiustusi ja võimalusi, mis muudavad teie töö andmebaasi administraatorina lihtsamaks. Siin on kirjeldatud 10 kõige populaarsemat, kuid SQL Server 2008-l on palju muid funktsioone, mis muudavad administraatorite ja teiste kasutajate elu lihtsamaks. Teiste SQL Serveri vertikaalide "Top 10 funktsiooni" loendite saamiseks vaadake teisi selle saidi artikleid "SQL Server 2008 10 parimat...". Funktsioonide täieliku loendi ja nende üksikasjalike kirjelduste saamiseks vaadake SQL Server Books Online'i ja SQL Server 2008 ülevaate veebisaiti.