TIETOKANTOJEN HALLINTA IIO30200



Samankaltaiset tiedostot
Maiju Mykkänen Susanna Sällinen

SQL Server 2008 asennus

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI ( )

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Visma Liikkuvan työn ratkaisut

Testidatan generointi

Microsoft SQL Server -tietokannan hallinta. Jouni Huotari

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Käyttöoppaasi. F-SECURE PSB AND SERVER SECURITY

FuturaPlan. Järjestelmävaatimukset

Office ohjelmiston asennusohje

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

HELIA 1 (15) Outi Virkki Tiedonhallinta

SQL Buddy JAMK Labranet Wiki

Visma Nova. Visma Nova ASP käyttö ja ohjeet

Coolselector Asennusohje

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

TERADATAN JA SAS DI STUDION YHTEISELO CASE LÄHITAPIOLA

Office 2013 ja SQL Server 2012 SP1 uudet BI toiminnallisuudet Marko Somppi/Invenco Oy

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Power BI Tech Conference Power BI. #TechConfFI. Johdanto

Aditro Tikon ostolaskujen käsittely versio 6.2.0

Tikon Ostolaskujenkäsittely versio SP1

HELIA 1 (14) Outi Virkki Tiedonhallinta

IIO10200 Tietokantaohjelmointi (4 op)

CLOUDBACKUP TSM varmistusohjelmiston asennus

Uutta Remote Support Platform 3.1 -versiossa

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Novapoint Lisensiointi. Copyright 2006, ViaNova IT AS. All rights reserved 1

FYYSINEN SUUNNITTELU

Fyysinen suunnittelu

FYYSINEN SUUNNITTELU

Visual Case 2. Miika Kasnio (C9767)

Navistools Standard. Navistools

Tietovarastojen suunnittelu

Tekniset vaatimukset Tikon 6.4.1

Visma GATEWAY INSTALLER. asennusopas

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

ANVIA ONLINE BACKUP ASENNUSOPAS 1(7) ANVIA ONLINE BACKUP ASENNUSOPAS 1.0

TIETOVARASTOJEN SUUNNITTELU

Aditro Tikon ostolaskujen käsittely versio SP1

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Työasemien hallinta Microsoft System Center Configuration Manager Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Nexetic Shield Unlimited

Fakta versio Forecast versio

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

Visma Avendon asennusohje

Mitä uutta ConfigMgr 2012 SP2 ja 2016? Panu Saukko ProTrainIT Oy

Javan asennus ja ohjeita ongelmatilanteisiin

Hallintatyökaluja Fujitsu-työasemille

Ohje Hosted.fi SharePoint

1 Tivax Professional 4.5

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

Maventa Connector Käyttöohje

Järjestelmänvalvontaopas

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Uutta Remote Support Platform 3.0 -versiossa

ABLOY KEYAXXESS. Asennus- ja ylläpito-ohje. An ASSA ABLOY Group brand

erasmartcardkortinlukijaohjelmiston

MySQL Maestro. Aleksi Korpela IST4SO Markus Lamminaho IST4SO

SELVITYSRAPORTTI. Tietokantojen hallinta IIO Nikita Baranov Jermu Mäkinen. Raportti Huhtikuu Informaatioteknologian instituutti

TIETOKONE JA TIETOVERKOT TYÖVÄLINEENÄ

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus)

SQL Server 2005 Express Edition tietokannan asennusohje

Nexetic Shield Unlimited

Tikon Ostolaskujenkäsittely versio 6.2.0

Tietokantatyökalut DBArtisan

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2.

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Web Services tietokantaohjelmoinnin perusteet

Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät

lizengo Asennusopas Windows: in kopioiminen

Aditro Tikon ostolaskujen käsittely versio SP1

POP-UP -IKKUNOIDEN SALLIMINEN

Aditro Tikon versio SP1

Windows Vistan varmuuskopiointi

AutoFutur / KoneFutur verkkoversion palvelimen vaihtaminen. Ennen asennusta ja sen aikana huomioitavat asiat

3. Taulujen määrittely ja muuttaminen

Microsoft Dynamics CRM 4.0. Jani Liukkonen

Jouko Nielsen. Ubuntu Linux

Xerox Device Agent, XDA-Lite. Pika-asennusopas

Päivitysohje. Tikon Toukokuu (24) Tikon versio Päivitysohje Tikon tai uudemmasta versiosta

Tietohakemisto ja Transaktionkäsittely

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA

Opi kuvin: By Choice v.1.4 asennus Asennus järjestelmänvalvojan oikeuksin

Transkriptio:

TIETOKANTOJEN HALLINTA IIO30200 SQL SERVER 2005 SELVITYSRAPORTTI: ARKKITEHTUURI JA SERVICE PACK 2 UUDET OMINAISUUDET CREATIVE COMMONS -LISENSOITU Holm Timo c5253[at]jamk.fi Kilpeläinen Mika c9780[at]jamk.fi Työn tarkistanut (ja pienet virheet korjannut): Jouni Huotari 29.4.2008

