Microsoft Servers SQL andmebaasi haldussüsteem. Ühendage serveriga. Mugav koostöökeskkond

Minu ettevõte läbis just iga-aastase ülevaatuse ja ma veensin neid lõpuks, et on aeg leida Parim otsus meie SQL-skeemi/stseenide haldamiseks. Praegu on meil käsitsi värskendamiseks vaid mõned skriptid.

Töötasin VS2008 Database Editioniga teises ettevõttes ja see on suurepärane toode. Mu ülemus palus mul vaadata Redgate'i SQL Compare'i ja otsida muid tooteid, mis võiksid olla paremad. SQL-i võrdlus on samuti suurepärane toode. Siiski näib, et nad ei toeta Perforce'i.

Kas kasutasite selleks erinevaid tooteid?

Milliseid tööriistu te kasutate SQL-i haldamine?

Mida peavad nõuded sisaldama enne, kui minu ettevõte ostu sooritab?

10 vastust

Ma ei usu, et on olemas tööriista, mis saaks kõigi osadega hakkama. VS Database Edition ei võimalda teil luua korralikku vabastamismehhanismi. Lahendusbrauserist üksikute skriptide käitamine ei skaleeru suurte projektide puhul piisavalt hästi.

Vähemalt, mida vajate

  • IDE/redaktor
  • hoidla lähtekood mille saab käivitada teie IDE-st
  • erinevate skriptide nimetamine ja organiseerimine kaustadesse
  • muudatuste käsitlemise, väljalasete haldamise ja juurutuste teostamise protsess.

Viimane täpp on koht, kus asjad tavaliselt purunevad. Sellepärast. Parema hallatavuse ja versioonijälgimise huvides soovite salvestada iga db-objekti oma skriptifaili. See tähendab, et iga tabel, salvestatud protseduur, vaade, indeks jne. on oma fail.

Kui midagi muutub, värskendate faili ja teie hoidlas on uus versioon vajalikku teavet. Kui tegemist on mitme muudatuse liitmise versiooniga, töötlemine eraldi failid võib olla tülikas.

2 võimalust, mida kasutasin:

    Lisaks kõigi üksikute andmebaasiobjektide talletamisele nende failides on teil ka väljalaske skriptid, mis on üksikute skriptide konkatenatsioon. Selle puuduseks: teil on kood kahes kohas koos kõigi riskide ja puudustega. Potentsiaalne: väljalase käivitamine on sama lihtne kui ühe skripti käivitamine.

    kirjutage väike tööriist, mis suudab lugeda väljalaske manifestist skripti metaandmeid ja käivitada sihtserveris manifestis määratud iga skripti. Sellel pole muud miinust, välja arvatud see, et peate koodi kirjutama. See lähenemisviis ei tööta tabelite puhul, mida ei saa tühistada ja uuesti luua (kui olete reaalajas ja teil on andmed olemas), nii et teil on tabelite jaoks muutmisskriptid. Seega on see tegelikult mõlema lähenemisviisi kombinatsioon.

Olen "skripti ise" leeris, sest kolmanda osapoole tooted viib teid ainult andmebaasi koodi haldamiseni. Mul ei ole iga objekti jaoks ühte skripti, sest objektid muutuvad aja jooksul ja üheksa korda kümnest poleks piisav lihtsalt oma "loomistabeli" skripti värskendamine kolme uue veeru saamiseks.

Andmebaaside loomine on suures osas triviaalne. Seadke hunnik CREATE skripte, järjestage need õigesti (loo andmebaas enne skeeme, skeemid enne tabeleid, tabelid enne protseduure, kutsu protseduurid enne kõnesid jne) ja tehke seda. Andmebaasi muudatuste haldamine pole nii lihtne:

  • Kui lisate tabelisse veeru, ei saa te tabelit lihtsalt maha jätta ja luua seda uue veeruga, kuna see hävitab kõik teie väärtuslikud tootmisandmed.
  • Kui Fred lisab tabelisse XYZ veeru ja Mary lisab tabelisse XYZ veel ühe veeru, siis milline veerg lisatakse esimesena? Jah, tabelite veergude järjekord ei oma tähtsust [sest te ei kasuta kunagi SELECT *, eks?], välja arvatud juhul, kui proovite hallata andmebaasi ja jälgida versioonide loomist, siis on teil kaks "päris" andmebaasi, mis ärge sarnanege üksteisega, muutuge tõeliseks peavaluks. Me kasutame SQL-i võrdlust mitte haldamiseks, vaid asjade ülevaatamiseks ja jälgimiseks, eriti arenduse ajal, ning need vähesed "nad on erinevad (aga see pole maager)" olukorrad võivad takistada meid oluliste erinevuste märkamast.
  • Samamoodi võib see muutuda väga keeruliseks, kui mitu projekti (arendajat) töötavad samaaegselt ja eraldi ühises andmebaasis. Võib-olla töötavad kõik projekti Next Big Thing kallal, kui äkki peab keegi hakkama projekti Last Big Thing veaparandustega. Kuidas hallata vajalikke koodimuudatusi, kui väljalaskejärjekord on muutuv ja paindlik? (Tõesti lõbusad ajad.)
  • Tabelistruktuuride muutmine tähendab andmete muutmist ja see võib muutuda põrgulikult keeruliseks, kui peate tegelema tagasiühilduvusega. Lisate veeru "DeltaFactor", okei, mida sa siis teed, et täita see esoteeriline väärtus kõigi oma olemasolevate (loe: pärandandmete) jaoks? Lisate uue otsingutabeli ja vastava veeru, kuid kuidas seda täita olemasolevad read? Selliseid olukordi ei pruugi sageli juhtuda, kuid kui need juhtuvad, peate seda ise tegema. Kolmanda osapoole tööriistad lihtsalt ei suuda teie äriloogika vajadusi ette näha.

