Skip to main content

Tietokanta

Go Search
ITpro.fi
Asiantuntijaryhmät
IT-Wikistö
Keskustelut
Materiaalit
Jäsenyys
Jäsenyhteisöt
Hakusivu
ITpro ry
TechNet 110 videotallenteet
  

 Ryhmän

  Kuvaus
  Keskustelut
  IT-Wikit
  Dokumentit
  Linkit
  Jäsenet
  Kuvat
  Ryhmätyötila
ITpro.fi > Asiantuntijaryhmät > Tietokanta

 Tietokantojen asiantuntijaryhmä

Tietokantaryhmä

Tietokantaryhmän logo

Ryhmän aktiivisimmat:

  • Joni Moilanen (vetäjä)
  • Jouko Korpelainen
  • Jukka Katajisto

Haluatko liittyä ryhmään?
Ota yhteys Joniin!

SQL Server 2005 SP4 ja SQL Server 2008 SP2 tarvitaanko?
SQL Server 2005 SP3:n julkaisusta 15.12.2008 on jo yli vuosi. Uutta service packiä 2005:lle ei välttämättä ole enää tiedossa. Microsoftin mukaan SP2:n piti jo alunperin olla viimeinen service pack päivitys mutta kuten jo aikaisemmin kirjoittelin ilmeisesti asiakaspalautteen takia saimme SP3:n.
 
Samankaltainen tilanne on myös SQL Server 2008 SP1:llä. Service Pack sinänsä on melko tuore (julkaistu 27.8.2009) mutta koska uusi SQL Server 2008 R2 on tulossa virallisesti jo toukokuussa 2010 kuten voimme lukea virallisesta Data Platform Insider blogista (Official news for Microsoft's Data Platform) niin myöskään SQL Server 2008:lle ei ehkä ole tulossa uutta SP:tä.
 
Jos haluat vaikuttaa julkaistaanko uusia SP:ä niin on olemassa kaksi äänestystä: SQL Server 2005 Service Pack 4 ja SQL Server 2008 Service Pack 2. Uusi Service Pack on yleensä hyvä asia mutta varjopuolena tulee muistaa, että se aiheuttaa myös tuen loppumisen edelliselle SP:lle (support ends either 12 or 24 months after the next service pack releases or at the end of the product's support lifecycle, whichever comes first). Esimerkiksi SQL Server 2005 SP2:n tuki päättyi 12.1.2010 ja SQL Server 2008 RTM tuki päättyy 13.4.2010.
 

Lisäys 18.2. Microsoft julkaisi aikataulut uusille SQL Serverin SP:lle Microsoft SQL Server Release Services blogissa.

SQL Server 2008 SP2 Q3 2010 ja SQL Server 2005 SP4 Q4 2010.  

 

Varmistusten pakkaus tulee Standard versioon SQL Server 2008 R2:ssa
Tämä on oikeasti hyvä uutinen. Mielestäni SQL Server 2008:n paras uusi ominaisuus ylläpitäjän näkökulmasta eli varmistusten pakkaus, joka on harmittavasti mukana vain Enterprise versiossa tulee nyt uutena ominaisuutena mukaan myös SQL Server 2008 R2 Standard versioon. Asia paljastuu R2:n versioiden uusien ominaisuuksien listasta, joka on luettavissa: What’s New in SQL Server 2008 R2 Editions. Niin tämähän ei ole oikeastaan uusi ominaisuus - uutta on ainostaan se, että se tulee nyt mukaan uutena ominaisuutena Standard versioon.
 
Jos ominaisuus ei ole tuttu niin muutamia hyviä blogi kirjoituksia löytyy mm. Testing backup compression in SQL Server 2008 ja Tuning the Performance of Backup Compression in SQL Server 2008 ja monta muuta. Ensimmäisessä kirjoituksessa eduiksi on havaittu mm.
 
1) Varmistukset nopeutuvat pakkausta käytettäessä
2) Palautukset ovat huomattavasti nopeampia pakatulta varmistukselta
3) Migraatiot käyttäen pakattuja varmistuksia ovat nopempia koska siirrettävän datan määrä on pienempi.
 