SISÄLLYSLUETTELO 1 JOHDANTO...4 2 SQL SERVER 2005 ESITTELY...5 2.1 Yleistä... 5 2.2 SQL Serverin tuotteet... 6 2.3 Työkalut... 7 2.3.1 Työkaluvalikoima... 7 2.3.2 SQL Server Management Studio... 8 2.3.3 Configuration Manager... 9 2.3.4 Maintenance Plan Wizard... 11 3 ASENNUS...14 3.1 Laitteistovaatimukset...14 3.2 Ohjelmistovaatimukset...14 3.3 Asennusoperaatio...14 4 ARKKITEHTUURI...15 4.1 SQLOS...16 4.2 Tietokantamoottori...16 4.3 Protokollakerros...17 5 TIEDON TALLENNUS...17 5.1 SQL Server ja tiedon tallennus yleisesti...17 5.2 Järjestelmätaulut, metadata ja Information schema view...17 5.3 Sivut ja extend - lohkot...17 5.4 Tietotyypit...19 5.5 Tiedostot...19 6 TRANSAKTIONHALLINTA JA LUKITUKSET...19 6.1 Transaktionhallinta ja ACID-ominaisuudet relaatiojärjestelmissä...19 6.2 SQL Serverin transaktiohallinta...20 6.3 Lukitukset yleisesti...20 6.4 SQL Server ja lukitukset...21 7 T-SQL...21 8 SQL SERVER 2005 SP2...22 8.1 Service Pack 2 asennus...22 8.2 Service Pack 2 asennuksen poisto...23 8.3 Uudistuneet komponentit...23 8.3.1 Analyysipalvelut... 23 8.3.2 Tietokantamoottori... 24 8.3.3 Integrointipalvelut... 25 8.3.4 Replikointi... 25 SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 2 / 32 Copyright MK / TH

8.3.5 Raportointipalvelut... 26 8.3.6 Jaetut työvälineet... 27 9 LÄHDELUETTELO...31 SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 3 / 32 Copyright MK / TH

1 JOHDANTO Selvitysraportti tehtiin Tietokantojen hallinta -opintojaksolle keväällä 2008. Raportissa pyrittiin selvittämään SQL Server 2005 -tietokannan hallintajärjestelmän yleisrakenne tarkentaen erityisesti arkkitehtuuriin, taulurakenteisiin, transaktionhallintaan sekä Service Pack 2 -paketin uusiin ominaisuuksiin. Tekijätyöryhmänä toimi Timo Holm ja Mika Kilpeläinen. Molemmilla oli hiukan aiempaa kokemusta tietokannan hallintajärjestelmistä ja SQL Serveristä, joten työssä haluttiin lähestyä SQL Serveriä ja sen ominaisuuksia pintaa syvemmältä. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 4 / 32 Copyright MK / TH

2 SQL SERVER 2005 ESITTELY 2.1 Yleistä Microsoft SQL Server 2005 on Microsoftin valmistama tietokannan hallintajärjestelmä, joka pohjautuu Sybasen tietokantajärjestelmiin. SQL Serverin ensimmäinen Microsoftin julkaisema versio ilmestyi 1998. SQL Server 2005 on tällä hetkellä (kevät 2008) markkinoiden uusin käytössä oleva versio, tosin SQL Server 2008 on juuri ilmestynyt, mutta se ei ole vielä ehtinyt vakiinnuttaa asemaansa markkinoilla. Kuvio 1: SQL Server 2005 SQL Server 2005 integroituu yhteen uusien Visual Studio 2005 - ja BizTalk Server 2006 - tuotteiden, kuten myös Microsoftin liiketoimintasovellusten Axaptan, CRM:n ja Navisionin kanssa (Moonsoft 2008). Tästä saadaan suuri hyöty, jos toimitaan Microsoft sovellusympäristössä. SQL Server 2005:stä on olemassa versioita eri käyttäjätarpeisiin. Versiot on esitelty taulukossa 1. Taulukko 1: SQL Server 2005 versiointi (SQL Server 2005 Features Comparison, Microsoft 2008) Versio Käyttötarkoitus Lisätietoa Enterprise Tuotantokäyttöön tarkoitettu täysi versio Rajoittamaton CPU määrä. Sisältää kaikki työkalut Standard Workgroup Developer Keskikokoisille organisaatioille tarkoitettu versio, joka sisältää tarvittavat BI - työkalut liiketoimintaan ja tietovarastointiin. Pienyrityksille tarkoitettu versio, joka sisältää vain kantamoottorin, ei analyysipalveluja. Ohjelmistokehittäjille tarkoitettu versio, joka sisältää Enterprise version toiminnallisuudet. Helppo päivittää Standard- tai Enterprise versioihin. Lisensoitu vain kehityskäyttöön, ei tuotantoon Express ilmainen kevyempi versio ohjelmistokehittäjille. Management studio ladattava erikseen. Ei sisällä myöskään BI ja Analysis työkaluja. Max 4 Gb tietokantakoko. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 5 / 32 Copyright MK / TH

SQL Server on yksi markkinajohtajista tietokannoissa. Se on markkinoiden kasvavin tietokantaratkaisu ja sitä myydään enemmän kuin Oracle- ja IBM DB2 -tietokantoja yhteensä. SQL Server johtaa myös OLAP-ratkaisujen myyntiä sekä kustannus-tehokkuus-suhdelukuja. Sen tärkeimmät ominaisuudet ovat (SQL Server overview, Microsoft 2008): korkea saatavuus suorituskyky ja skaalautuvuus turvallisuus hallittavuus tehokkuus sovelluskehittäjän näkökulmasta business intelligence -ratkaisut 2.2 SQL Serverin tuotteet Valitettavan usein ajatellaan, että SQL Server 2005 on pelkkä tietokantamoottori. Se sisältää kuitenkin myös seuraavat tuotteet: Database Engine - tietokantamoottori Analysis Services analysointipalvelut Reporting Services - raportointipalvelut Integration Services - integrointipalvelut Notification Services - viestityspalvelut SQL Server Everywhere Edition (SQL Server Mobile Edition) kevytversio mobiililaitteisiin Erityisesti Analysis- ja Reporting Services -palveluilla on on suuri merkitys Business Intelligence -ratkaisuissa, joissa tuotetaan tietokannan datasta raportteja johdon päätöksenteon tueksi. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 6 / 32 Copyright MK / TH