Põhimõtteliselt on mul iga andmebaasi jaoks CREATE-skript, millele järgneb rida ALTER-skripte, kuna meie koodibaas aja jooksul muutub. Iga skript kontrollib, kas seda saab käivitada: see on õige "tüüp" andmebaas, vajalikud eelskriptid on käivitatud, see skript juba töötab. Alles siis, kui kontrollid on läbitud, käivitab skript oma muudatused.

Tööriistana kasutame lähtekoodi haldamiseks SourceGear Fortressi, üldiseks toeks ja tõrkeotsinguks Redgate SQL Compare'i ning mitmeid SQLCMD-põhiseid koduskripte, et hulgi juurutada skripte koos muudatustega mitmes serveris ja andmebaasis ning jälgida, kes on taotlenud. milliseid andmebaasi skripte millisel ajal skriptivad. Lõpptulemus: kõik meie andmebaasid on stabiilsed ja stabiilsed ning me saame hõlpsalt tõestada, milline versioon on või oli mis tahes ajahetkel.

Nõuame, et kõik andmebaasi muudatused või lisamised sellistesse asjadesse nagu otsingutabelid tehtaks skriptis ja salvestataks allika juhtimisse. Seejärel juurutatakse need tarkvara versiooni juurutamiseks samamoodi nagu mis tahes muud koodid. Kuna meie arendajatel pole juurutamisõigusi, ei jää neil muud üle, kui luua skripte.

Tavaliselt kasutan MS Serverit Juhtimisstuudio SQL-i haldamiseks, andmetega töötamiseks, andmebaaside arendamiseks ja silumiseks, kui mul on vaja eksportida osa andmeid sql-skripti või luua andmebaasis mõni keerukas objekt, kasutan EMS SQL Management Studio for SQL Server, sest seal näen rohkem selgelt, mida minu koodi kitsad lõigud ja visuaalne kujundus selles keskkonnas mulle lihtsamaks teevad

Mul on avatud lähtekoodiga projekt (litsentsitud LGPL-i alusel), mis püüab lahendada probleeme, mis on seotud õige DB skeemi versiooniga SQL Serveri (2005/2008/Azure), bsn ModuleStore jaoks (ja kaugemalegi). Kogu protsess on väga lähedane Phillip Kelly siinse postitusega selgitatud kontseptsioonile.

Põhimõtteliselt skriptib andmebaasiobjekte tööriistakomplekti eraldi osa SQL-andmed Serveri DB skeemid muudetakse standardvorminguga failideks, nii et faili sisu muudetakse ainult siis, kui objekt tegelikult muutub (erinevalt VS-i skriptimisest, mis loob ka skripte jne, märgistades kõik muudetud objektid, isegi kui need on praktiliselt identsed).

Kuid tööriistakomplekt läheb sellest kaugemale, kui kasutate .NET-i: see võimaldab teil manustada SQL-i skripte teeki või rakendusse (sisemiste ressurssidena) ja seejärel võrrelda võrreldud tekstisiseseid skripte andmebaasi praeguse olekuga. Tabeliväliseid muudatusi (need, mis ei ole Martin Fowleri määratletud "hävitavad muudatused") saab rakendada automaatselt või nõudmisel (näiteks luua ja kustutada objekte, nagu vaated, funktsioonid, salvestatud protseduurid, tüübid, indeksid) ja muuta skripte. (mis tuleb käsitsi üles kirjutada) saab rakendada samas protsessis; luuakse ka uued tabelid ja nende seadistusandmed. Pärast värskendamist võrreldakse andmebaasi skeemi uuesti skriptidega, et tagada andmebaasi värskenduse õnnestumine enne muudatuste tegemist.

