Siirry sisältöön

SQL Server ETL deploy vaihtoehdot

Tässä lyhyt kuvaus SQL Server Integration services ETL työkalun tuotantoonsiirron vaihtoehdoista.

SSIS deploy vaihtoehdot

SQL Server ETL Storage vaihtoehdot

Jos ETL prosessien tai pakettien – tai miksi niitä nyt halutaankin suomeksi kutsua – tallennus ja ajo paikka aiheuttaa päänvaivaa, tämä kaavio saattaa helpottaa.Kysymys on oikeastaan vain siitä, toteutetaanko ETL prosessien tiedostojen siirto manuaalisesti ja miten niiden konfiguraatiot halutaan toteuttaa. Siihen vaikuttavat paljon ympäristö ja totutut toimintamallit. Joskus totutut toimintamallit pakottavat manuaaliseen tiedostojen siirtoon. Silloin on syytä pitää huolta deploy käytäntöjen toimivuudesta ja ihan visual studio tasollakin versionhallinnasta.

Deploy asiaa blogini tässä osassa…ja konfigurointi asiaa täällä

SSIS storage vaihtoehdot

SQL Server 2012 Analysis Services asennus

Asenna Analysis Services 2008

Ennen kun aloitat – varmista, että palomuuri ei ole päällä. Tee se avaamalla control panel, ja valitse Windows Firewall ja sammuta se, jos se on päällä.

Varmista, että oikea asennus media on käytettävissä – lisenssi avaimineen. Media löytyy kansiosta c:\asennus\sql 2012 BI tms.

Tässä vaiheessa kannattaa jo konfiguroida netframework feature ja sennnella kaikki tarvittavat windows päivitykset ellei niitä ole jo asennettu. Tässä alempana on kuvattu, mitä tapahtuu jos niitä ei asenneta tässä vaiheessa – ennen SQL server setup ajamista.

Lisätään tai varmistetaan, että palvelujen tarvitsemat domain tilit ovat käytettävissä. Ellei ole – ne tehdään.

Isolated by useraccount – palvelujen eristäminen käyttäjätunnuksilla

Service account on lisätty Datacenter_palvelin ryhmään (ADnimi\SQLserverASuser)

Käynnistä kyseisestä hakemistosta “SETUP.EXE” (esimerkkikuvassa CD asemalta)

image

Eri kokoonpanoissa eri koneilla saattaa esivaatimukset olla hyvinkin erilaisia. Tässä on kuvattu vain tämän kyseisen koneen tarpeet

Esivaatimukset tarkistetaan configuration checker ohjelmalla SQL server asennustyökaluista.

image

Klikkaa install Upgrade Advisor

image

Suorita vaaditut toimenpiteet.
    1. SQL Server 2012 Feature pack osat on ladattuna koneen dawnload hakemistoon. Sieltä löytyy muun muassa SQLDOM, joka on nyt suoritettava

image

SQL DOM asennus.

image

image

Tuli ongelma, jota en suoraan pystynyt ratkaisemaan, mutte edellä kuvattu päivityksien asennus sarja korjasi ongelman.

image

Windows konfiguraatiot, Features ja päivitykset

image

Tämän olisi myös voinut tehdä heti alussa.

Jos valitaan myös framework features, tulee asennettavien listalle myös IIS web services. Sitä ei tällä hetkellä tarvita.

image

image

image

image

Ja sitten windows päivitystysten tarkistus ja päivitys

image

image

image

Tämä ei ole välttämätön, mutta on kuitenkin hyvä olla jo valmiiksi asennettuna.

image

Tarkistetaan löytyykö lisää…

image

image

image

image

Ja jälleen uusi tarkistus…

image

image

image

image

Se tarvitaanko uudelleenkäynnistää Windows server, selviää viimeistään start painikkeen takaa ’Log off’ valinnoista. Jos sieltä löytyy varoitus merkki – suorita restart – ja muussa tapauksessa voit suorittaa SQL server setupin uudelleen. Se kertoo muutamien minuuttien tarkistusten jälkeen myös jos tarvetta uudelleen käynnistämiseen on.

image

Tämän jälkeen kaikki päivitykset on valmiina.

Klikkaa “SETUP.EXE” uudelleen Windows Explorerista.

image

Näet aina vähän väliä seuraavanlaisen boksin.

image

Varmista, että Installation is valittuna oikealla ja sitten klikkaa “ New SQL Server stand-alone installation or add features to an existing installation”.

image

image

Asennuksen esivaatimusten taskistus

Jos ongelmia ei ilmennyt klikkaa “OK”. Ongelmien ilmaantuessa, seuraa näytöllä näkyviä ohjeita. Voik klikata "Show Details” kun tarvitset tarkempia tietoja. Jos et ole täysin varma asiasta – selvitä jokainen kohta erittäin huolellisesti.

image

Asennusohjelma tarkistaa vielä mahdolliset SQL server päivitykset verkosta.

Jos verkkoyhteyttä ei ole tämä voidaan ohittaa.

image

Asennustiedostojen asennus

image

Näet seuraavaksi yhteenvedon

image

Tuoteavain – lisenssi

image

Lisenssiehdot

image

Klikkaa next

Asennusrooli

image

Klikkaa Next

Valittavissa olevien optioiden valinnat

image

image

image

image

image

image

image

image

Edellä kuvattujen – ja muiden optioiden kuvaukset löytyy kaikille SQL server versioille:

http://msdn.microsoft.com/en-us/library/ms143786.aspx

Otin lopuksi SDK:t pois, koska niitä ei tässä vaiheessa tarvita:

image

image

Jatka joka kohdassa valintojen jälkeen klikkaamalla Next

Installation rules tarkistukset

image

Tietokanta instanssi

Jos esimerkiksi muita instansseja olisi, tässä voidaan asentaa jokin muukin kun oletus instanssi nimi. Se voisi olla vaikkapa SQLASTABULAR tms.

image

Jatka klikkaamalla Next ja näet seuraavat ikkunat:

image

image

Jatka jälleen klikkaamalla Next

Server configuration

Tässä asetetaan alussa tehty AD domain laajoinen käyttäjä tunnus SQL server AS prosessille. Ensimmäisessä kuvassa on oletus, joka muutetaan tuotantokäyttöön sopivaksi.