2.3 Työkalut 2.3.1 Työkaluvalikoima SQL Server 2005 sisältää suuren valikoiman työkaluja eri käyttötarkoitukseen. Taulukossa 2 on kuvattu valikoima. Taulukko 2: SQL Server työkaluvalikoima Työkalun nimi Käyttötarkoitus Kuvaus Upgrade Advisor Asennus- ja päivitystyökalu Tutkii ja rapotoi koneen ennen asennusta. SQL Server Installation Wizard and Command Line Tool SQL Server Configuration Manager Surface Area Configuration Reporting Services Configuration Usage and Error Reporting Asennus- ja päivitystyökalu Konfigurointityökalu Konfigurointityökalu Konfigurointityökalu Konfigurointityökalu Graafinen wizard-asennus tai asennus komentoriviltä. Graafinen työkalu asiakkaan ja palvelimen asetuksen hallintaan. Graafinen työkalu Reportin Services -palvelun hallintaan. Report Manager Hallintatyökalu Raporttien hallinta. Management Studio Hallintatyökalu Keskitetty graafinen hallintatyökalu. OSQL Hallintatyökalu Komentorivipohjainen scriptien suoritustyökalu. SQLCMD Hallintatyökalu Komentorivipohjainen scriptien suoritustyökalu. BCP Kyselyeditori Komentorivipohjainen bulk- kopio työkalu. Activity Monitor in Management Studio Database Mirroring Monitor in Management Studio Valvonta- ja operaatiotyökalu Valvonta- ja operaatiotyökalu Graafinen valvontatyökalu DBMSjärjestelmän tapahtumista. Peilikopiovalvoja eli ylläpitää kahta instanssia (primääri ja peilattu kopio) tietokannasta. SQL Server Agent Valvonta- ja operaatiotyökalu Taustalla toimiva palvelu, joka suorittaa ajastettuja huoltotoimenpiteitä. SQL Server Replication Monitor Valvonta- ja operaatiotyökalu Kopiointipalvelun valvoja ja synkronisoija. Microsoft Operations Manager Valvonta- ja operaatiotyökalu Suurien järjestelmien valvontatyökalu. Database Diagram Designer Suunnittelutyökalu Graafinen työkalu relaatioiden ja yhteyksien suunnitteluun. Business Intelligence Development Studio Kehitystyökalu BI sovellusten ohjelmointiin tarkoiteuttu työkalu. Copy Database Wizard sijoitustyökalu (deploy) Tarkoitettu tietokannan kopiointiin. Analysis Services Deployment Wizard sijoitustyökalu (deploy) Sisältää tiedot kannan objekteista ja opastuksetn Analysis Servicen sijoittamiseen palvelimelle. SQL Server Profiler optimointityökalu Tapahtumienjäljittäjä suorituskyvyn parantamista varten. Database Engine Tuning Advisor Maintenance Plan Designer and Wizard in Management Studio optimointityökalu ylläpitotyökalu ylläpitotyökalu Analysointi- ja suosittelutyökalu suorituskyvyn parantamiseen. Ylläpitosuunnitelman ja työvuon luonti wizard työkalulla. SQL Mail ylläpitotyökalu Mahdollisuus lähettää SQL - kyselyn tuloksia sähköpostiin. Database Mail ylläpitotyökalu Mahdollisuus lähettää SQL kyselyn tuloksia sähköpostiin SMTP protokollalla. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 7 / 32 Copyright MK / TH

2.3.2 SQL Server Management Studio Management studio on graafinen työkalu SQL Serverin hallintaan. Sillä voidaan luoda mm. taulut, taulujen yhteydet sekä käyttäjät ja oikeudet. Se ei sisälly Express- version pakettiin, vaan täytyy hakea Microsoftin sivuilta erikseen. Muihin versioihin Management Studio sisältyy vakiona. Management sisältää mm. seuraavat työkalut Database diagram Query analyzer Database diagram työkalulla voidaan luoda yhteydet taulujen välillä sekä tarkastella tauluja ja niiden tietotyyppejä eri näkymistä. Kuvio 2: Database Diagram SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 8 / 32 Copyright MK / TH

Kuvio 3: Management Studio 2.3.3 Configuration Manager Configuration manager on työkalu, jolla voidaan hallita tietokantapalvelimen perusasetuksia. Configuration managerista löytyy kolme osiota: 1. SQL Server Services Tämä osio sisältää tiedon palveluista, joita ajetaan SQL Server tietokantapalvelimella. Näitä voivat olla esim. indeksoijapalvelu msftesql, analysointipalvelu Analysis Services, ylläpidon automatisoijapalvelu SQL Agent, tietokantamoottori SQL Server SQL Server ja tietoliikennepyyntöjä kuunteleva SQL Browser. 2. SQL Server Network Configuration Network configuration osiosta voidaan asettaa tilanteeseen sopivat tietokantaliikenneprotokollat, jotta asiakas voi ottaa yhteyden tietokantainstanssiin. Vaihtoehtoja ovat Shared memory (jaettu muisti), Named Piped (nimetyt putket), TCP/IP ja VIA. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 9 / 32 Copyright MK / TH