Pange tähele, et kogu skriptimis- ja võrdluskood töötab ilma SMO-ta, nii et teil pole rakendustes mooduli bsn ModuleStore kasutamisel valusat SMO-sõltuvust.

Olenevalt sellest, kuidas soovite andmebaasile juurde pääseda, pakub tööriistakomplekt veelgi enamat – see rakendab mõningaid ORM-i võimalusi ja pakub väga kena ja kasulikku esiotsa lähenemisviisi salvestatud protseduuride kutsumiseks, sealhulgas läbipaistvat XML-i tuge natiivsete .NET XML-klassidega ja ka TVP (Table-Valueed Parameters) jaoks IEnumerablena

Siin on minu skript salvestatud proc- ja udf-i ning käivitajate jälgimiseks tabelis.

    Looge tabel olemasoleva proci lähtekoodi salvestamiseks

    Sisestage tabel kõigi olemasolevate päästiku- ja skriptiandmetega

    Nende muudatuste jälgimiseks looge DDL-i päästik

    /****** Objekt: tabel . Skripti kuupäev: 17.09.2014 11:36:54 ******/ ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE . ( IDENTITY(1, 1) NOT NULL , (1000) NULL , (1000) NULL , (1000) NULL , (1000) NULL , NULL , NTEXT NULL ,CONSTRAIN PRIMARY KEY CLUSTERED ( ASC , OFF, ASC , OFF, OFF , = PUHD._STAT.) VÄLJAS ,IGNORE_DUP_KEY = VÄLJAS ,ALLOW_ROW_LOCKS = ON ,ALLOW_PAGE_LOCKS = ON) ON ) ON MINNA ALTER TABLE . LISA PIIRANGU VAIKESEKÜSIMUS("") MISEKS MINEMINE INSERT INTO . ( , , , , ,) SELECT "sa" ,loginitialdata" ,r.ROUTINE_NAME ,r.ROUTINE_TYPE ,GETDATE() ,r.ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES r UNION SELECT "sa" ,"loginitialdata,v.TATA"LE "view" ,GETDATE() ,v.VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS v UNION SELECT "sa" ,,"loginitialdata" ,o.NAME , "trigger" ,GETDATE() ,m.DEFINITION FROM sys.objects o JOIN sys. sql_modules m ON o.object_id = m.object_id WHERE o.type = "TR" LOOGE ANDMEBAASIS TRIGGER FOR CREATE_PROCEDURE ,ALTER_PROCEDURE ,DROP_PROCEDURE ,CREATE_INDEX ,ALTER_INDEX ,TRIOPDREGAL_INDEX GGER ,ALTER _TABLE ,ALTER_VIEW ,CREATE_VIEW ,DROP_VIEW AS BEGIN SET NOCOUNT ON DECLARE @data XML SET @data = Eventdata() INSERT INTO sysupdatelog VALUES (@data.value("(/EVENT_INSTANCE/LoginName)", "nvarchar(255)") ,@data.value("() /EVENT_INSTANCE /Sündmuse tüüp)", "nvarchar(255)") ,@data.value("(/SÜNDMUS/SÜNDMUS/Objektinimi)", "nvarchar(255)") ,@data.value("(/SÜNDMUS/SÜNDMUS/ObjectType)" , " nvarchar(255)") ,getdate() ,@data.value("(/EVENT_INSTANCE/TSQLCommand/CommandText)", "nvarchar(max)")) SET NOCOUNT OFF END GO SET ANSI_NULLS OFF GO SET QUOTED_OFFGOIDENTI LUBAGE ANDMEBAAS GO TRIGGER

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ärjekorras, nii et lõpuks saabuks mõtteselgus. 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 relatsiooniline andmebaasihaldussüsteem (DBMS), mille on välja töötanud Microsoft Corporation. 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 Server Express Editioni.

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 funktsioon Reservkoopia andmebaasid;
  • 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.NET tarkvaraplatvormi toetamiseks;
  • 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 Management Studiol on kaks peamist kasutust: andmebaasiserverite ja andmebaasiobjektide haldamine. Neid funktsioone käsitletakse allpool.

Andmebaasiserveri haldus

Haldustoimingud, mida saate SQL Server Management Studio abil teha, hõlmavad (kuid mitte ainult):

    serveri registreerimine;

    ühendus serveriga;

    uute serverirühmade loomine;

    mitme serveri haldamine;

    serverite käivitamine ja seiskamine.

Neid haldusülesandeid kirjeldatakse järgmistes alajaotistes.

Serveri registreerimine

SQL Server Management Studio eraldab serverite registreerimise tegevuse andmebaaside ja nende objektide uurimisest. (Mõlemat tüüpi toiminguid saab teha läbi Object Explorer.) Enne kui saate kasutada mis tahes kohaliku või kaugserveri andmebaase ja objekte, tuleb see registreerida.