image

image

Valmiina

Tarkista Collation, mutta se on normaalisti oletuksena oikein.

image

image

Jatka klikkaamalla Next

Lisää admin käyttäjiä

image

Datahakemistot

Seuraavalla välilehdellä on data hakemistojen asetus. Se on oletuksena :

image

Ja tässä konfiguraatiossa se muutetaan näin:

image

Tiedot ovat harkitusti tietyillä levyilla ja sitä havainnollistaa vielä se, että loogisten levyjen loogiset nimet ovat:

image

Jatka klikkaamalla Next

Virheraportointi Microsoftille

Ehkä ei tässä niin tarpeellinen toiminto

image

Ja vielä viimeinen sääntö tarkistus

Jos mitään ei ilmennyt – asennus voidaan suorittaa.

image

Klikkaa Next.

image

Klikkaa Install. Huomioi ConfigurationFile.ini – jota voidaa käyttää ns. ‘silent install’ toiminnoissa, kun asennetaan vakio konfiguraatio mahdollisimman nopeasti ja moniin koneisiin. Esimerkiksi kluster asennukset.

image

Valmis.

Mutta vielä viimeisimmät päivitykset:

image

image

Valmis.

Testaus

Analysis Services

Adventure Works esimerkit on hyvä tapa testata Analysis Services asennus ja konfiguraatio. Tässä on kuvattu todellinen kehitys ja tuotanto kelpoinen testi asentamalla ADW kanta Analysis Services deployment wizard työkalulla.

Koneen hakemistossa C:\BI Workspace\SQL Server Samples on SQL Server 2012 esimerkki asennus paketit, joista nyt käytetään vain pakettia joka asentaa vain lähdekoodin Visual Studio projektin.

Kaikki esimerkit löytyvät Codeplex saitilta http://msftdbprodsamples.codeplex.com/

image

AdventureWorks Multidimensional Models SQL Server 2012 asennuspaketti löytyy klikkaamalla saitin SQL server 2012 DW kuvaketta (keltainen)

Pakattu tiedosto sisältää standard ja eterprise versiot, joista nyt käytetään standardia.

Purettu standard projekti avataan Visial Studiolla (SQL server datatools) ja sille suoritetaan build komento.

image

image

Build komennon jälkeen uusi kanta on valmiina ’tuotantoon’ siirtoon :

image

Tähän käytetään Analysis services deployment wizardia:

image

image

image

image

image

image

image

image

Oikeassa tuotanto deployssa tässä kohtaa tarkistetaan huolellisesti kaikki konfiguraatiot eri objekteille.

image

image

Tässä vaiheessa ei ole syytä prosessoida (lataus ja laskennat) kantaa, koska yhteyttä relaatiokannan staging/DW kantoihin ei ole.

image

XMLA skripti tallennetaan esimerkiksi samaan hakemistoon (bin) kannan kanssa

image

image

Tämän jälkeen skripti suoritetaan komentojonokäskynä tai

image

image

image

image

image

SQL Server ja Windows server 2012 päivityksiä

Kokeilin päivityksiä virtuaalikoneissa Windows 2008 R2: sta 2012 versioihin ja sitten SQL server päivityksen perään.

Melko mielenkiintoisia havaintoja tuli eteen.

Esimerkiksi kun evaluointi versio 2008 R2: sta yritin päivittää Enterprice: ksi tuli parikin kertaa eteen tilanne, jossa asennus ei onnistu lisenssi tiedoston oikeuksien takia.

Tarkemmin sanottuna ja yksinkertaisesti pikku bugi, mutta asennus ei mennyt eteen päin ennen kun muutin hakemistossa c:\Program Files\Microsoft SQL server\110\License terms olevan rtf dokumentin ‘read onlysta’ ‘read writeksi’ Sen jälkeen asennus/upgrade toimii.

Lisäksi itsestään selvyydet kannatta ottaa etukäteen selville kuten kaikkien instanssien päivitykset oikeille tasoilleen tai betaversioiden poisto tms saattaa nopeuttaa asennuksia.

Reporting Services parametrisointi Analysis Service kuutioista

Parametrisoinnin suunnittelu

Linkitettyjen raporttien ja parametrien välitys niiden välillä on SQL kyselyissä eroaa huomattavasti Analysis services ‘multidimensional dataset’ parametroinnista. Kun käytetään ulottuvuuksien jäseniä (dimension members) Analysis Services kuutiosta listoissa joita käytetään parametreinä, on toteuttaminen huomattavasti yksinkertaisempaa.

Parametrien lisääminen Analysis Services Datasettiin

Verrattuna relatiokanta tietolähteeseen, on Analysis Services tietolähde parametrien lähteenä hieman yksinkertaisempi toteuttaa. Tarvitsee vain määrittää ulottuvuus (dimensio) josta parametrit halutaan hakea ja loppu onkin sitten tehty valmiiksi automaattisesti.

Tässä esimerkissä lisätään parametri filtteroimaan datasetti kalenterivuosilla

.

image

Datasets kansiossa – Report Data ikkunassa on Dataset1. Tämä sisältää MDX kyselyn, jossa on määritetty parametrit. Tässä tapauksessa aluksi vain pvm niminen. Tämä parametri tehdään MDX query editorilla. Editorissa muokataan kyselyä hiirellä raahaamalla oikeat elementit ja jäsenet omaan ikkunaansa ja filtterinä toimivat jäsenet omaansa. Filttereinä toimivat voidaan asettaa parametreiksi. Tämän jälkeen kaikki tarpeellinen onkin useimmiten jo tehty ja query editorin tiedoilla generoituu uusi piilotettu (oletus) dataset. Datasetin nimeä ei kannata muuttaa, vaan se kannattaa generoida uudelleen tarpeen mukaan.

image

1. Klikkaa ponnahdusvalikko esiin datasetin kohdalta ja valitse properties.

2. Valitse ylin vaihtoehto – Query

3. Tee tai muokkaa