3. SQL Native Client Configuration Tässä osiossa voidaan konfiguroida tietoliikenneprototollia asiakaskohtaisesti. Mikäli tarvetta on monille SQL Server profiileille esim. palomuurien porttierojen vuoksi, voidaan luoda myös aliaksia (alias). Kuvio 4: Configuration Manager SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 10 / 32 Copyright MK / TH

2.3.4 Maintenance Plan Wizard Maintance Plan Wizard on ohjattu toiminto, jolla voi suunnitella ja luoda automatisoidun tietokannan hallinnan. Kuviossa 5 on ohjatun toiminnan alkusivu. Tästä valikosta klikkaillaan eteenpäin next-painikkeella ja valitaan kuvioiden 5-6 mukaisesti automatisoitavat tehtävät, niiden konfiguroinnit ja aikataulukset. Wizard-toiminnolla voidaan automatisoida mm. varmuuskopiointi eheyden tarkistus indeksien järjestely ja uudelleen rakennus Kuvio 5: Maintance Plan Wizard SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 11 / 32 Copyright MK / TH

Kuvio 6: Tehtävien valinta Kuvio 7: Tehtävien aikataulutus SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 12 / 32 Copyright MK / TH

SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 13 / 32 Copyright MK / TH

3 ASENNUS 3.1 Laitteistovaatimukset Laitteistovaatimukset vaihtelevat hiukan version suhteen, mutta seuraavat ovat yleiset vaatimukset SQL Server 2005 -tuotteelle: 1 Ghz prosesori 1 Ghz RAM-muistia 3.2 Ohjelmistovaatimukset Microsoft.NET Framework 2.0 Internet selain IIS ASP.NET 2.0 3.3 Asennusoperaatio SQL Server 2005:n asennus on helppo, wizard- avustajan kanssa tehtävä operaatio. Asennuksen aikana käyttäjää pyydetään tekemään muutama valinta: asennettavat komponentit tietokantainstanssin nimi autentikointitapa Kuvio 8: Asennuksen aloitus Asennuksen tulisi sujua ilman ongelmia oletusasetuksilla. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 14 / 32 Copyright MK / TH

4 ARKKITEHTUURI SQL Server voidaa jakaa pääkomponenttiensa ja palveluidensa osalta kolmeen eri osaan: SQLOS relaatiokantakerros (ydin) eli tietokantamoottori protokollakerros Kuviossa 9 on esitetty näistä kolmesta kokonaisosasta koostuva arkkitehtuuri. Ylimmällä tasolla toimii kommunikoiva protokollakerros, sen alla mm. kyselyt, transaktiot suorittava relaatiokantakerros ja alimpana SQLOS, joka suorittaa tarvittavia järjestelmätason toimintoja. Kuvio 9: SQL Server 2005 arkkitehtuuri (Wikipedia 2008) SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 15 / 32 Copyright MK / TH

4.1 SQLOS SQLOS on SQL Serverin peruskomponentti, joka toteuttaa tärkeät järjestelmätason toiminnot. Näistä toimintoja ovat: säikeiden ajoitus muistinhallinta I/O-hallinta puskurimuistialtaan hallinta resurssienhallinta lukitukset lukkiumien (deadlock) havainnointi SQL Server ei käytä käyttöjärjestelmän säikeiden- ja muistinhallintajärjestelmää, vaan pitää yllä omaa säikeiden- ja muistinhallintajärjestelmää. 4.2 Tietokantamoottori Tietokantamoottori toteuttaa kaikki datan relaationaaliseen tallentamiseen liittyvät toiminnot. Tietokantamoottori määrittää mm. tietotyypit ja tietokantaobjektit (taulut, indeksit, lokit). Moottorin sisältämä Storage Engine on komponentti, jonka määrittää tavat varastoida dataa kiintolevylle sekä toteuttaa hakutavat. Storage Engine toteuttaa myös lokipohjaista transaktionhallintaa. Toinen tietokantamoottorin sisältämä komponentti on Query processor eli kyselyprosessori, joka palauttaa SQL-kyselyiden tulokset. Kun kysely lähetetään kyselyprosesorille, se muutetaan sarjoiksi operaatioita, jotka ajoitetaan SQLOS-komponentin toimesta säikeisiin. (Delaney 2005) SQL - käsky Operaatio Query Processor Operaatio Operaatio SQLOS Säie Säie Säie Kuvio 10: SQL Käskyn prosessointikaavio SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 16 / 32 Copyright MK / TH