Saate serveri registreerida SQL Server Management Studio esmakordsel käivitamisel või hiljem. Andmebaasiserveri registreerimiseks klõpsake nuppu paremklõps soovitud server Object Exploreris ja valige kontekstimenüüst Registreeru. Kui Object Exploreri paneel on peidetud, avage see menüükäsuga Vaade --> Objektiuurija. Avaneb dialoogiboks Uue serveri registreerimine, nagu on näidatud alloleval joonisel:

Valige registreeritava serveri nimi ja selle serveri autentimistüüp (st Windowsi autentimine või SQL Serveri autentimine) ja seejärel klõpsake nuppu Salvesta.

Ühenduse loomine serveriga

SQL Server Management Studio eraldab ka serveri registreerimise ja serveriga ühenduse loomise ülesanded. See tähendab, et kui server on registreeritud, ei loo see server automaatselt ühendust. Registreeritud serveriga ühenduse loomiseks peate paremklõpsama soovitud serveril objektiinspektori aknas ja valige kuvatavast kontekstimenüüst Ühenda.

Uue serverirühma loomine

Uue serverirühma loomiseks paneelil Registreeritud serverid paremklõpsake Kohalik sõlm Serverirühmad: aknas Registreeritud server valige kontekstimenüüst Uus serverirühm. Avanevas dialoogiboksis Uue serverirühma atribuudid uus grupp serverid) sisestage grupile kordumatu nimi ja soovi korral selle kirjeldus.

Mitme serveri haldamine

Object Explorerit kasutades võimaldab SQL Server Management Studio hallata ühes arvutis mitut andmebaasiserverit (nn eksemplari). Andmebaasiserveri komponendi igal eksemplaril on oma andmebaasiobjektide komplekt (süsteemi- ja kasutajaandmebaasid), mida eksemplaride vahel ei jagata.

Serveri ja selle konfiguratsiooni haldamiseks paremklõpsake Object Exploreris serveri nimel ja valige kuvatavast kontekstimenüüst Atribuudid. Avaneb dialoogiboks Server Properties, mis sisaldab mitut lehte, nagu Üldine, Turvalisus, Õigused jne.

Üldlehel kuvatakse serveri üldised atribuudid:

Leht Turvalisus sisaldab teavet serveri autentimisrežiimi ja sisselogimise auditi meetodi kohta. Lehel Õigused kuvatakse kõik kontod ja rollid, millel on juurdepääs serverile. Lehe allosas kuvatakse kõik õigused, mida nendele kontodele ja rollidele saab anda.

Saate muuta serveri nime, andes sellele uue nime. Selleks paremklõpsake Object Exploreri aknas soovitud serverit ja valige kontekstimenüüst Registreeru. Nüüd saate anda serverile uue nime ja muuta selle kirjeldust. Servereid ei tohiks ümber nimetada, kui see pole vajalik, kuna see võib mõjutada teisi nendega linkivaid servereid.

Serverite käivitamine ja seiskamine

Vaikimisi käivitub andmebaasimootori server operatsioonisüsteemi käivitamisel automaatselt Windowsi süsteemid. Serveri käivitamiseks SQL Server Management Studio abil paremklõpsake soovitud serveril objektiinspektoris ja valige kontekstimenüüst Start. See menüü sisaldab ka suvandeid Stopp ja Pause serveris sobivate toimingute tegemiseks.

Andmebaaside haldamine Object Exploreriga

Haldustoimingud, mida saate SQL Server Management Studio abil teha, hõlmavad järgmist:

    andmebaaside loomine ilma kasutamata Transact-SQL keel;

    andmebaaside muutmine ilma Transact-SQL keelt kasutamata;

    hallata tabeleid ilma Transact-SQL keelt kasutamata;

    loomine ja teostamine SQL-laused(kirjeldatud järgmises artiklis).

Andmebaaside loomine ilma T-SQL-i kasutamata

Uue andmebaasi saab luua objektibrauseri abil Objektiuurija. Nagu nimigi ütleb, saab Object Explorerit kasutada ka serveriobjektide uurimiseks. Selle tööriista paneelilt saate vaadata kõiki serveriobjekte ning hallata serverit ja andmebaase. Serveriobjekti hierarhiapuu sisaldab muu hulgas kausta Andmebaasid. See kaust sisaldab omakorda mitut alamkausta, sealhulgas kausta süsteemi andmebaaside jaoks ja kausta iga kasutaja loodud andmebaasi jaoks.

Andmebaasi loomiseks Object Exploreri abil paremklõpsake sõlme Andmebaasid ja valige menüükäsk Uus andmebaas. Sisestage avanevas dialoogiboksis Uus andmebaas väljale Andmebaasi nimi nimi uus alus andmed ja seejärel klõpsake nuppu OK.