jo tekemääsi kyselyä lisäämällä pvm tieto parametriksi (rasti ruutuun) ja valitse filter expression oletusarvoksi. Huomaa, että tässä esimerkissä on vain yhden päivän pvm filtterinä. Käyttökelpoisempaa on usein käyttää alku ja loppu pvm tietoja. Tähän soveltuu Equal operaattorin sijaan Range, jolloin Filter expression valinta muuttuu kaksi osaiseksi alku ja loppu pvm filtteri tietoja varten.

3.1 – yksi osainen filtteri parametrointi:

image

image

3.2 – kaksi osainen filtteri parametrointi:

image

image

4. Query editori näyttää parametrit tämän jälkeen näin:

image

5. Varmista pvm tiedon oikea formaatti, joka vaikuttaa siihen että sitä myös käsitellään jatkossa päivämääränä. Tämä on tärkeää esimerkiksi pvm valinta toiminnon kannalta. Jos tietoa ei voida esittää date muodossa, saadaan valintalista ja pitkä lista tekstimuotoisena olevia päivämääriä. Haku toimii myös näin, mutta päivämäärä valintatyökalulla on paljon parempi valita haluttu päivämäärä kriteeri.

Tässä esimerkki, kun pvm tieto on date muotoisena datana:

imageimage

Tässä esimerkki, kun pvm tieto on teksti muotoisena datana:

imageimageimage

Päivämäärä muotoinen data saadaan expressionilla:

="[Date].[Calendar].[Date].[" + Format(CDate(Parameters!Date.Value), "MMMM d, yyyy") + "]"

Jossa käyttämäsi aikaulottuvuus on kuvattava ensimmäisenä skriptin alussa muodossa [Ulottuvuuden nimi].[hierarkian nimi].[pvm kentän data jota halutaan käyttää]

Lisäksi parametrin ominaisuuksissa on valittavissa default – oletus arvo päivämäärälle. Se voi yksinkerteisimmillaan olla vaikkapa = Today(). Tai hieman älykkäämmin valmiiksi asetettuna edellinen kuukausi, tai haluttu täysi kk tai jokin muu haluttu aikaväli tähän tapaan:

=DateSerial(Year(Now()), Month(Now()),0)

 

Tässä vielä kuvia jotka voivat selventää toteutusta:

image

Päivämäärä formaatin varmistaminen

image

Parametrin tiedot MDX kyselyissä. Huomio, että graafisen tilan ja tekstimuotoisen tilan välillä ei voi vaihdella rajoituksetta!

image

Parametrien asettaminen manuaalisesti.

Kun haluat editoida MDX kyselyä menettämättä graafista näkymää, valitse expression painike ja saat koko MDX kyselyn editoitavaksi. Toiminto ei ole sama kun query editorissa!

imageimage

Mutta tämäkin saattaa muuttua MDX generaattorin toimesta.

Ota käyttöön Masterdata esimerkit–Deploy

Asennuksen ja konfiguroinnin jälkeen voit kokeilla masterdata palveluita esimerkki malleilla. Käyttöönoten voi tehdä wizardilla tai deploy komentoikkuna ohjelmalla. Näytän tässä niiden molempien käytön.

Mallit ovat :

  • – Tilikartta
  • – Asiakkaat
  • – Tuotteet

Ja löytyvät asennuksen jälkeen täältä:image

MDSModelDeploy.exe löytyy :

image

Model deploy apuhjelman käyttö:

Ohjelman optiot saat näkyviin kun kirjoitat komentoikkunaan MDSModelDeploy

image

Kaikki palvelut saat näkyville komennolla:

MDSModelDeploy listservices

Esim:

image

MDS palvelu MDS1 on oletus websaitilla ja sen polku on MDS1

Palvelut voi asentaa myös eri portteihin ja niitä voi olla useitakin, on sitten kokonaan eriasia tarvitaanko niitä useita…

Käyttöön otto – Deploy komentojonotyökalulla

Uusi malli

MDSModelDeploy deploynew –package PackageName -model ModelName -service ServiceName

Mallin klooni

MDSModelDeploy deployclone –package PackageName

Mallin päivitys

MDSModelDeploy deployupdate –package PackageName –version VersionName

Uusi malli – esimerkiksi:

MDSModelDeploy deploynew –package chartofaccounts_en.pkg -model Esimerkki -service MDS1

HUOM!

Jos kopiot tekstin websivulta, tai vaikkapa tästä esimerkistä voi tuloksena olla:

The DeployNew command failed because either there is a missing – option or the name is not in quotes. All names that contain spaces must be enclosed in quotation marks.

Riittää, kun kirjoitat – [miinus] merkit uudelleen ja suorita komentojono uusiksi.

Käyttöön otto – Deploy wizardilla

Voi ottaa käyttöön vain mallit, joiden mukana ei ole itse dataa. Tästä on ilmoitus olemassa, kun ajat wizardin loppuun

 

image

image

image

Tämä paketti sisältää dataa ja deploy tulee näin ollen epäonnistumaan…

image

image

image

Dynaaminen dimensioautentikointi

Yleinen kuvaus

Analysis Services sallii minkä tahansa MDX lauseen käytön autentikointiin dimensioissa.
Näin, voidaan mallintaa tietoturvaa kuutioihin tallennetun datan mukaan.
Esimerkiksi, MDX kaavalla voidaan sallia käyttäjälle näkyväksi informaatio kaupan myymälässä jossa hän työskentelee, mutta ei muista kaupan myymälöistä. Tällainen skenaario ei kuitenkaan sovellu hyvin roolipohjaiseen tietoturvaan, koska jouduttaisiin luomaan henkilökohtainen rooli jokaiselle järjestelmän käyttäjälle. Siinä tapauksessa voidaan luoda dataan pohjautuva järjestelmä – eli dynaaminen autentikointi.