4.3 Protokollakerros Protokollakerros sisältää toiminnot ulkoia yhteyksiä varten. Kaikki toimintojen tiedot kulkevat Microsoftin määrittelemässä formaatissa nimeltä Tabular Data Stream (TDS). DTS-paketteja voi kuljettaa yleisimmillöä kuljetusprotokollilla, kuten TCP/IP, Named Pipes ja Shared Memory. SQL Serveriin saa siis yhteyden edellämainituilla protokollilla. 5 TIEDON TALLENNUS 5.1 SQL Server ja tiedon tallennus yleisesti Kuten muutkin DBMS-järjestelmät, myös SQL Server 2005 tallettaa tiedot fyysisesti kovalevylle tietokantatiedostoihin ja loogisesti tauluihin relaatiomallin mukaisesti. Alemmalla tasolla tiedon talletusyksikkönä SQL Server käyttää sivua (page). Kaikki tietokannan sisältämä data talletaan juoksevasti sivuihin, joita voi olla n kappaletta. (Gunderloy 2006.) 5.2 Järjestelmätaulut, metadata ja Information schema view Metadata tarkoittaa tietoa tiedosta. Tietokantajärjestelmän tapauksessa se tarkoittaa mm. taulujen nimiä, käyttäjänimiä ja sarakkeiden pituuksia sekä kaikkia muita tietokantaobjekteja. Metadata on erittäin tärkeää DBA-työssä ja SQL Server tarjoaa myös työkaluja sen käyttöön. Management Studiossa näkyvät järjestelmätaulut (System tables) ovat tauluja, joihin SQL Server tallentaa kaiken metadatan. Järjestelmätauluja on lähes 200 kappaletta. Information schema view on puolestaan näkymätyökalu järjestelmätauluihin. Tällä helpotetaan tarvittavan tiedon löytämistä järjestelmätauluista, kun tärkeimmät taulut on otettu näkymiin. (Gunderloy 2006.) 5.3 Sivut ja extend - lohkot SQL Serverin tiedontalletusyksikön, sivun, koko on 8 kb ja sillä on myös 96 bittinen metadatalohko, joka kertoo sivun numeron, sivun vapaan tilan sekä sivulla olevan objektin ID-tunnuksen. SQL Server sisältää erilaisia sivutyyppejä erilaisen datan tallennukseen. Kuviossa 11 on kuvattu yksittäinen tietokantasivu. (Gunderloy 2006.) SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 17 / 32 Copyright MK / TH

Kuvio 11: SQL Server sivu (page) Kahdeksasta yhdenmukaisesti jatkuvasta sivusta muodostuu extend-tietolohko, jota käytetään defragmentointiin, eli estämään tietojen pilkkoontumista. SQL Server siis varaa yhteneisen tilan yhdelle extend-tietolohkolle, joka sisältää monta tietokantasivua. Tämä myös helpottaa tiedon löytämistä, sillä tietokantasivut sijaitsevat fyysisesti vierekkäin. Extend-tietolohkojen periaate on esitetty kuviossa 12. SQL Server käyttää kahta erilaista extend-tietolohkoa (Gunderloy 2006): yksittäiset extend-tietolohkot, jotka sisältävät vain yhden objektin (taulun) tietoja. sekoitetut extend-tietolohkot, jotka sisältävät monen objektin (taulun) tietoja Kuvio 12: Taulu muodostaa Extend-tietolohkon, joka koostuu 8:sta sivusta SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 18 / 32 Copyright MK / TH

5.4 Tietotyypit SQL Server sisältää monipuolisesti erilaisia tietotyyppejä ja siinä on myös mahdollisuus luoda omia tietotyyppjeä, jotka talletaan objekteina. Omia tietotyyppejä kutsutaan koosteisiksi tyypeiksi (userdefined composite types, UDT). Taulukko 3: SQL Server 2005 tietotyyppejä (Hovi 2004) Tietotyypi INT FLOAT DECIMAL CHAR[pituus] varchar(x) TEXT MONEY, SMALLINT SMALLINT Kuvaus -2^32 2^31-1 kokonaisluku, vie neljä tavua liukuluku TINYINT 0-255 BIGINT DATETIME, SMALL- DATETIME kiinteän tarkkuuden numero kiinteän pituinen merkkijono vaihtuvan pituinen merkijono max 2^32-1 merkkiä rahan talletukseen kokonaisluku, vie kaksi tavua -2^63.2^63-1 päivämäärä ja aika 5.5 Tiedostot SQL Server käyttää kolmea eri tiedostoa tietokannan tietojen talletukseen. 1. Primary Data Files -.MDF Primaarit datatiedostot, Primary data files, ovat ensimmäisiä tiedostoja, jotka luodaan tietokannan luonnin yhteydessä. Ne sisältävät taulut, näkymät ja muut objektit. Ne nimetään.mdftiedostopäätteellä. 2. Secondary Data Files -.NDF Kun tulee etee tilanne, jolloin alun perin tietokannan hallintajärjestelmälle määritetty tietokannan koko ei riitä, tarvitaa lisää tilaa. Tällöin luodaan toinen tietokantatiedosto, secondary Data File, joka nimetään.ndf-tiedostopäätteellä. Nämä ryhmitellään loogisesti tiedostoryhmiin. Suurien tietokantojen tapauksessa tietokanta voidaan hajauttaa monelle eri kiintolevylle ja niitä voidaan käsitellä silti yhtenäisenä kokonaisuutena. 3. Transaction log files.ldf Transaktioloki tallennetaa.ldf-tiedostoihin. Transaktiolokitiedostot eivät sisällä mitään mitään tietokantaobjekteja. 6 TRANSAKTIONHALLINTA JA LUKITUKSET 6.1 Transaktionhallinta ja ACID-ominaisuudet relaatiojärjestelmissä ACID-ominaisuus on sääntö, jota kaikkien ihanteellisten tietokantaohjelmistojen tulisi noudattaa. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 19 / 32 Copyright MK / TH