Igal andmebaasil on mitu atribuuti, näiteks failitüüp, esialgne suurus jne. Andmebaasi atribuutide lehtede loend asub dialoogiboksi Uus andmebaas vasakpoolsel paanil. Dialoogiboksi Andmebaasi atribuudid leht Üldine sisaldab muu hulgas teavet, nagu andmebaasi nimi, omanik ja võrdlus:

Konkreetse andmebaasi andmefailide atribuudid on loetletud lehel Failid ja need sisaldavad sellist teavet nagu faili nimi ja esialgne suurus, andmebaasi asukoht ja failitüüp (näiteks esmane). Andmebaasi saab salvestada mitmesse faili. SQL Serveris kasutatakse seda dünaamiline juhtimine kettaruum. See tähendab, et andmebaasi suurust saab konfigureerida vastavalt vajadusele automaatselt kasvama ja kahanema.

selleks, et muuta Isekasvu vara(Automaatne kasv) Klõpsake lehe Failid veerus Automaatne kasv ellipsiikooni (...) ja tehke dialoogiboksis Muuda automaatset kasvu vastavad muudatused. Andmebaasi suuruse automaatse suurendamise lubamiseks peate määrama Luba automaatne kasv. Iga kord, kui olemasolev suurus failist ei piisa lisatud andmete salvestamiseks, server küsib automaatselt süsteemilt failile täiendava kettaruumi eraldamist. Täiendav helitugevus kettaruum(protsentides või megabaitides) on märgitud Faili kasvuväli samas dialoogiboksis. Ja sektsioonis Maksimaalne failisuurus Saate piirata faili maksimaalset suurust, valides lüliti Piiratud (MB) või eemaldada suurusepiirangud, valides lüliti Piiramatu (see on vaikeseade). Kui faili suurus on piiratud, peate määrama selle lubatud maksimaalse suuruse.

Dialoogiboksi Andmebaasi atribuudid lehel Failirühmad kuvatakse failirühmade nimed, kuhu andmebaasifail kuulub, failirühma partitsioon (vaike- või selgesõnaline) ja failirühmas lubatud toimingud (kirjutus-kirjutus- või kirjutuskaitstud) lugemine).

Dialoogiboksi Andmebaasi atribuudid lehel Suvandid saate vaadata ja muuta kõiki andmebaasitaseme suvandeid. Parameetrirühmad on automaatne, piiramine, kursor, muu, taastamine, teenuse vahendaja ja olek. Rühm Olek sisaldab näiteks nelja järgmist parameetrit:

Andmebaas on kirjutuskaitstud

Võimaldab luua juurdepääsu andmebaasile täielik juurdepääs või kirjutuskaitstud juurdepääs. Viimasel juhul ei saa kasutajad andmeid muuta. Selle parameetri vaikeväärtus on False.

Piira juurdepääsu

Määrab kasutajate arvu, kes saavad samaaegselt andmebaasi kasutada. Vaikeväärtus on MULTI_USER.

Andmebaasi olek

Kirjeldab andmebaasi olekut. Selle parameetri vaikeväärtus on Normal.

Krüpteerimine lubatud

Määrab andmebaasi krüpteerimisrežiimi. Selle parameetri vaikeväärtus on False.

Laiendatud atribuutide lehel kuvatakse praeguse andmebaasi täiendavad atribuudid. Sellel lehel saate kustutada olemasolevaid atribuute ja lisada uusi.

Lehel Lubad kuvatakse kõik kasutajad, rollid ja seotud load.

Ülejäänud lehtedel Muudatuste jälgimine, Peegeldamine ja Tehingulogi saatmine kirjeldavad andmete kättesaadavusega seotud võimalusi.

Andmebaasi muutmine

Object Exploreri abil saate olemasolevaid andmebaase muuta, muutes andmebaasifaile ja failirühmi. Uute failide andmebaasi lisamiseks paremklõpsake soovitud andmebaasi ja valige kontekstimenüüst Atribuudid. Valige avanevas dialoogiboksis Andmebaasi atribuudid leht Failid ja klõpsake jaotise Andmebaasifailid allosas nuppu Lisa. Lisatakse sektsiooni uus rida, mille lahtrisse Loogiline nimi tuleks sisestada lisatava andmebaasifaili nimi ja muudesse väljadesse määrata selle faili vajalikud omadused. Samuti saate andmebaasi lisada teisese failirühma, valides lehe Failirühmad ja klõpsates nuppu Lisa.

Eelnevalt mainitud andmebaasi atribuute saab muuta ainult süsteemiadministraator või andmebaasi omanik.

Andmebaaside kustutamiseks Object Exploreri abil paremklõpsake soovitud andmebaasi nimel ja valige avanevast kontekstimenüüst käsk Kustuta.