Dynaamisen autentikoinnin avulla voidaan toteuttaa yksi rooli kaikkia käyttäjiä varten ja jolla sitten UserName MDX funktiota tietoturvamäärityksissä roolin räätälöinnissä jokaiselle käyttäjälle erikseen.
Kun käytetään laajaa ja monimutkaista yhdistelmää tietoturva asetuksissa (autentikoinnit), tämä tekniikka on suositeltava sen takia että sillä voidaan toteuttaa helpommin ja yksinkertaisemmin ylläpidettävä järjestelmä verrattuna muihin toteutustapoihin.  Kun uusi käyttäjä tai uusia käyttäjiä lisätään järjestelmää, olemassa olevaa roolia muutetaan sopivaksi – automaattisesti.
Funktio, UserName palauttaa stringin (tekstityyppinen muuttuja) joka sisältää ko. käyttäjän domain nimen ja käyttäjätunnuksen (domain\Username) Windows AD tai local username tietojen mukaisesti Analysis Services loginia varten. Tällä tavalla voidaan verrata MDX funktion palauttamaa arvoa kannassa olevaan tietoon organisaation käyttäjistä (epmloyees/työntekijät/resurssit).

Esimerkki

On eri mahdollisuuksia yhdistellä UserName funktion palauttamat arvot kuution jäsenten kanssa (members). Suoraviivaisempia tapoja on lisätä sarake käyttäjätunnuksille ja käyttäjien nimille sekä rakentaa ulottuvuus attribuutti (dimensio) siitä. Esimerkiksi jos lisään user_name sarakkeen dbo.employee tauluun testikannassa – saadaan silloin tehtyä myös uusi attribuutti Employee dimension kuutiossa. Avain kenttä saa arvon employee_id : stä ja UserName kentästä myyjä_nimi tai Employee login nimeä vastaavan arvon.

Esimerkkinä tein uuden roolin nimeltä DynamicRole ja lisäsin siihen kaikki käytäjät – tässä on syytä kokeilla myös muillakin ryhmillä kun ‘Everyone’ Esimerkiksi Laajatoikeudenhaltijat ja suppeatoikeudenhaltijat – ryhmät tms. Lisäksi käytän kuutiota Sales and Employees. Tässä kuutiossa on measure ryhmä (measuregroup) niin kuin Warehouse ja Sales kuutiossakin, mutta siinä on lisäksi Employee dimensio johon on laitettu vielä granulariteetti Storen- tiedon mukaan (Employee ja store id). Nyt voin käyttää User Name ja Employee attribuuttia kohdistamaan kuution käyttäjän nimen mukaan. Voin myös asettaa storet näkymään vain niin, että sen storen työntekijät näkevät vain ne – eivätkä muita. On myös mahdollista asettaa käyttäjiä (employees) niin että useita storeja tulee tietyille käyttäjille (employees) tai tehdä näistä vaihtoehdoista johdettuja yhdistelmiä.

 

Eri vaihtoehdoista on tässä esimerkki, niin että vain oma store tulee näkyville. Seuraavassa MDX funktio AllowedSet ominaisuuden muutos Store cube dimensiossa:

Filter(
[ Store] . [Store] . [ Store]. members,
[ Store] . [Store] . currentmember.properties( “key”) =
Exists(
[ Employee] .[ Store]. [ Store] . members,
StrToMemeber ( “Employee. [ “+UserName() +” ]”, CONSTRAINED)
). Item( 0) . Properties( “key”) )

Tässä käytän StrToMember MDX funktiota hakemaan Employee jäsenen (Employee member) attribuutti hierarkiasta UserName attribuutin ja yhdistämään vastaavat UserName tiedot MDX funktion palauttamasta tiedosta. Tämä edellyttää että store id löytyy myös employee ulottuvuudesta joten nämä ulottuvuudet voidaan liittää toisiinsa (vrt. Relaatiokannan join)

Ja nyt, kun autentikointi on määritetty dynaamisesti, voidaan todeta kuutiossa sama selaamalla Dynamic Role ryhmän käyttäjällä – että data on filtteroitu vain kyseessä olevan käyttäjän ‘store’n mukaan ja muut tiedot eivät ole näkyvissä.

Esimerkiksi alla olevassa kuvassa on dataa vain Meksikon store numero 12 ta, koska Irina
Gorbach (käytetty login) sattuu olemaan tämän storen työntekijä.

image

 

General asetukset

image

Membership asetukset

image

Data Sources asetukset

image

Cubes asetukset

image

Cell Data asetukset

image

Dimensions asetukset

image

Dimension data asetukset ja MDX

image

NonEmpty( [Store].[Store].[Store].members,

Exists(
[Employee].[Store].[Store].members,
{LinkMember([Employee].[User Name].[User Name].members("["+UserName()+"]"),[Employee].[Employees])}
)*[Measures].[Store Sales]
)

image

Kun dimensioiden tietoturva-asetuksen on määritelty dynaamiseksi, on näkyvissä vain ja ainoastaan se data joka liittyy sinun omalle tunnukselle.

Dimensio tietoturva-arkkitehtuuri

Käyttäjä joka hakee dataa analysis serviceltä voi kuulua useisiin eri rooleihin. Tämän takia Analysis services tutkii dimensio oikeudet jokaiselle käyttäjän roolille. Jos järjestelmässä on useita tietoturva rooleja määritettynä, kasvattaa se eri yhdistelmien kokoa huomattavastikkiin. Analysis services pitää sisällään hyvin skaalautuvan mekanismin joka mahdollistaa jopa isojenkin dimensioiden nopean tietoturvan soveltamisen/tutkimisen. Analysis services ei luo, ja lataa muistiinsa dimensioiden kopiota sallittuine attribuutteineen, vaan sen sijaan pitää muistissaan pienen rakenteen datasta nimeltä CubeAttributeSecurity. Tämä datarakenne on liittymä Analysis services kantaan toteuttamaan ilmentymän sallittujen tai kiellettyjen jäsenten näkyvyyden. Tämän datarakenteen fyysinen esittäminen riippuu monista tekijöistä.  Joissakin tapauksissa Analysis services käyttää bittikartta tietoja pakatussa muodossa ja voi verrata tai ‘vähentää’ halutusta joukosta sallittuja tai kiellettyjä jäseniä. Joissakin tapauksissa on taas luotava materialisoitu bittikartta kuvaamaan bittitasolla eri attribuutteja. Pahimmassakin tapauksessa tarvitaan vain materialisoida bittikartta, dimensioiden tietoturva-asetusten käyttämä bittimäärä ei voi olla enempää kun dimension jäsenten määrä jaettuna kahdeksalla. “CubeAttributeSecurity” on tiedostoluokka ja sitä voidaan käyttää ja säilöä muistissa ja levyllä dynaamisesti, sen mukaan miten muistinhallintalogiikka päättää. Jos käyttää useita tietoturvarooleja, AS iteroi “CubeAttributeSecurity” tietoja jokaisella roolilla ja käyttää loogisia operaattoreita asetusten ja rakenteen mukaisesti. Tämä tekniikka tekee operaatiosta erittäin nopean yksinkertaisuutensa takia..