ACID tulee sanoista: Atomisuus (Atomicity) Kaikki tai ei mitään. Jokainen operaatio pitää suorittaa tai sitten ei mitään niistä suoriteta. (Transaktiot joita ei pystytä viemään loppuun täytyy peruuttaa kokonaisuudessaan.) Oikeellisuus (Consistency) Jokaisen transaktion jäljiltä tietokannan tulee olla oikeellisessa tilassa. Eristys (Isolation) Transaktiot eivät saa vaikuttaa toisiinsa ja keskeneräinen suoritus ei saa näkyä muille transaktioille. Kestävyys (Durability) Onnistuneiden transaktioiden pitää säilyä mahdollisen kaatumisenkin jälkeen. 6.2 SQL Serverin transaktiohallinta Transaktioidenhallinnassa SQL Server käyttää niin sanottua Write-Ahead-lokia. Jos käyttäjä haluaa muokata taulun dataa, SQL Server kopioi taulun tiedot muistiin ja antaa käyttäjän tehdä muutokset muistissa olevaan dataan. Noin viiden minuutin välein SQL Server kirjoittaa muistissa olevat muutokset transaktiologiin. Tämän jälkeen SQL Server tekee muutokset kantaan login mukaisesti. Tällainen muistiin tehtävä kirjoittaminen nopeuttaa tietokannan käsittelyä huomattavasti. Kuviossa 13 on havainnollistettu SQL Serverin transaktionhallinnan periaate. Kuvio 13: Transaktionhallinta Jokainen lokimerkintä on merkitty lokisekvenssinumerolla (Log Sequence Number LSN), joka varmistaa sen, ettei toinen transaktio yliaja toista. SQL Server varmistaa, että loki kirjoitetaan levylle ennen tietokantasivun kirjoittamista. Tämä varmistaa tiedon eheyden. 6.3 Lukitukset yleisesti Lukitus on mekanismi, jota käytetään tietokannan hallintajärjestelmissä monen käyttäjän yhtäaikaiseen tiedon käsittelyyn. Lukitus estää tiedon korruptoitumisen. Lukko lukitsee määritetyn tiedonpalan ja estää muita käyttämästä sitä. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 20 / 32 Copyright MK / TH

6.4 SQL Server ja lukitukset SQL Server mahdollistaa monen yhtäaikaisen käyttäjän käyttää samaa tietokantaa rinnakkaisesti. Tähän se käyttää erilaisia lukitustyyppejä: Shared lock (S), ns. lukulukko Update lock (U), ns. päivityslukko. U lukko päivitetään X lukkoon juuri kun tietokantadatan muutos tehdään. Vain yksi transaktio voi kerrallaan pitää yllä U lukkoa. Tämä vähentää lukkiumia (Deadlocks) Exclusive lock (X). Tämä on vahvin lukko, sillä X lukon ollessa lukittuna, mikään muu transaktio ei voi käyttää resurssia. Bulk update (BU). Tätä käytetään bulk kopioinnin yhteydessä. Key Range. Tällä lukitaan tietty määrä rivejä serializable eristyvyystason kyselyn yhteydessä. Se varmistaa, etteivät muut transaktiot voi lisätä rivejä kyseiselle rivialueelle. Perusperiaate SQL Serverin lukituksissa on: Jos resurssi lukitaan X-lukolla, mitään muuta lukitusta ei voida suorittaa jos resurssi lukitaan U-lukolla, S-lukko voidaan suorittaa resurssiin Jos resurssi lukitaan S-lukolla, S- tai U-lukko voidaan suorittaa resurssiin SQL Server valvoo jatkuvasti lukituksia asettaakseen resurssit tasapainoon. Esimerkiksi jos suuri määrä lukkoja haluaa lukita pienikokoisen resurssin yhdessä transaktiossa, SQL Server saattaa muuttaa nämä lukot määrältään pienemmiksi, mutta vaikutukseltakaan suuremmiksi, jotta tasapaino säilyy. Lukitustapa SQL Serverillä on dynaaminen. Tämän ansiosta sovelluskehittäjän ei tarvitse huolehtia lukituksien ohjelmoinnista eikä DBA-henkilöiden valvoa lukituksia. SQL Server siis kehittää lukitukset osana kyselysuunnitelmaa (Execution Plan) sisältäen lukitystyypin (mode) ja laajuuden (granularity). Lukkiumat (deadlocks) SQL Server hoitaa automaattisesti. Se tutkii kaikki prosessit jaksoittain. Jos yksi prosessi odottaa kahden onnistuneen haun aikana, SQL Server alkaa etsiä tarkempaa tietoa tapahtumaketjusta. Jos lukkiuma löytyy, SQL Server poistaa sen tutkimalla kumpi olisi halvempi uhritransaktio ja sen jälkeen automaattisesti antaa ROLLBACK-käskyn uhritransaktiolle sekä palauttaa virheilmoituksen error 1205. Transaktion voi myös halutessaan konfiguroida valmiiksi uhriksi asettamalla SET DEADLOCK_PRIORITY LOW -käskyn transaktion alkuun. (Gunderloy 2006.) 7 T-SQL Transact-SQL (T-SQL) on Microsoftin SQL Serverissä käytettävä kieli tietokantaohjelmointiin. Kaikki SQL Serverin kanssa kommunikoivat ohjelmistot käyttävät T-SQL-komentoja. T-SQL sisältää mm. tyypilliset kontrolli- ja silmukkarakenteet. Ohjelmakoodi kirjoitetaan tyypillisesti tallennettuihin proseduureihin tai herättimiin (triggers). SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 21 / 32 Copyright MK / TH