Tähän täytyy myös todeta, että jo aikaisemmin Standard (ja muilla) versioilla on ollut mahdollisuus palauttaa Enterprise versiolla tehty pakattu varmistus. Lähde Backup Compression.
 
Nyt jäämme siis odottamaan milloin saadaan myös TDE (Transparent Data Encryption) Standard versioon.
SQL Server User Group Finland aloitti toimintansa

Tänään SQL Server UG Finland aloitti toimintansa seminaarilla Hanasaaressa.

Puhujaksi paikalle oli saatu erinomainen asiantuntija, Ramesh Meyyappan, joka tuntee SQL Serverin kyselyoptimoijan perusteellisesti.

Aamupäivällä käytiin lävitse SQL Server 2008:n uusia piirteitä, kuten kompressoinnin ja kryptauksen vaikutusta CPU ja IO –aikoihin.

Iltapäivällä palattiin vähän perusteisiin kyselyiden yleisestä optiminoinnista, indeksien huomioinnista ja siitä, miten pienilläkin muutoksilla saadaan suuria parannuksia saantipolkuihin, noudettujen datasivujen määrään ja cpu-aikaan.

Lisäksi käsiteltiin vielä 2008:n Resource Governoria ja Ramesh demonstroi, miten se vaikuttaa kyselyihin. RG on hyvä juuri ad-hoc –kyselyiden tuomien, mahdollisten kuormitusten rajoittamiseen, ettei esimerkiksi tuotantokanta hidastu liikaa, kun yksi WHERE-ehto unohtui kyselystä…

Kannattaa muistaa, ettei ihan jokaista kyselyä kannata aina optimoida äärimmilleen ja se on monesti ristiriitaistakin, sillä erilaiset taulurakenteet ja datatyypit suosivat erilaisia kyselyitä. Parempi keskittyä niihin 20% raskaimpiin ja useimmin käytettyihin kyselyihin ja loput sen mukaan, kuin ehtii. Monesti vasta käyttöönoton jälkeen paljastuvat loputkin pullonkaulat, joita kannattaa metsästää Profilerin ja Management Studion avulla.

SQL Server UG Finland vs. Tietokantaryhmä

Uudella käyttäjäkerholla ei sinänsä ole mitään kytköstä tähän tietokantaryhmäämme, vaikkakin monia tuttuja jäseniä tilaisuudessa tulikin nähtyä. Periaatteessa tämä tietokantaryhmä käsittelee kaikkia mahdollisia tietokantoihin liittyviä asioita (suunnittelu, ohjelmointi, ylläpito, optimointi jne), eikä ole sidoksissa mihinkään tuotteeseen. Jos joku haluaa kirjoittaa tänne vaikka Oraclesta, sopii se täysin ryhmän sisällöksi. (Oraclea ja muita kantoja tuntevat saavat ottaa yhteyttä allekirjoittaneeseen, jos haluavat osallistua sisällöntuottoon;).

SQL Server User Group Finlandista kiinnostuneet voivat osallistua sen toimintaan helposti liittymällä LinkedInin ryhmään. Sitten vain kyselemään ja vastailemaan aktiivisesti! :)

Lock Pages in Memory toimii nyt SQL Server Standard versioissa
Moni on varmaan huomannutkin jo, että Microsoft on lisännyt Lock Pages in Memory option nyt myös SQL Server Standard versioon (aikaisemmin vain Enterprise versioissa). Indikaatiot tämän option tarpeellisuudesta alkavat yleensä kun SQL Serverin virhelokiin alkaa tulla tätä virhettä:
 
A significant part of sql server process memory has been paged out. This may result in a performance degradation.
 