Dimensio tietoturva, solujen tietoturva ja  MDX Skriptit

image

Analysis Services asettaa dimensiotietoturvan ennen MDX skriptin tarkistusta/suoritusta, ja asettaa solukohtaisen tietoturvan MDX skriptin tarkistuksen/suorituksen jälkeen.

Se, että tämä on mahdollistaa, vaatii Analysis servicen iteroimaan läpi kaikki AttribuuttiPermissions objektit, tarkistaa MDX funktiot ja niiden sallitus ja kielletyt  asetukset (Allowed & DeniedSets) jokaisen aktiivisen roolin osalta ja rakentaa CubeAttributeSecurity datarakenteet. Tämän jälkeen Analysis Services tarkistaa oletus jäsen ominaisuudet AttributePermission objektin MDX funktioiden osalta. Jos useammalla kun yhdellä roolilla on default member määritettynä, ensinmäisen roolin default member ‘voittaa’. Jos ei ole mahdollista päätellä mikä rooli pätee ensimmäisenä, Analysis services ottaa käyttöön dimensio tietoturvan. Siitä lähtien, kaikki operaatiot suoritetaan suojattuina. Jos dimensio tietoturva-asetuksen rajoittavat jotakin default jäsentä, järjestelmä ei pysty käyttämään jatkotoimenpiteissä. Se vuoksi Analysis Services muuttaa default jäsenet default jäseniksi, joilla on rajoitteita. Tavallisesti, jos attribuutti on aggregoitavissa, se on ALL jäsen. Muussa tapauksessa ylimmäisenä oleva jäsen voi tulla default jäseneksi.   
Analysis Services ottaa käyttöön kaikki kelvolliset ‘visual totals’ mahdollisuudet ja lopulta arviot MDX skriptin.
Sen jälkeen Analysis Services arvio ja tarkistaa skriptin ja lisää sen global scope muistiin

SQL Server 2012 core asennus ja konfigurointi

SQL Server core asennus

 

Aloita windows server asennuksesta

image

image

image

image

image

Salasanan vaihtamisen jälkeen:

kirjoitta sconfig

image

Vaihda koneen nimi (ei välttämätön)

image

image

Verkkoasetukset

image

image

image

image

image

image

image

Bootin jälkeen domain liitos

image

image

image

image

image

image

loggaa domain tunnuksilla, jolla on myös local admin oikeuden ko. koneella

Konfiguroin etä ym. ominaisuudet

image

image

auto update

image

image

Asenna suositeltavat päivityksen manuaalisesti

image

image

image

Tämän jälkeen varmista vielä uudelleen sconfig valikon komennolla 6), että kaikki päivitykset on asennettu. Ajoin itse aivan kaikki, ennen kun käynnistin SQL Server asennuksen. En muista kokeilleeni erikseen, onnistuuko välttämättömillä päivityksillä täyttämään SQL server kriteelit

core asennuksessa – luultavimmin onnistuu, koska sp1 on 2008 R2:ssa se oleellisin päivitys. Muut vaatimus listalla ovat:

image

Tarkat kuvaukset vaatimuksista löytyy täältä:

http://msdn.microsoft.com/en-us/library/hh231669(v=SQL.110).aspx

DISM /online /enable-feature /featurename:NetFx2-ServerCore /featurename: ServerCore-WOW64 /featurename:NetFx3-ServerCore-WOW64 /featurename:NetFx2-ServerCore-WOW64 /featurename:NetFx3-ServerCore /featurename:MicrosoftWindowsPowerShell /featurename:MicrosoftPowerShell-WOW64

Asenna tämän jälkeen dotnetFx-Full_x86_x64_SC.exe /passive /promprestart

HUOM Netframework asennusmedian tiedostonimi tai tyyppi voi vaihdella riippuen latauspaikasta. Se voi olla esim *.ISO faili tms.

image

image

Konfiguroi palomuuri

@echo off
@echo This scripts sets the default firewall configurations for SQL Server components
echo.
echo Setting the core components for a database instance
echo Default Instance
netsh advfirewall firewall add rule name="SQLServer" dir=in action=allow protocol=TCP localport=1433 profile=DOMAIN

echo Dedicated Admin Connection
netsh advfirewall firewall add rule name="SQL DAC" dir=in action=allow protocol=TCP localport=1434 profile=DOMAIN

echo SQL Browser Service
netsh advfirewall firewall add rule name="SQL Browser" dir=in action=allow protocol=UDP localport=1434 profile=DOMAIN

echo Setting the core firewall rules for database mirroring, service broker, TSQL Debugger, Analysis services, Reporting Services
echo Mirroring EndPoint – CHANGE PORT NUMBER AS NEEDED depending on which role
netsh advfirewall firewall add rule name="Mirroring EndPoint" dir=in action=allow protocol=TCP localport=5022 profile=DOMAIN

echo Service Broker
netsh advfirewall firewall add rule name="SQL Service Broker" dir=in action=allow protocol=TCP localport=4022 profile=DOMAIN

echo Enable TSQL Debugger (uses RPC)
netsh advfirewall firewall add rule name="T-SQL Debugger" dir=in action=allow protocol=TCP localport=135 profile=DOMAIN

echo Browser service for Analysis Services
netsh advfirewall firewall add rule name="SQL Browser for Analysis Services" dir=in action=allow protocol=TCP localport=2382 profile=DOMAIN

echo Analysis services Default Instance
netsh advfirewall firewall add rule name="Analysis Services" dir=in action=allow protocol=TCP localport=2383 profile=DOMAIN

echo HTTP/HTTPS for reporting services
netsh advfirewall firewall add rule name="HTTP Reporting Services" dir=in action=allow protocol=TCP localport=80 profile=DOMAIN
netsh advfirewall firewall add rule name="HTTPS Reporting Services" dir=in action=allow protocol=TCP localport=443 profile=DOMAIN

 

 

 