8 SQL SERVER 2005 SP2 Helmikuussa 2007 julkaistun SQL Server 2005 Service Pack 2:n tärkeimmät uudistukset ovat tuet MS Vista käyttöjärjestelmään sekä 2007 MS Office Systemiin. Näiden lisäksi mukaan kuuluu myös päivitykset usealle muulle SQL Server 2005 komponenteille, joista enemmän kappaleessa 8.3. Service Pack 2 uudelleen julkaistiin maaliskuussa 2007 ylläpitosuunnitelmien virheen takia. ks. kappale 8.3.6 8.1 Service Pack 2 asennus Service Pack 2:n voi ladata Microsoftin sivuilta osoitteesta http://www.microsoft.com/sql/sp2.mspx. Lataus ja asennus vaativat, että koneessa on vähintään 1.9 GB vapaata levytilaa. Taulukossa 4 on kuvattu levytilavaatimukset eri komponenttien osalta Taulukko 4: Komponenttien levytilavaatimukset Vaadittu levytila MB Kohde 50 SQL Server 2005 asennuskansio 1000 Järjestelmäasema 600 Väliaikainen kansio 250 Latauspaikka Asennuksen jälkeen voi poistaa 250 MB:n asennuspaketin koneelta. Pysyvä levytilankäyttö on SQL Server 2005 Service Pack 2 asennuksen jälkeen noin 1 GB. Kuvio 14: SP2 asennus SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 22 / 32 Copyright MK / TH

8.2 Service Pack 2 asennuksen poisto Service Pack 2:ta ei voi asentaa pois ilman koko SQL Server 2005:n poistamista. Poisto onnistuu ohjauspaneelin lisää-poista sovelluksista, jonka jälkeen SQL Server 2005 täytyy asentaa uudelleen ilman Service Pack 2:ta. 8.3 Uudistuneet komponentit Service Pack 2 tuo mukanaan uudistuksia seuraaviin SQL Server 2005:n palveluihin ja komponentteihin: Analyysipalvelut (engl. Analysis Services) Tietokantamoottori (engl. Database Engine) Integrointipalvelut (engl. Integration Services) Replikointi (engl. Replication) Raportointipalvelut (engl. Reporting Services) Jaetut työvälineet (engl. Shared Tools) 8.3.1 Analyysipalvelut SQL Server 2005 Analysis Services (SSAS) on yrityksen ja organisaation tietojen analysointityökalu. Analyysipalvelin huolehtii OLAPin (Online Analytical Processing) ja tietojen louhinnan (Data Mining) toteuttamisesta tehokkaasti ja monipuoliset ohjelmarajapinnat mahdollistavat erilaisten raportointityökalujen käytön. SSAS-projektit rakennetaan Visual Studiolla. Kuvio 15: OLAP:n toiminnot Service Pack 2 mahdollistaa tietojen louhinnan käytön suoraan Office 2007:n Exceliin sekä Visioon. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 23 / 32 Copyright MK / TH

Kuvio 16: Excel 2007 Service Pack 2 parantaa analyysipalveluiden suorituskykyä prosessointiparannuksilla ulottuvuusprosessointivälimuistin läpi. Taulukko 5 kuvaa prosessointiaikoja (4 GB RAM, neliprosessoripalvelimella, mikä prosessoi 32 osiota). Analyysipalvelut sekä SQL Server -tietokanta ovat samalla palvelimella. Taulukko 5: Suorituskyvyn parannus SP1:een verrattuna Service Pack Prosessointi aika (hh:mm:ss.sss) SP1 00:13:28.020 SP2 00:12:29.966 8.3.2 Tietokantamoottori Ylläpitosuunnitelmat ovat Service Pack 2:ssa tuettuja SQL Server tietokantapalvelujen asennuksessa alkaen. Aikaisemmin ylläpitosuunnitelmia varten täytyi asentaa SQL Server 2005 Integration Services (SSIS). Ylläpitosuunnitelmat tukevat myös useamman palvelimen ympäristöjä, kirjautumista ulkoisiin palvelimiin sekä useita ajoituksia. Service Pack 2 tuo lisäksi uuden tiedon tallennusmuodon: vardecimal, johon voidaan tallentaa niin desimaalista kuin numeerista tietoa muuttuja sarakepituudella. Jos on esimerkiksi määrittänyt desimaali tai numeerisen sarakkeen suurella tarkkuudella, mutta ei loppupeleissä tarvitsekaan suurta tarkkuutta niin näin pystytään säästämään hieman taulun levytilantarpeessa. Tätä varten on tehty uusi tallennetu proseduuri (sp_db_vardecimal_storage_format), mikä arvioi pienennystä keskiarvoisessa rivin koossa uudella tietotyypillä. -- otetaan vardecimal tallennusmuoto käyttöön tietokannalle EXEC sp_db_vardecimal_storage_format '<dbname>', 'ON SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 24 / 32 Copyright MK / TH

-- lisätään taululle vardecimal tallennusmuoto sp_tableoption '<table-name>', 'vardecimal storage format', 1 8.3.3 Integrointipalvelut Integrointipalvelut on joukko ominaisuuksia, ohjelmia, komponentteja ja palveluita käärittynä yhdeksi tehokkaaksi ohjelmistosovellus-sarjaksi. Se on Microsoftin uusin Business Intelligence ratkaisuista tarjoten ominaisuuksia yritysten tiedon poimintaan, muokkaukseen ja lataukseen (ETL). Kuvio 17: ETL Service Pack 2 tuo ETL ominaisuuksiin parannuksen tiedon haun poimintaan, käyttämällä ajastimen aktivoimaa funktiota raportoimaan rivien määrää jotka ovat välimuistissa. Aikaisemmin funktio ei aina raportoinut välimuistirivien viimeisintä lukumäärää. Service Pack 2:ssa haku muokkaus mahdollistaa uudenlaisen informaatioviestin, mikä raportoi viimeisen välimuistin rivien lukumäärän, jotka ovat tallennettu välimuistitilassa. Viesti on nähtävissä Progress ikkunassa. 8.3.4 Replikointi Replikointi on joukko teknologioita tiedon kopiointiin ja jakamiseen yhdestä tietokannasta toiseen ja samalla synkronisoimaan tämän tiedon. Replikointi käyttää SQL Serverissä julkaise ja tilaa käytäntöä tiedon synkronoinnin yhteydessä, missä tietolähteet määritetään julkaisuiksi (engl. subscriptions) replikointia varten joita tietokantapalvelimet voivat sitten tilata tilauksina (engl. publications). Replikointi on ollut osa SQL Serveriä jo versiosta 6.5 lähtien, mutta 2005 versio tuo mukanaan uudenlaisen tehon, suorituskyvyn ja helppouden käytettävyydessä. Enterprise versiossa voi Service Pack 2:n avulla alustaa tilaukset vedoksiksi ja julkaisuiksi käyttämällä tietokantavedosta (engl. database snapshot). Tietokantavedos on staattinen Read-Only näkymä tietokantaan, minkä avulla tietojen muutos estetään replikaation yhteydessä. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 25 / 32 Copyright MK / TH

8.3.5 Raportointipalvelut Raportointipalvelun avulla voidaan jakaa Business Intelligence (BI) tietoja. Sen tärkein tehtävä on koota erityyppisiä raportteja erityyppisistä tietolähteistä ja julkaista näitä verkon välityksellä, jopa maailmanlaajuisesti. Service Pack 2 on suunniteltu mahdollistamaan raportointipalvelun tuet Windows Vista:n ja Office 2007:n kanssa. Raportointi palvelimen voi myös integroida Windows SharePoint Services 3.0:aan tai Microsoft Office 2007 SharePoint Serveriin. Lisäksi mukana on tuet ulkoisiin tietolähteisiin, kuten Oracleen ja Hyperioniin sekä raporttien välittämiseen Microsoft Office SharePoint Server 2007 integroinnin avulla. Kuvio 18: Raportointipalvelimen asetukset SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 26 / 32 Copyright MK / TH

Kuvio 19: Raportointipalvelut Sharepoint Serverissä 8.3.6 Jaetut työvälineet Ylläpitosuunnitelmat (engl. maintenance plans) Ylläpitosuunnitelmat varmistavat sen että tietokanta on optimoitu, säännöllisesti varmuuskopioitu ja toimii ristiriidattomasti. Service Pack 2 sisältää parannuksen ylläpitosuunnitelmiin, minkä avulla käyttäjät voivat määrittää puhdistusaikavälin tunneissa, mikä poistaa jäljelle jääneet tiedostot ylläpitosuunnitelman suorituksesta. Aikasemmin puhdistusaikavälin minimiajan pystyi määrittämään viikoissa. SQL Server Management Studio Express SQL Server Management Studio Express (SSMSE) on ilmainen ja helppokäyttöinen graafinen hallinnointityökalu SQL Server 2005 Expressiin johon Service Pack 2 mahdollistaa käyttäjien hallinnan SQL Server Compact version tietokantoihin sekä Management Studion raporttien ajamisen SQL Server 2005 Express versiossa. Management Studio -raportit Management Studiossa on valmiina joukko standardeja raportteja mm virheistä ja palvelimen tiedoista. Service Pack 2 tuo raportteihin lisäominaisuuden, jonka avulla käyttäjät voivat integroida omia hallinnointiraportteja Management Studioon. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 27 / 32 Copyright MK / TH

Service Pack 2:ssa levytilan käyttöraportti on jaettu viiteen erilliseen raporttiin parantamaan raporttien suorituskykyä. Aikaisemmin raportti oli yhdessä raportissa, mistä aiheutui pitkät viiveajat suurilla tietokannoilla. Uusi levytilankäyttöraportti näyttää ainoastaan ylimmän tason näkymän tietokannan tiedoista ja loki-tiedostoista. Tietokannan levytilankäyttöraportti ei suosittele enää kaikkien indeksien uudelleenjärjestämistä ja perustuu nyt sys.dm_index_usage_stats suositukseen. Skriptaus Skriptin generoinnissa voi Service Pack 2:n avulla määrittää kuinka objektit skriptataan Object Explorerin Script Dialog Boxin avulla. Tämän avulla voidaan skriptin generointi-velholle määrittämään oletusarvoja sekä DROP käskyt ennen CREATE käskyjä. Myös objektien skriptaus erillisiin tiedostoihin on nyt mahdollista. Service Pack 2 tuo lisäksi lisäominaisuuden Management Studioon, minkä avulla skripteistä voidaan tehdä SQL Server 2000 yhteensopivia. Kuvio 20: Scriptin generointi Database Mail Database Mail on työväline, millä sähköposteja voidaan lähettää SQL Serveristä. Sen avulla tietokantaohjelmat voivat lähettää sähköpostilla mm. hakutuloksia ja tiedostoja käyttäjille. Database Mail käyttää Simple Mail Transfer Protokollaa (SMTP) sähköpostien lähettämisessä ja sen voi ottaa käyttöön Surface Area Configurationista. SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 28 / 32 Copyright MK / TH

Kuvio 21: Database Mail Asiakkaiden sekä SQL Server asiakastuen aikaisemmat vaikeudet Database Mailin virheellisten konfiguraatioiden nopeassa korjaamisessa on otettu huomioon Service Pack 2:ssa ja ratkaisuksi on tuotu DatabaseMail90.exe:lle lähetettävien parametrien muokkauksen. Kuvio 22: Database Mail SQL Server SP2 Kilpeläinen_Mika Holm_Timo.doc Sivu 29 / 32 Copyright MK / TH