Laua haldamine

Pärast andmebaasi loomist on järgmiseks ülesandeks koostada kõik vajalikud tabelid. Sarnaselt andmebaasi loomisega saab ka selles olevaid tabeleid luua kas Transact-SQL või Object Explorer abil. Nagu andmebaasi loomisel, vaatleme siin tabelite loomist ainult Object Exploreri abil.

Tabelite loomise harjutamiseks loome SampleDb andmebaasis osakonna tabeli. Andmebaasi tabeli loomiseks Object Exploreri abil laiendage sõlme Andmebaasid ja seejärel soovitud andmebaasi sõlme, paremklõpsake kaustal Tabelid ja valige avanevast kontekstimenüüst Uus tabel. Ülaosas koos parem pool Management Studio aken avab akna uue tabeli veergude loomiseks. Sisestage iga veeru jaoks tabeli veergude nimed, nende andmetüübid ja nullväärtuste eraldusvõime, nagu on näidatud alloleva pildi ülemisel parempoolsel paanil:

Veeru jaoks ühe süsteemitoetatud andmetüübi valimiseks valige veerus Andmetüüp ja seejärel klõpsake kasti paremas servas olevat allapoole suunatud kolmnurka (see kolmnurk kuvatakse pärast lahtri valimist). Selle tulemusena valige avanevas ripploendis veeru jaoks vajalik andmetüüp.

Olemasoleva veeru andmetüüpi saate muuta vahekaardil Veeru atribuudid (joonisel alumine paneel). Mõned andmetüübid, näiteks char, nõuavad pikkuse määramist real Length, samas kui teised, näiteks kümnendsüsteemid, nõuavad skaala ja täpsuse määramist vastavatel Scale ja Precision ridadel veeru atribuudid. Mõned teised, näiteks int, ei nõua nende omaduste täpsustamist. (Sobimatud väärtused konkreetne tüüp andmed on kõigi võimalike veeruatribuutide loendis varjutatud kirjaga esile tõstetud.)

Lubama nullväärtused antud veeru jaoks tuleks määrata sellele vastav välja märkeruut. Samuti, kui veerg nõuab vaikeväärtust, tuleb see sisestada paneeli Veeru atribuudid reale Vaikeväärtus või Sidumine. Vaikeväärtus määratakse veeru lahtrile automaatselt, välja arvatud juhul, kui sellele on konkreetselt sisestatud väärtus.

Veerg Number on osakonna tabeli primaarvõti. Veeru muutmiseks tabeli primaarvõtmeks paremklõpsake seda ja valige kontekstimenüüst Set Primary Key.

Kui olete kogu tabeli loomise töö lõpetanud, klõpsake vahekaardil Tabelikujundaja risti. Avaneb dialoogiboks, milles küsitakse, kas muudatused salvestada. Klõpsake nuppu Jah, mis avab dialoogiboksi Vali nimi ja palub teil sisestada tabeli nimi. Sisestage soovitud tabeli nimi ja klõpsake nuppu OK. Tabel salvestatakse alla määratud nimi. Uue tabeli kuvamiseks andmebaasi hierarhias klõpsake Object Exploreri tööriistaribal ikooni Uuenda.

Olemasoleva tabeli atribuutide vaatamiseks ja muutmiseks laiendage soovitud tabelit sisaldavat andmebaasi, laiendage selle andmebaasi sõlme Tabelid, paremklõpsake soovitud tabelit ja seejärel valige kontekstimenüüst Atribuudid. See avab tabeli jaoks dialoogiboksi Tabeli atribuudid. Näiteks alloleval joonisel on SampleDb andmebaasi Töötaja tabeli vahekaardil Üldine dialoogiboks Tabeli atribuudid.

Tabeli ümbernimetamiseks paremklõpsake kaustas Tabelid seda tabeliloendis ja valige kontekstimenüüst Nimeta ümber. Ja tabeli kustutamiseks paremklõpsake seda ja valige Kustuta.

Olles loonud SampleDb andmebaasi kõik neli tabelit (Töötaja, Osakond, Projekt ja Works_on – üksikasjaliku tabelistruktuuri leiate lähtekoodist), saate üksuste ja suhete diagrammi kuvamiseks kasutada teist SQL Server Management Studio funktsiooni - diagramm (ER) (olemi-suhe) see andmebaas. (Andmebaasi tabelite teisendamist olemi-relatsiooni (ER) diagrammiks nimetatakse pöördprojekteerimiseks.)

Andmebaasi SampleDb jaoks ER-skeemi loomiseks paremklõpsake selle alamkausta Database Diagrams ja valige kontekstimenüüst Uus andmebaasi diagramm. Kui kuvatakse dialoogiboks, mis küsib, kas luua abiobjekte, valige Jah.