Silent install:

Setup /Q /ACTION=install /INSTANCEID="MSSQLSERVER" /INSTANCENAME="MSSQLSERVER"
/IACCEPTSQLSERVERLICENSETERMS=1 /FEATURES=SQLEngine
/SQLSYSADMINACCOUNTS="firma\DomainAdmins" /BROWSERSVCSTARTUPTYPE=AUTOMATIC
/SECURITYMODE=SQL /SAPWD="BulevardiRul3z" /INDICATEPROGRESS=1
/TCPENABLED=1 /AGTSVCSTARTUPTYPE="Automatic"

http://msdn.microsoft.com/en-us/library/ms144259(SQL.110).aspx

tai tehcnet:

Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /IACCEPTSQLSERVERLICENSETERMS

Latasin SP 1:n iso failin ja asensin sen manuaalisesti. Sen jälkeen asennus toimi mukavasti tuolla edellisellä cmd line komennolla.

image

 

image

image

image

image

Ja asennuksen onnistumisen jälkeen toiselta koneelta saa yhteyden SQL Server Management Studiolla. Kuvassa SQL 2008 R2 Management Studio

image

Identiteetin hallinta skenaariot SharePoint 2010:ssä

Sharepoint 2010 autentikointia ajatellen identiteetinhallinta on järjestelmän näkökulmasta jakautunut kolmeen osaan. SharePoint 2010 alusta käsittelee identiteetit ‘sisään tulevina’ (incoming), ‘ulosmenevinä’ (outgoing) ja inter/intra-farmi autentikointeina.

image

Sisään tuleva Identiteetti (Incoming)

Tämä skenaario esittää skenaarion, jossa asiakasohjelma tai järjestelmä esittäytyy Sharepoint järjestelmälle – eli autentikoituu – websovelluksena tai webservicenä. SharePoint käyttää asiakasohjelman identiteettiä autorisointiin sen suojattuihin resursseihin, kuten web sivuihin, dokumentteihin jne.

SharePoint 2010 tukee kahta eri moodia asiakasohjelmien autentikoinnissa. Ne ovat ‘Classic’ ja ‘Claims Mode’.

Classic Mode

Classic mode mahdollistaa tyypillisen MS Internet Information Services (IIS) autentikaation, joka on tuttu edellisistä SharePoint versiostakin.Kun SharePoint 2010 on konfiguroitu ‘classic mode’ käyttöön, voidaan sitä laajentaa seuraavilla IIS autentikointi metodeilla:

Windows Integroitu autentikaatio

Windows integroitu autentikaatio mahdollistaa asiakassovellusten saumattoman autentikoitumiseen Sharepointin kanssa, ilman käyttäjätunnuksen ja salasanan kirjoitusta erikseen. Käyttäjien autentikointiin tarvittavat tiedot välitetään Internet Explorerin prosesseissa sen mukaan, millä tunnuksilla kukin käyttäjä on kirjautunut työasemaan.  Palvelut tai sovellukset jotka käyttävät Sharepoint 2010 järjestelmää, yritetään tällä tavalla autentikoida käyttäen prosessin oletus identiteettinä tulevia tunnuksia, jotka on siis työasemaan kirjauduttaessa jo annettu.

NTLM

NT LAN Manager (NTLM) on Windows integroidun autentikoinnin oletus protokolla. Tämä protokolla laajentaa kolmiosoisen vaatimus-vastine (challenge-response) sarjan asiakassovellusten autentikoinniksi. Lisätietoja tästä löytyy saitilta Microsoft NTLM.

Edut:

– Yksinkertainen konfiguroida ja tyypillisesti ei vaadi mitään erityistä ympäristön tai infran konfiguraatioita toimiakseen.

– Toimii vaikka asiakassovellus ei olisikaan liitetty domainiin, ja vaikka domain luottamusta ei olisikaan domainiin missä SharePoint 2010 on.

Haitat:

– Vaatii SharePoint 2010 ottamaan yhteyden domainiin joka kerran kun asiakassovelluksen autentikaation vastine on varmistettava. Se aiheuttaa lisääntyvää kuormaa domain controlloreille.

– Ei mahdollista asiakassovellus delegointia login tunnuksille taustajärjestelmiin (esim. tietokanta). Tämä tunnetaan englanninkielen terminä ‘Double hop’

– Tämä on alkuperäinen – natiivi – protokolla

– Ei tue palvelin autentikaatiota

– Se on mielletty vähemmän turvalliseksi kun Kerberos autentikointi

Kerberos protokolla

Kerberos protokolla on suojattu protokolla, joka käyttää ‘tiketti’ autentikointia. Se myöntää tiketin vastineeksi asiakassovelluksen autentikaaatio pyynnölle ,jos pyyntö sisältää oikeat tunnukset ja oikean ‘Service Principal Name’:n (SPN). Tämän jälkeen asiakassovellus on oikeutettu verkkoresurssien käyttöön. Kerberos autentikaation käyttö vaatii asiakas- ja palvelin luottosuhteen avain jakeluun (Key Distribution Center eli KDC). Tämä KDC jakaa salatut avaimet, jotka tarvitaan salaukseen ja sen purkuun. Asiakas- ja Palvelin koneille on myös oltava Active Directory palvelut käytössään. Forest rootti domain on Kerberos autentikoinneissa oleellinen osa, josta lisätietoja löytyy saitilta: How the Kerberos Version 5 Authentication Protocol Works ja Microsoft Kerberos.

Edut:

· Kaikkein turvallisin Windows integroitu autentikointi protokolla.

· Sallii asiakassovellusten tunnuksien delegoinnin

· Tukee molemminpuolista autentikointia asiakassovellusten ja palvelinten välillä.

· Aiheuttaa vähiten liikennettä ja kuormaa domain controllereilla

· Avoin protokolla, jota tuetaan monissa eri ympäristöissä ja monien toimittajien kautta

Haitat:

· Vaatii konfigurointia ympäristöön ja infraan toimiakseen kunnolla.