Lyhyesti selitettynä tämä virhe tulee kun käyttöjärjestelmälle on jäänyt liian vähän muistia ja se on valinnut SQL Server prosessin syylliseksi (sillä on yleensä aina eniten muistia käytössä) ja "swapannut" tämän levylle. Ratkaisu ongelmaan on antaa SQL Server Service accountille oikeus lukita sivut muistiin. Täytyy olla kuitenkin tarkkana koska joissain tilanteissa muistia on kyllä riittävästi mutta jostain syystä käyttöjärjestelmä luulee muistin loppuneen. Yksi tyypillinen syy (ja muitakin vastaavia löytyy) on ollut esim. erään valmistajan verkkokortin ajuri, joka sotkee muistinkäsittelyn. Ratkaisu tällöin onkin kyseisen verkkokortin ajurin ja firmwaren päivitys, jonka jälkeen virhe poistuu.
 
Aikaisemmin tämä Lock Pages in Memory optio oli SQL Serverin osalta käytettävissä ainoastaan SQL Server Enterprise versioissa. Nyt SQL Server 2005 SP3 CU4 ja SQL Server 2008 SP1 CU2 päivitysten jälkeen kyseinen optio voidaan ottaa käyttöön myös Standard versioissa. Oletuksena asennuksen jälkeen optio ei ole päällä vaan se täytyy enabloida SQL Serverin käynnistyksessä trace flag optiolla -T845. Tämän jälkeen SQL serverin lokiin pitäisi tulla ilmoitus: "Using locked pages for buffer pool".    
SQL Server StreamInsight CTP2 -saatavilla

Microsoft on hiljattain laittanut jakoon Sql Server StreamInsightin Community Technology Preview 2 (CTP) –version. Sen saa siirrettyä itselleen täältä. Kannattaa myös lukea aiheeseen liittyvä whitepaper.

Mitä tällä teknologialla sitten tekee?

Ensikuulemalta StreamInsight saattaa kuulostaa edesmenneeltä Notification Serviceltä, mutta se perustui jo tallennetuihin tietoihin ja niihin tehtyin tilauksiin. StreamInsight tarttuu reaaliajassa tietoon jo sen saapuessa, eivätkä transaktiot hidasta tiedonkulkua ja analysointia.

StreamInsight (tai CEP, complex event processing) on siis suunnattu reaaliaikaisiin, tapahtumaohjattuihin sovelluksiin, joiden pitää reagoida välittömästi arvoihin, joka sijaitsevat suurissa määrissä sisääntulevaa tietoa. Kyselyiden avulla voidaan valikoida mielenkiintoiset tapahtumat ja trendit ja ohjata ne eteenpäin niitä tarvitseville sovelluksille tai laitteille. Teknologian tavoitteena on kyetä seuraamaan ja käsittelemään tarvittaessa yli 100 000 tapahtumaa sekunnissa.

Käyttökohteina StreamInsightille on kaavailtu mm.

  • Web-analysointi, jolla voisi reaaliajassa muokata sisältöä, navigointia ja vaikka mainoksia surffaajien käyttäytymismalleja seuraamalla.
  • Finanssisovellukset, kuten osakekurssien reaaliaikainen seuranta
  • Logistiikka, esim. tuotantolinjojen hallintaan
  • Sähkön jakeluverkon hallinta

clip_image001

StreamInsight kytketään sisääntuleviin tietovirtoihin adaptereilla, jotka sieppaavat tapahtumat, ennenkuin ne yltävät edes tietokantaan asti. Tarvittava logiikka ohjelmoidaan tutuilla .NET-työkaluilla ja kielillä, kuten C#:lla ja LINQ:lla. Nykyinen versio ei ole tällä hetkellä sidottu myöskään SQL Server 2008 R2:een, vaan mukana tulee SQL Server CE:n uusin versio, johon StreamInsight tallentaa metadatat. Lopullinen versio tukee todennäköisesti tukemaan myös/ainoastaan isoveljeään. Asennusohjeet kannattaa muuten lukea huolella, sillä esim. kaikki aikaisemmat SQL Server CE (Compact Edition) –versiot tulee poistaa ennen mukana tulevan asentamista.

Mukana tulee dokumentaatio (.CHM-muodossa, muista unblockata sisältö tiedoston ominaisuuksista, jos yrität lukea sitä Vistalla tai Windows 7:lla!) ja muutama esimerkkisovellus. Lisäksi pakettiin kuuluu Microsoft StreamInsight Event Flow Debugger, joka helpottaa kyselyiden testausta. Esimerkkisovellukset vaativat joko hieman debuggausta tai kulttuurin vaihtamista, sillä esimerkkidata sisältää päivämäärät jenkkimuodossa ja koodi käyttää CultureInfo.CurrentCulturea, mikäli on suomenkieliset maa-asetukset.