See avab dialoogiboksi Tabeli lisamine, mis võimaldab teil valida diagrammile lisatavaid tabeleid. Kui olete lisanud kõik vajalikud tabelid (antud juhul kõik neli), klõpsake nuppu Sule ja viisard loob diagrammi, mis sarnaneb alloleval pildil kujutatule:

Joonisel on näidatud ainult SampleDb andmebaasi vahepealne ER diagramm, mitte lõplik ER diagramm, sest kuigi see näitab kõiki nelja tabelit koos veergudega (ja neile vastavate primaarvõtmetega), ei näita see siiski tabelite vahelisi seoseid. Kahe tabeli vaheline seos põhineb esmane võtiüks tabelitest ja teise tabeli võimalik vastav veerg (või veerud).

SampleDb andmebaasis on tabelite vahel kolm seost. Osakonna tabelil on 1:N seos tabeliga Töötaja, kuna iga väärtus osakonna tabeli primaarvõtmes (veerg Number) vastab ühele või mitmele väärtusele tabeli Töötajate veerus Osakonnanumber (osakonnas võib olla mitu töötajat).

Samamoodi on seos tabelite Töötaja ja Tööde_koha vahel, kuna tabeli Works_on veerus EmpId on olemas ka ainult need väärtused, mis on tabeli Töötaja primaarvõtme veerus (Id). Kolmas seos eksisteerib tabelite Project ja Works_on vahel, kuna tabeli Works_on veerus ProjectNumber on ka ainult need väärtused, mis on tabeli Project primaarvõtmes (Number).

Nende kolme seose loomiseks tuleb ER-diagramm rekonstrueerida, määrates iga tabeli jaoks veerud, mis vastavad teiste tabelite võtmeveergudele. Seda veergu nimetatakse võõrvõti. Et näha, kuidas seda tehakse, defineerime tabeli Töötaja veeru Osakonnanumber kui väline võti Osakonna tabelid. Selleks tehke järgmised toimingud.


Ülejäänud kaks suhet luuakse sarnasel viisil. Alloleval joonisel on kujutatud ER diagramm, mis näitab kõiki kolme SampleDb andmebaasi tabelite vahelist seost:

« "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 veebis abi saamiseks, 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
    • Haldustööriistad – täielik

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» tuleks käivitada originaalfail Ssms.exe, mis asub selles kataloogis.

Ka Microsoftis 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>\<InstanceName> - SQL Serveri nimega eksemplari jaoks
  • <HüüdnimiNimi> - kui kasutatakse SQL Serverit

Windowsi autentimise puhul praegune konto Windows. Kui teil on vaja kasutada teise kasutaja mandaate, peate programmi käivitama. Kui kasutate SQL Serveri autentimist, peate sisestama olemasoleva SQL Serveri kasutaja kasutajanime ja parooli.

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

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 uuega tarkvara tööriist- SQL Serveri haldusstuudio. Mainimist väärivad ka kaks uut tööriista: SQL Server Configuration Manager ja Surface Area Configuration Tool. Enne kui vaatame SQL Server Management Studio funktsioone, vaatame kõiki neid tööriistu.

Konfiguratsioonihaldustööriistad

SQL Server 2005 installimisel kasutame kolme väikest uut tööriistad. 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 loodud komplekti moodustamiseks, mida kasutatakse nende liideste haldamiseks, mille kaudu on võimalik volitamata juurdepääs SQL Serverile. 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. See programm pääseb juurde Windowsi menüü Start või haldustööriistade menüü 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, võrguteekide ja SQL Native Clienti haldamiseks (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(cm. ekraan 2). Siin saate hallata ka toimiva SQL-brauseri teenuse olekut UDP port 1434 ja teisendab ühendused nimega objektideks.

Programm Surface Area Configuration for Features, näidatud joonisel ekraan 3, võimaldab hallata ühendusi, sealhulgas spetsiaalseid kaugtaotlused, CLR-i sätted, andmebaasiposti (SMTP) salvestatud protseduurid, spetsiaalse administraatori ühendused, veebiteenuste lõpp-punktid (SOAP), laiendatud salvestatud protseduuride OLE automatiseerimine, teenuse vahendaja lõpp-punktid, SQL Maili salvestatud protseduurid (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 terviklik tarkvaratööriist, mis sisaldab nii palju funktsioone, mida saate Täpsem kirjeldusü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 kestal 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 dokumendi vaikeaknas kokkuvõtte leht, mis sisaldab mõningaid registreeritud aruandlusandmeid SQL-serverid Server. 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). See näitab komponentide vaikekomplekti, kuid saate seda lisada lisades vajalikud komponendid valitud kohtadesse. 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 kolmanda 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 alla). mis asub iga komponendi akna paremas ülanurgas).