· Vaatii asiakassovelluksilta yhteyden KDC:hen (Active Directory domain controller Windows ympäristöissä) TCP/UDP porttista 88 (Kerberos), ja TCP/UDP portista 464 (Kerberos salasanan viahto – Windows)

SQL Server Reporting Services ei tue ‘Claims based’ autentikointia

Seuraavat sovellukset/palvelut vaativat C2WTS ja Kerberos riippuvuus delegoinnin:

· Excel Services

· PerformancePoint Services

· InfoPath Forms Services

· Visio Services

Seuraavat sovellukset/palvelut eivät ole riippuvaisia näistä vaatimuksista. Ne voivat käyttää perus delegointia tarvittaessa:

· Business Data Connectivity service and Microsoft Business Connectivity Services

· Access Services

· Microsoft SQL Server Reporting Services (SSRS)

· Microsoft Project Server 2010

Ainoana tämän hetken sovelluksen/palveluna joka ei ole riippuvainen mistään näistä vaatimuksista, koska delegointi ei ole lainkaan sallittu:

· Microsoft SQL Server PowerPivot for Microsoft SharePoint

Identiteetti ulospäin (Outgoing)

Ulospäin käytetty identiteetti on kuvattu dokumentissa SP2010 Kerberos Guide, joka löytyy Microsoft technet ja MSDN saiteilta (linkit ovat mainittu aikaisemmin tässä dokumentissa ja tässä alla).

Lisätietoja autentikoinnista löytyy seuraavista lähteistä:
Kerberos guide Sharepointtiin:

http://www.microsoft.com/downloads/details.aspx?FamilyID=1A794FB5-77D0-475C-8738-EA04D3DE1147&amp;amp;displaylang=e&displaylang=en

Erittäin hyvä Kerberos tietolähde.

http://social.technet.microsoft.com/wiki/contents/articles/kerberos-survival-guide.aspx

Kerberos windows 2003 serverissä:

http://social.technet.microsoft.com/wiki/contents/articles/kerberos-interoperability-step-by-step-guide-for-windows-server-2003.aspx

MSDN kerberos ohjeet:

http://msdn.microsoft.com/en-us/library/aa378747.aspx

BI Projektin kuvaus

Yleinen kuvaus prosessimaisesti:

image

Liiketoimintatarpeiden määritykset

Tämä on kaiken perusta. Liiketoiminta vaatimukset ja niiden lisäarvo ohjaa päätöksiä kaikilla kolmella osuudella. Nämä vaikuttavat rajauksiin ja suunnitelmiin.

Dataprofiili raportit

Profilointi auttaa huomattavasti mallinnuksessa. Se tarkoittaa käytännössä kantaa tutustumista, johon helposti kuluu huomattavasti aikaa ’käsipelillä’

image

image

image

Liiketoimintaprosessien mukainen dimensionaalinen malli

Dimensionaalinen mallinnus Excell illä tarkoittaa lähde ja kohdetaulujen datan ja kenttien mäppäystä, sekä tietotyyppien tilantarpeen laskentaa. Lisäksi sen perusteella saadaan kannan luontilause. Tästä luetaan mallinnusvälineeseen (Visio, ErWin jne.) kuvaus dokumentointia ja ylläpitoa varten.

imageimage

image

Nimeämiskäytännöt

On olemassa erilaisia nimeamiskäytäntöstandardeja ja ehdotamme käytettäväksi organisaation normaalinkäytännön mukaisia nimiä. Jos on tarpeen, otetaan käyttöön esimerkiksi seuraavan lainen jota sovelletaan tarpeen mukaan:

Dim_Customer

Fact_Sales

Idx_pk_Fact_Sales

Idx_Dim_Customer

Relaatiokannan fyysinen malli

Luo skripti mallinnusvälineillä tai käsin. Skriptissä on oltava partitionti ja sen elinkaarenhallinta. Toisin sanoen uusien partitioiden luonti lennossa tai etukäteen niin paljon partitioita, että ne riittävät halutulle ajanjaksolle (esim. 5 vuotta)

image

ETL prosessien suunnittelu ja toteutus

Dokumentissani ja tässä blogissa toisaalla ’invenco ETL_Specification Methodology ToC’ löytyy kuvaus ETL prosessien määrityksistä siinä muodossa, kun suosittelemme sitä käytettäväksi

image

image

SCD – hitaasti muuttuvat dimensiot

Hitaasti muuttuvien dimensioiden käsittelyt voidaan jakaa kahteen päätyyppiin. Nämä ovat yleisesti tunnettu Type1 ja Type 2 nimillä. Lisäksi on olemassa rajoitettu historiointi vaihtoehto, jossa nämä yhdistetään ja sitä kutsutaan Type 3:ksi. Joskus kuulee käytettävän vielä Type 0 nimitystä, mutta tämä tarkoittaa yksinkertaisesti, ettei muutosta käsitellä mitenkään. Tietoja ei myöskään silloin muuteta. Viimeisenä voidaan mainita Type 4, jolla tarkoitetaan historiataulua. Se on kokonaan uusi taulu.

Tyyppi 1

Tässä tapauksessa tietoja ei historioida lainkaan, vaan uusi tieto korvaa aiemman.

Esimerkiksi:

Supplier_Key

Supplier_Code

Supplier_Name

Supplier_State

123

ABC

Acme Supply Co

CA

Muuttuu uuden tiedon saapuessa:

Supplier_Key

Supplier_Code

Supplier_Name

Supplier_State

123

ABC

Acme Supply Co

IL

Tyyppi 2

Tässä tapauksessa toteutuu täysi historiointi lisäämällä uusi rivi, kun historioitava tieto muuttuu. Kullakin rivillä tulee olemaan sama luonnollinen avain ja uudelle riville muodostetaan uusi synteettinen avain (surrogaatti)

Supplier_Key

Supplier_Code

Supplier_Name

Supplier_State

Version

123

ABC

Acme Supply Co

CA

0

124

ABC

Acme Supply Co

IL

1

Usein käytetty tapa on lisätä muuttuneen tiedon mukaan muutos pvm, jonka käyttöä on syytä välttää todella suurissa dimensiotauluissa. Varsinkin jos käytössä ei ole tehokkaita pakkaus tekniikoita.