Joka tapauksessa kyseessä on mielenkiintoinen uutuus, joka auttaa varmasti projekteissa, joihin liittyy suuria määriä tietojen tallennusta ja analysointia.

SQL Server Kilimanjarosta tuli SQL Server 2008 R2
Microsoft julkaisi TechEd 2009 Los Angelesissa uuden R2 version SQL Server 2008:sta. Itse olin jo henkisesti varautunut uuteen SQL server 2010 versioon mutta toisin kävi. Näen tämän positiivisena asiana koska se pidentää 2008 version käyttöaikaa normaaliin 3 - 4 vuoteen.
 
Uuden version ominaisuuslistaa katsottaessa Microsoftin sivuilta laittaa väkisin miettimään mihin peruskäyttäjä erityisesti pienissä ja keskisuurissa ympäristöissä näitä uusia ominaisuuksia tarvitsee. Kuten jo version 2008 uudet ominaisuudet olivat pääasiassa Enterprise käyttöön ja Enterprise versiolle niin samaa sanoisin myös tästä uudesta versiosta. Myös suurimmat muutokset ja lisäykset ovat BI (Business Intelligence) ominaisuuksiin.
 
Master Data Services  lienee yksi keskeisistä uusista ominaisuuksista. Tämä aikaisemmin "Project Bulldog" nimellä kulkenut tuote oli tarkoitus julkaista uuden Office SharePoint 2010 serverin mukana mutta siirrettiin jostain syystä SQL Serverin osaksi.
 
SQL Server 2008 R2:sta on tulossa julkinen CTP jo tämän kesän aikana ja sen tuloon voi varatua rekisteröitymällä sivustolla http://www.microsoft.com/sqlserver/2008/en/us/r2.aspx.
 
Kokonaisuutena R2 versio on mielestäni positiivinen asia. Se osoittaa, että SQL Server kehittyy edelleen voimakkaasti. Mutta pysyvätkö käyttäjät uusien versioiden, service packien, kumulatiivisten päivitysten, hot fixien ja tietoturvapäivitysten sekamelskassa mukana onkin jo toinen asia. Myös nykyinen lama tuntuu hidastavan uusien versioiden käyttöönottoa niin siinä mielessä jatkoaika 2008 versiolle on myös positiivinen asia ja odotamme sitten täysin uutta SQL Server versiota vuonna 2011 tai 2012.
Relaatiopohjainen kanta Sql Data Servicesiin

Microsoftin cloud computing –tarjonnassa on tietojen tallentamiseen ollut tähän asti tarjolla lähinnä Sql Data Services (SDS) ja Azuren vastaava. Näissä käytetään Author, Container, Entity (ACE)-mallia, jolla tiedot tallennetaan oliomaisesti (avain/arvo) kantaan.

Vaikka se riittääkin moniin sovelluksiin, on vanha kunnon relaatiokanta edelleen ylivoimainen moneen asiaan, kuten raportointiin, aggrekointiin yms joukko-operaatioihin. Siksi onkin hyvä uutinen, että SQL Data Services tulee tarjoamaan relaatiokantaa. ACE jää hiljalleen pois SDS:stä, mutta jatkaa eloaan Azuren puolella.

Palvelu käyttää rajapintana Sql Serverin natiivia protokollaa (TDS), joten jos nykyään saat yhteyden Sql Serveriin, niin saat todennäköisesti myös SDS:ään.

Tuettuja ominaisuuksia ovat ainakin:

  • Taulut
  • Tallennetut proseduurit
  • Näkymät
  • Indeksit
  • Visual Studio –integraatio
  • ADO.NET
  • ODBC
  • Yms.

Itse SQL Serverin versiosta ei ole mainintaa, mutta voi olla, ettei erikoispiirteitä pääsisi edes käyttämään. Pilvipalveluiden hyviä puolia ei ole kuitenkaan uhrattu, vaan korkea saatavuus, skaalautuvuus ja kuorman määrästä riippuvainen veloitusmalli ovat edelleen tuettuja.

Lähde: SQL Data Services Team Blog

SQL Serverin tietoturvasta
Microsoft pääsi kehumaan usean vuoden ajan SQL serverin parantunutta tietoturvaa. Pitkään oli tilanne, ettei vuoden 2003 Slammer mato epidemian MS03-031 (moniko tätä enää edes muistaa!) jälkeen SQL serveristä löytynyt uusia merkittäviä haavoittuvuuksia (tai niitä ei ainakaan julkaistu). Viime vuonna tilanne muuttui ikävästi huonompaan suuntaan ja myös tietokantojen ylläpitäjät pääsivät mukaan paikkaamaan palvelimia.
 
Eli heti kesälomien jälkeen päästiin töihin. Löytyi MS08-040 ja tässä kohtaa monet SQL ylläpitäjät saattoivat yllättyä. Onneksi löydös oli vain Important tasoa.
 
Juuri kun edellinen korjaus saatiin tehtyä tulikin jo lisää eli oli löytynyt haavoittuvuus GDI+ rajapinnassa MS08-052  ja tällä kertaa luokitus oli Critical.
 
Viimeisin olikin sitten joululahja Microsoftilta 961040, johon odottelemme paikkausta osittain edelleen. SQL Server 7 SP4 ei ole haavoittunut ja SQL Server 2005 SP3 ja SQL Server 2008 Microsoft on jo paikannut mutta edellä mainitut versiot ovat tuotantokäytössä vain hyvin pienellä osalla käyttäjistä.
 
Haavoittuvuuden pystyy onneksi hoitamaan manuaalisesti ajamalla seuraavan SQL lauseen:
use master
deny execute on sp_replwritetovarbin to public
 
Ole kuitenkin tarkkana jos käytössä on Transactional Replication with Updatable Subscriptions koska silloin replikointi lakkaa toimimasta.
 
Olethan muistanut tehdä tietoturvapäivitykset!
 
Jälkikirjoitus 10.6.2009.
 
Edellämainittu replikoinnin tietoturva aukko on sittemin Microsoftin toimesta korjattu. Korjaussarja ja ohjeet seuraavasta linkistä MS09-004. Tämän jälkeen ei tietääkseni ole löytynyt uusia haavoittuvuuksia. 
Kumulatiivinen päivityspaketti 3 julkaistu SQL Server 2008:lle
Microsoft julkaisee varsinaisten Service Pack-päivitysten lisäksi kumulatiivisia päivityspaketteja, joihin on kerätty siihen mennessä julkaistut hotfix-päivitykset.

Tammikuun 19. päivä tuli julki kolmas tällainen paketti SQL Server 2008 julkaisun jälkeen. Paketissa on kolmisenkymmentä hotfix-korjausta.

Hotfix-päivityksiä ei ole testattu samassa laajuudessa kuin varsinaisia Service Pack-päivityksiä. Tämän vuoksi kannattaa käyttää harkintaa ennenkuin asentaa näitä tuotantoon.

Lisätietoja
SQL Compare 8.0 beta Red Gatelta
Red Gatella on hyvä valikoima erityyppisiä työkaluja SQL Server 2000, 2005 ja 2008:lle. Itse olen käyttänyt SQL Compare ja SQL Data Compare tuotteita. Nämä ovat varsin näppäriä kun pitää synkronoida eri ympäristöjen skeemoja tai dataa. SQL Compare:sta on nyt saatavilla 8.0 beta testattavaksi. Kannattaa kokeilla, varsinkin jos tuote ei ole alunperin tuttu.
SQL Compare 8 beta
1 - 10 Next

 Jäsenet

JukkaKatajisto
JoukoKorpelainen
JoniMoilanen
VesaNopanen
MikkoSalmi

 ‭(Hidden)‬ Toiminnot

 Linkit

  Oracle
  SQL Server
  DB2
  MySQL
  PostgreSQL
  Sybase