Paljudele teistele komponentakendele pääseb juurde menüü Vaade kaudu. Haldamise 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 peate lähtestama akna seaded nende vaikeolekusse, 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 ettevõttejuht tõhusalt kuvada suur hulk serverid, andmebaasid või andmebaasiobjektid. 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 lisandmoodul Microsofti haldus Konsool (MMC), mis ei põhjusta väga stabiilset tööd see rakendus ja esineb väga ebameeldivaid tõrkeid ja 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 uut SQL-i haldusobjektide (SMO) API-t, et võimaldada suure hulga andmebaasiobjektide tõhusat haldamist. 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 New Query, 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 tasub mainida, 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üsteemi alused andmed (master, mudel, msdb ja tempdb) kuuluvad süsteemi andmebaaside kategooriasse, kuigi uued treeningbaasid andmed, AdventureWorks ja AdventureWorksDW, on kohandatud. Ü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. Nendes dialoogibokse, mis on loodud töötama andmebaasiobjektidega, on nüüd sisseehitatud skriptimismehhanismiga, nii et kõiki siinseid 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 turvapuhverserverite 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, kuid väljundi graafiline esitus pole kaasaskantav. 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. KOOS kasutades haldust Studio saab redigeerida igat tüüpi SQL Serveri skripte, mitte ainult T-SQL-is kirjutatud, vaid ka XML-skripte. Päringute redigeerimisel ei ole vaja serveriga püsiühendust, nüüd saab seda teha offline režiimis või seansi ajal saab lülituda mõnele teisele serverile, millel 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 käsu Uus, saate luua kolme tüüpi päringuid: T-SQL päringu, Analysis Services MDX, DMS või XMLA päringu või SQL päring Server mobiil. 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 see oleks esmalt loodud ja seda õigel ajal loodud, või sama päringu täitmiseks teisele serverile lülitumata. See võimaldab kasutada SQL Server 2000 päringu redigeerimise praktikat skriptidest ja tekstifailid. 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, mida tavaliselt majutatakse standardis Windowsi kataloog, 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 skripte üheks suureks projektiks, mis on soovitav jagada mitmeks alamprojektiks, saab mitu projekti sisuka nimega ühte rakendusse koondada ja sellele vajaliku asukoha määrata. Sel juhul luuakse see kõigepealt uus projekt ja määrab seejärel 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 AdventureWorksi inimressursside 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, kus rakendus nimega soln_HR sisaldab mitut projekti, millest igaüks vastab teatud tüüpi personalikujunduse 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 paigutatakse projektikataloog rakenduste kataloogi ja kõik antud projekti failid salvestatakse sellesse kataloogi.

Võimalus korraldada faile projektidesse ja rakendustesse on vaid üks SQL Serveri uue skriptimistehnoloogia eelistest. 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 sobivaks valideerimiseks ja seejärel valideerida üksiku projekti või faili tasemel. Koodijuhtimise üleslaadimise funktsioonile juurdepääsemiseks paremklõpsake Solution Exploreri mis tahes sõlme. Koodi kinnitamise parameetreid saate konfigureerida dialoogiboksis Suvandid, mis avatakse menüüst Tööriistad Juhtimisprogrammid Stuudiokorter. Samas aknas (Tööriistad, Suvandid) saate lubada 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 sisenete programmeeritavasse andmebaasiobjekti (nt salvestatud protseduur, funktsioon või päästik), saate helistada T-SQL päringuredaktorile, valides käsu Uus või Muuda. Kui valitud on 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 eksisteerinud 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äitab 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 dialoogiboks Atribuudid Lisainformatsioon selle toimingu kohta.

Arvan, et paljudele inimestele meeldib Management Studio uus funktsioon, mis võimaldab teil muuta oma täitmisplaani graafiliselt kaasaskantavaks. Võite alustada otsene väljund XML-is, kasutades SET SHOWPLAN_XML ON. Kui päringu tulemused edastatakse konteinerisse, sisaldab saadud andmekogum viidet XML-dokument, mis sisaldab teavet täitmisplaani kohta. Kui klõpsate sellel lingil, saate XML Management Studio redaktoris vaadata täitmisplaani sisu.

Graafiliseks vaatamiseks XML-andmed saab eksportida kaasaskantavasse vormingusse. Saadud andmekogumis peate paremklõpsama XML-i 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 endiselt teave täitmisplaanist. Selle funktsiooni olemasolu võimaldab teil saata täitmisplaani kaudu e-mail kolleeg või tugiisik, kes saab seda vaadata, ilma et oleks vaja luua ühendust konkreetse andmebaasiga.

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 MCSD ja MCP sertifikaate SQL Serveris, juhib uudiskirja PASSnews ja on SQL Serveri MVP. Kirjutas Microsoft SQL Server 7.0 administraatori juhendi (Prima Publishing).