Supplier_Key

Supplier_Code

Supplier_Name

Supplier_State

Start_Date

End_Date

123

ABC

Acme Supply Co

CA

01-Jan-2000

21-Dec-2004

124

ABC

Acme Supply Co

IL

22-Dec-2004

 

Tyyppi 3

Tässä tapauksessa käytetään rajoitettua historiointia lisäämällä ennalta sovittu määrä sarakkeita tauluun ilmaisemaan muutamia kertoja muuttuvia historiointeja. Tämä soveltuu erityisen hyvin tapauksiin, joissa tiedetään ettei seuranta/raportointi jaksolla tule koskaan kun muutamia muutoksia ko. tietoihin. Haittapuolena on mahdollisesti hankala toteutustapa.

Supplier_Key

Supplier_Code

Supplier_Name

Original_Supplier_State

Effective_Date

Current_Supplier_State

123

ABC

Acme Supply Co

CA

22-Dec-2004

IL

Tyyppi 4

Tämä on kaikessa yksinkertaisuudessaan uuden taulun luonti. Tämä voi soveltua esimerkiksi vanhoille osoitteille tai postinumeropille. Kankein, mutta joskus erittäin helppo ja käyttökelpoinen tapa.

Analysis services kannan mallinnus ja toteutus

Analysis services kanta Visual studiossa

image

Kuution kantamalli.

image

’Solution explorer’ visual studion työtilan tiedostot.

image

Dimensioiden ja faktojen käyttö.

image

Laskennalliset mittarit.

MDS masterdata malli

MDS on Microsoft SQL server optio ja termi on yksinomaan MS tuotteiden yhteydessä käytetty nimitys, joka tarkoittaa Microsoft SQL Server masterdata services toiminnallisuutta.

Esimerkin Tuotekategoria malli ja hierarkiat

• Malli luodaan kunkin raportointijärjestelmän tarpeen mukaan tiedoilla, jotka saadaan aihealueen tarpeista.

• Kaikkien dimensio taulujen master mallit muodostuvat kyseisen aihealueen (datamart) mallinnuksessa ja ETL prosessien toteutuksen ja suunnittelun aikana.

• Oleellista on se, että malli on oltava jaettavissa muiden – myös operatiivisten – kanssa.

• Lisäksi Master data strategia on suunniteltava. Se kertoo tavan millä Etl prosessit, joko käyttävät MDS dataa lähteenä tai käyttävät sitä ns. lookup lähteenä tietojen tarkistuksessa.

• Tämä kokonaisuus ei yleensä kuulu BI projektiin.

• Vain tämän BI projektin aihealueen osalta se kuuluu mukaan

image

image

Trendit – ja pitkänaikavälin epäsäännöllisyys

Pitkillä aikaväleillä trendilaskenta tulisi olla suoraviivaista historiaan perustuvaa ’keskiarvo’ laskentaa

Jos tämä ei ole mahdollista on kehitettävä ’jyvitys’ algoritmi huolellisesti, koska tämä vastaa todellisuutta

· Kk, kvartaali, vuosijako

· Erilaiset painotukset

· Ennustus

BI sovellus Reporting servicesissä

Reporting services raportit tehdään report builderilla tai visual studiossa (BIDS)

Esimerkki on BIDS – eli SQL Server kehitysympäristö – Visual Studio

image

image

Powerpivot ja Excel mallit

image

Powerpivot data.

image

Powerpivot ’faktaa’.

image

Powerpivot dimensiodataa.

image

Powerpivot raportti, joka voidaan vielä viimeistellä ’nätimmäksi’ julkaisua varten esim SharePoint 2010 saitille.

BI portaali ja SharePoint

Asennus ja konfigurointi Microsoft oheistuksen mukaan. Lisäksi Sharpoint saittin (WSP) ’solution’ tiedosto on aktivoitava Sharpointissa tai käytetään olemassa olevia paketteja, kuten BI Site collection solution.

MS Ohjeistuksen lisäksi on syytä tehdä alla olevien pohjien mukaiset valmistelut ja dokumentointi, joka toimitetaan Invenco BI projektin aikana malliksi Sharepoint tiimille.

image

Kuvaus muutamista dokumenteista jotka on hyvä toimittaa joka tapauksessa tiimille ja asiakkaalle.

Tietoturva suunnittelu ja toteutus

Harvoin mikään excel dokumentti pystyy kuvaamaan tietoturvaa tai käyttöoikeuksia kyllin hyvin. Siksi kannattaa muotoilla mahdollisimman selkeä kuvaus tämän mallin mukaisesti, siitä mitä tietoja kullekkin käyttäjälle tai ryhmälle saa näkyä. Tämä myös siksi, että varsinainen autorisointi tehdään ns. muualla kun kannassa. Tämä ’muualla’ on yleensä Active Directory tai LDAP. Sen sääntöjen mukaanhan data saa näkyä käyttäjille. Kaikki erikoisuudet, kuten oma autorisointi kannoissa on vastoin yleisiä tietoturva käytäntöjä ja sellaiset jäävät hyvin nopeasti jälkeen normaalissa tietosuoja ylläpidossa.

image

image

image

Metadata suunnitelma

Jos päätetään toteuttaa varsinainen metadata kanta, on sen tekoon valmiina kanta skriptit ja lataus proseduurit. Kuva niistä tässä malliksi.

Lisäksi esimerkki metadata ’browser’ raportit toteutettuna visual studiolla. Esimerkki on erittäin hyvä Kimball malli ja toimitetaan Datawarehouse toolkitin mukana.

image

image

Jos päätetään toteuttaa varsinainen metadata kanta, on sen tekoon valmiina kanta skriptit ja lataus proseduurit. Kuva niistä tässä malliksi.

image

image

image

Ylläolevat raporttipohjat tässä vielä Visual Studio työtilassa.

ETL:stä RS linkki raportointiautomaatioon

image

Kuva1 – Orders Data Load Complete ajastusksen ominaisuudet SQL Server Management Studio:ssa

image

Kuva2 – Raportin tilaus (subscription) Orders Data Load Complete ajastuksessa

<span>%d</span> bloggaajaa tykkää tästä: