SQL Server Integration Services – transakcje a zmienne

VN:F [1.7.9_1023]
Rating: 5.0/5 (1 vote cast)

Ostatnio zetknąłem się z problemem dotyczącym wykorzystania transakcji natywnych SQL Servera z poziomu pakietu SQL Server Integration Services (SSIS). Abstrahując od tego, czy jestem zwolennikiem zaszywania kodu T-SQL w pakietach SSIS, czy nie, problem wydał mi się dobrym materiałem na wpis na blogu :-)

Wyobraźmy sobie uproszczony pakiet, który wygląda tak:

image

  • SQL Begin Tran 1: zadanie Execute SQL Task na połączeniu Connection Manager 1 (połączenie z SQL Server, właściwość RetainSameConnection=True) z kodem T-SQL: BEGIN TRAN;.
  • SQL Begin Tran 2: zadanie Execute SQL Task na połączeniu Connection Manager 2 (połączenie z SQL Server, właściwość RetainSameConnection=True) z kodem T-SQL: BEGIN TRAN;.
  • SQC Do Something: sekwencja czynności do wykonania, nieistotne, na którym połączeniu. Ważne: w jednym z kroków sekwencji ustawiana jest wartość pewnej zmiennej w paczce SSIS.
  • SQL Commit Tran 2: zadanie Execute SQL Task na połączeniu Connection Manager 2 z kodem T-SQL: COMMIT TRAN;.
  • SQL Commit Tran 1: zadanie Execute SQL Task na połączeniu Connection Manager 1 (właściwość RetainSameConnection=True) z kodem T-SQL: IF ? = 1 COMMIT TRAN; ELSE ROLLBACK; (pod ? podstawiamy zmienną z paczki SSIS, której wartość była ustawiana w sekwencji).

Oczywiście, kody specjalnie upraszczam, ale istota problemu została zachowana – mamy dwie transakcje, na różnych połączeniach, jedna ma się toczyć niezależnie od drugiej, ale druga ma zostać zatwierdzona (COMMIT), tylko, gdy pierwsza została zakończona powodzeniem, czego wyrazem ma być wartość zmiennej w paczce SSIS ustawiona na 1.

Problem? Ostatni krok kończy się błędem z komunikatem:

Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 1, current count = 0.

Dlaczego tak się dzieje? Aby odpowiedzieć na to pytanie, dobrze jest – wykorzystując aplikację SQL Server Profiler – przechwycić kod T-SQL wykonywany przez pakiet.

Okazuje się, że kod T-SQL na połączeniu Connection Manager 1 wygląda na kształt:

BEGIN TRAN;
-- tu coś robimy...
EXEC sp_executesql N'IF @zmienna = 1 COMMIT TRAN; ELSE ROLLBACK;',
                   N'@zmienna int',
                   @zmienna = 1;

Problem wynika zatem z faktu, że gdy kod T-SQL musi być parametryzowany, SSIS uczciwie wykorzystuje parametryzację za pomocą procedury systemowej sp_executesql (“bezpieczny” dynamiczny T-SQL). A kod wewnątrz sp_executesql zachowuje się tak, jak procedura składowana – krzyczy na złego człowieka, jeśli wartość @@TRANCOUNT na starcie nie jest równa wartości @@TRANCOUNT na końcu wykonywanego kodu (w konkretnym przypadku na dzień dobry była otwarta transakcja, a na końcu transakcji nie było – została zatwierdzona).

Wniosek: jeśli już koniecznie transakcje SQL-owe tworzone poprzez zaszywanie kodu T-SQL rozproszonego po zadaniach w pakietach SSIS, to nie mieszajmy wysyłania wsadów (nieparametryzowanych kawałków kodu T-SQL) z parametryzowanymi blokami kodu wykonywanymi za pomocą sp_executesql. Inaczej efekt może być taki, jak powyżej.

24 Hours Of PASS dla analityków

VN:F [1.7.9_1023]
Rating: 5.0/5 (1 vote cast)

Z niekrytą radością przekazuję dalej informację o kolejnej edycji wydarzenia online pod szyldem 24 Hours of PASS. Konferencja odbędzie się 30 stycznia i będzie – tradycyjnie – przeprowadzona w formie spotkań online i webcastów. Tym razem będzie dedykowana analitykom biznesowym. Zostaną w jej trakcie zaprezentowane rozwiązania bazujące na platformie analitycznej Microsoft, w tym także na najnowszysch technologiach (m.in. HDInsight dla Big Data).

Lista sesji wygląda zachęcająco. Swoje prezentacje poprowadzą m.in. Pete Myers, Stacia Misner czy Alberto Ferrari. A więc dobrze znani prelegenci, którzy znają się na rzeczy. Ale myślę, że z równie wielkim zainteresowaniem spotkają się choćby zaawansowane sesje analityczne Paula Bradleya i Wayne’a Winstona.

Smaczkiem z pewnością będzie sesja poprowadzona przez pracownika Microsoft. Marc Reguera, Finance Director, poprowadzi prezentację o tym, w jaki sposób w firmie Microsoft w dziale finansowym we Francji wykorzystywane są dobrodziejstwa technologii wspierających analitykę.

Suma summarum – zapowiada się na sporą dawkę “mięska” i praktycznego ujęcia tematu. Ja już zarezerwowałem sobie czas 30 stycznia. Acha, zapomniałbym, udział w konferencji jest bezpłatny :-)

Podsumowanie roku 2012

VN:F [1.7.9_1023]
Rating: 5.0/5 (3 votes cast)

Co roku w grudniu przychodzi moment na rachunek sumienia za ostatnie 360-kilka dni :-) Czyli na wpis podsumowujący cały rok kalendarzowy. Ten rok był dla mnie czasem próby. Ale po kolei…

Praca

W styczniu rozpocząłem pracę w polskim oddziale Microsoft na stanowisku doradcy technologicznego w kanale partnerskim. To była duża zmiana w moim życiu. W zasadzie od tamtego czasu do dzisiaj poznaję zwyczaje i procesy obowiązujące w wielkiej korporacji. Nie muszę chyba dodawać, że jest to spore wyzwanie – zrozumieją zwłaszcza ci, którzy w korporacjach pracowali/pracują :-) Łatwo nie jest. O ile Microsoft to duża i renomowana firma, co niekiedy wiele ułatwia w kontaktach z klientami i partnerami, o tyle fakt, że jest to tak duża organizacja, wymusza jednocześnie pewne procedury i zmusza do zachowania określonych i z góry narzuconych zasad działania w pracy (a czasem i poza pracą). Mówiąc po ludzku – jeśli jesteś pracownikiem firmy takiej jak Microsoft, możesz swoimi słowami i/lub czynami przyczynić się do tego, jak postrzegana jest firma (a to jest, wierzcie mi, bardzo ważne wewnątrz tej firmy), a nawet możesz zadziałać na jej korzyść lub niekorzyść.

Sama praca jest bardzo ciekawa, choć niełatwa. Dużo kontaktów z partnerami i klientami. Spotkania czysto biznesowe i dotyczące technologii. Oglądam z bliska małe, średnie i duże firmy oraz toczące się w nich projekty, w ramach których partnerzy Microsoft tworzą często naprawdę unikalne rozwiązania (a więc i nauka dla mnie się znajdzie). Poznaję problemy, które dotykają projekty, jeszcze zanim zostaną napisane pierwsze linijki kodu. I naprawdę dużo czasu spędzam nad rozwijaniem kompetencji firm partnerskich w zakresie platformy aplikacyjnej (czyli głównie SQL Server :-)).

Wiele osób wróżyło, że po pewnym czasie pracy w Microsoft będę mówił żargonem korporacyjnym. Prawda, posługuję się nim sprawnie (“reve”, “wykon” i takie tam – to mój chleb powszedni). Ale z drugiej strony wydaje mi się, że nie przenoszę tego języka poza świat korporacji – do rozmów ze znajomymi, klientami i partnerami (o ile oni sami już tym słownictwem nie operują ;-)). Aczkolwiek przyznaję, że trzyliterowe skróty w Microsoft się już kończą :-D

Poza pracą w Microsoft, w połowie roku zakończyłem trzyletnią współpracę w ramach projektu unijnego z Warszawską Wyższą Szkołą Informatyki. Zaproszony przez wielkiego zapaleńca SQL-owego, Pana Andrzeja Ptasznika (dzięki, Andrzej!), do prowadzenia zajęć z zakresu baz danych i business intelligence przez trzy lata “gnębiłem studentów” optymalizacją, programowaniem baz danych czy procesami ETL. Muszę powiedzieć, że ta praca przyniosła mi wiele satysfakcji i ciekawych znajomości (pozdrawiam dyplomantów studium podyplomowego WWSI :-)). I na pewno, jeśli jeszcze będzie okazja do współpracy z Andrzejem, nie omieszkam skorzystać. Aż dziw bierze, że na uczelniach można spotkać tylu prawdziwych pasjonatów baz danych.

Nowa pasja

Czym byłoby życie bez pasji? Moją pasją od wielu, wielu lat są i były bazy danych. “Babranie się” w danych wszelkiej maści, zgłębianie tajników systemów bazodanowych – to jest to, co mnie nadal kręci. Dzisiaj wygląda to tak, że mam na laptopie zainstalowane i skonfigurowane, oprócz dość oczywistych dwóch instancji SQL Server (2008 R2 i 2012), także serwery Oracle, MySQL i PostrgreSQL. I bynajmniej nie chodzi wyłącznie o poznawanie konkurencji (o to oczywiście też :-)), ale o zaspokojenie mojej ciekawości, o badanie możliwości, wyłapywanie co ciekawszych funkcjonalności. Dzięki temu jestem w stanie prezentować na spokojnie mocno heterogeniczne dema, w których np. proces ETL pobiera (inkrementalnie) dane z bazy Oracle lub MySQL, po drodze wykonuje czyszczenie danych, a na koniec – po odpowiednich konwersjach danych – pakuje je do bazy na SQL Server. Przednia zabawa :-)

Ale, ale… Wspomniałem o nowej pasji. Moim nowym pożeraczem czasu i zasobów (niektórzy powiedzą, że to nowe zauroczenie już chwilę trwa) jest bieganie. Najpierw chciałem wyłącznie zrzucić parę kilogramów. Próbowałem wcześniej różnych diet – zawsze z tym samym skutkiem, czyli potężnym efektem jojo :-) Tym razem skutek jest dość trwały. Odkąd w wakacje zacząłem biegać na poważnie (czytaj – pięć razy w tygodniu), zrzuciłem ponad 8 kg, a waga nie wraca (i nie zamierzam na tym poprzestać!). I, co ważne, nie stosuję żadnej specjalnej diety ;-) Dziękuję wszystkim, którzy przyczynili się do zarażenia mnie bieganiem oraz wszystkim, którzy mi dopingują w moich zmaganiach z samym sobą. Keep on running!

Społeczności

Ktoś zarzucił mi niedawno, że całkowicie “odstawiłem na bok” społeczności IT w swoim życiu. W mojej ocenie prawda jest odrobinę inna :-) Przede wszystkim, nie mam już tyle czasu, żeby mocno poświęcić się społecznościom – czytać wszystkie fora, blogi i portale, pisać artykuły, blogować, nagrywać webcasty czy prowadzić prelekcje. Ale jeżeli tylko znajdę chwilę wolnego czasu, odwiedzam forum WSS.pl, wpadam na spotkania PLSSUG w Warszawie (czasem nawet z prezentacją), czy wybieram się na konferencję tematycznie związaną z SQL-em. A więc moc jest, tylko może trochę ukryta ;-)

Cieszę się, że są już plany na przyszły rok dotyczące konferencji SQLDay i że PLSSUG, który doczekał się w końcu bycia stowarzyszeniem (gratuluję Panowie liderzy – mi zawsze brakowało odwagi, żeby zrobić ten krok), dalej działa. Na pewno, jeśli tylko czas pozwoli, będę się starał być we Wrocławiu na kolejnej edycji corocznej konferencji dla pasjonatów SQL Server. Oczywiście, niezmiennie będę stawiał się na spotkaniach warszawskiego oddziału PLSSUG. Mam nawet kilka pomysłów na prezentacje.

I wreszcie – pierwsze postanowienie noworoczne: koniecznie chcę wrócić do aktywnego blogowania. Może niekoniecznie będę pisał eseje, ale przynajmniej parę razy w miesiącu napisać coś o technologii – na to będę chciał znaleźć czas.

Postanowienia noworoczne i życzenia dla czytelników

Pierwsze postanowienie już padło. Kolejne to pobiec półmaraton (warszawski) w czasie poniżej 2h. Do zrobienia, ale jeszcze muszę potrenować. Niemniej, jestem na dobrej drodze – 21 km już jestem w stanie pobiec, nieco powyżej 2h :-)

Następne postanowienie – poznać lepiej różne platformy bazodanowe (myślę tu o wspomnianych Oracle, MySQL i PostgreSQL), a także narzędzia oscylujące wokół tematyki DW/BI i Big Data (PDW, HDInsight, StreamInsight, a z “nie-Microsoftowych” m.in. QlikView). I oczywiście, stale rozwijać wiedzę o SQL Server 2012 (tym bardziej, że w SP1 jest kilka nowych funkcjonalności).

Pewnie jeszcze parę innych postanowień by się znalazło, ale wymienione trzy przychodzą mi do głowy natychmiast.

I to na tyle mojego krótkiego podsumowania dość udanego roku 2012. Życzę wszystkim Wesołych Świąt, spędzonych w gronie bliskich osób, bez natłoku codziennych obowiązków i trosk. A na Nowy Rok, spełnienia noworocznych postanowień. W końcu, każdy z nas do czegoś dąży w życiu – oby zawsze był przed nami cel!

Pozdrawiam serdecznie i do siego roku :-)

MTS 2012 – Po konferencji + materiały z sesji o T-SQL

VN:F [1.7.9_1023]
Rating: 0.0/5 (0 votes cast)

Konferencja MTS 2012 już za nami. Jest co wspominać. Miło było być uczestnikiem tego wydarzenia. Jak co roku, również tym razem największą wartość dla mnie miały dwie rzeczy: możliwość spotkania ludzi dzielących podobne pasje i zainteresowania (a tym razem często także i interesy!) oraz merytoryka prezentacji.

20121030_102647Zacznijmy od ludzi – tych na MTS 2012 było sporo. Nie znam dokładnej liczby uczestników, ale myślę, że kilka tysięcy ludzi związanych z IT znów odwiedziło EXPO XXI. I dobrze, bo zrobionego z większym rozmachem wydarzenia skoncentrowanego na technologiach Microsoft w Polsce po prostu nie ma. I tak, spotkałem wielu znajomych ze społeczności (MVP, liderzy grup, ludzie z portali WSS/CG), licznych partnerów w biznesie (choćby pracowici koledzy z firm Bonair i ITMagination w butiku ATE – pozdrawiam i miło było Was poznać), klientów. Każda przerwa była dobrze spędzonym czasem, pełnym dyskusji o technologii, rozwoju branży, problemach dzisiejszego IT. Bezcenne.

20121030_122846Merytoryka. Będąc po raz XYZ na wielkiej konferencji człowiek ogląda prezentacje przez odrobinę inny pryzmat. Liczy się to, jak dużo wysiłku prelegenci włożyli w przygotowanie sesji, jak niebanalne są przemyślenia i wnioski prezentowane w czasie sesji. Taki Grzesio Tworek na przykład. Facet specjalnie pożyczył serwer i na nim siał spustoszenie maszynami wirtualnymi na Hyper-V 3.0. W dodatku mądrze serwował swoje “manadżerskie” wizje na temat teraźniejszości i przyszłości wirtualizacji. Wielki szacunek. Podobnie Tomek Onyszko, który w ferworze walki miał pozakładane tyle maszyn wirtualnych do pokazywania swojego ulubionego AD (tym razem na Windows Server 2012), że aż dopadli go Demo Gods ;-) Nie muszę dodawać, ze obaj Panowie poparli pracowicie przygotowane dema doskonałym warsztatem prezenterskim. Podobały mi się też sesje o Windows 8 – Mariusz Kędziora nie przynudzając zrobił dobrą sesję o ciekawostkach i “what’s new”, a Bartek Zass i Tomek Wiśniewski opowiedzieli programistom, jak zarabiać na tworzeniu aplikacji na Windows 8 i jak te aplikacje produkować. Kawał dobrej roboty. Żałuję wielce, że nie udało mi się dotrzeć na sesję Pauli Januszkiewicz, która to sesja z relacji naocznych świadków była ponoć – cytuję – “absolutnym numerem jeden”. No cóż, czemu mnie to nie dziwi :-) W końcu gość specjalny konferencji!

Co do sesji SQL-owych – nie byłem na żadnej (poza sesją Marka Adamczuka i moją), ale też słyszałem pochlebne opinie, choćby o prezentacji Daniela Araka i Radka Łebkowskiego n/t Business Intelligence. Jestem pewien, że cała paczka “SQL-owców” – Marcin Szeliga, Łukasz Grala, Damian Widera, Radek Kępa i Piotrek Dragan (chyba nie pominąłem nikogo?) – też dała radę!

20121030_130728Ja i Marek mieliśmy trudne zadanie. Zainteresowanie naszą sesją przerosło nasze najśmielsze oczekiwania. W sali A, która mieści zdaje się 3000 ludzi (!!!), była naprawdę pokaźna liczba słuchaczy. Dziękuję w imieniu swoim i Marka za takie zaufanie! Czy nie zawiedliśmy oczekiwań? Trudno mi ocenić. To już wiedzą tylko ci, co byli i nas wysłuchali. Zadanie mieli niełatwe, jako że na wielkiej sali śledzić przez godzinę kod T-SQL na dużych, acz jednak męczących wzrok ekranach, to spore wyzwanie. I jeszcze pora dnia – godzina 17, po kilku obejrzanych sesjach tego dnia. Tym większe nasze uznanie dla tych, którzy wytrwali do samego końca. Okazało się, że 60 minut to dla wielu prelegentów (także dla nas) po prostu za mało czasu. Chciałoby się “mięsko” serwować nieco dłużej. No cóż, przedłużyliśmy jedynie o 5 minut. I tak mieliśmy okrojone demonstracje :-) Mam nadzieję, że materiał z prezentacji się przyda. Linki do pobrania prezentacji i skryptów zamieszczam poniżej, a także w dziale Zasoby na moim blogu. Przy okazji dziękuję tym, którzy zechcieli ocenić naszą sesję wypełniając ankietę oraz wszystkim, którzy ankietę jeszcze wypełnią – tylko dzięki Wam możemy dowiedzieć się, co możemy poprawić w naszych przyszłych prezentacjach.

I to chyba na tyle. Nie mogę doczekać się już następnej konferencji MTS. Liczę, że będę miał okazję się na niej pojawić i że odbędę tyle ciekawych dyskusji o życiu i technologii.

Pobierz slajdy z sesji “SQL Server 2012 – nowe elementy języka T-SQL w praktyce”

Pobierz dema z sesji “SQL Server 2012 – nowe elementy języka T-SQL w praktyce”

Cenne informacje na temat SQL Server 2012

VN:F [1.7.9_1023]
Rating: 0.0/5 (0 votes cast)

SQL12_h_rgb_pngSQL Server 2012 jest już na rynku chwilę. Pracując z klientami i partnerami zbudowałem sobie na własne potrzeby listę co cenniejszych zasobów pomocnych w opanowaniu zarówno samej technologii, jak i trudnej sztuki licencjonowania. Mam nadzieję, że dzięki wymienionym na poniższej liście materiałom uda się odszukać większość odpowiedzi na nurtujące Was pytania i wątpliwości.

Informacje o SQL Server 2012

Większość matieriałów z poniższej listy została opublikowana w języku angielskim. Z pewnością część z nich zostanie przetłumaczona na język polski, natomiast już teraz warto zapoznać się z oryginałami.

  • Polska witryna SQL Server 2012 [PL]
    Podstawowe informacje na temat systemu SQL Server 2012 przedstawione w języku polskim. Ogólny zarys funkcjonalności oraz licencjonowania. Bardzo dobre uzasadnienie, dlaczego warto zainteresować się SQL Server 2012 jako platformą informacyjną.
  • Oficjalna witryna SQL Server 2012
    Najnowsze informacje związane z produktem: newsy ze świata, historie klientów, dokumenty techniczne, kalendarium wydarzeń i wiele innych interesujących informacji.
  • Zestawienie funkcjonalności edycji SQL Server 2012
    Porównanie funkcjonalności technicznych poszczególnych edycji SQL Server 2012. Porównanie ma postać czytelnych tabel z podziałem funkcjonalności na poszczególne moduły (np. wysoka dostępność, wydajność, itd.). Materiał raczej dla osób technicznych, znających przynajmniej ideowo funkcjonalności SQL Server. Ze strony w prosty sposób można przejść do analogicznych stron porównujących edycje poprzednich wersji SQL Server.
  • Licencjonowanie SQL Server 2012
    Wartściowa strona dla wszystkich, którzy chcą dowiedzieć się jak najwięcej na temat licencjonowania SQL Server 2012. Do pobrania z tej strony jest przewodnik po licencjonowaniu, a w nim: informacje o licencjonowaniu per core i per serwer, o korzyściach płynących z zakupu Software Assurance, o możliwościach downgrade’u i upgrade’u. Wszystko w zwartej i czytelnej formie.
  • Wirtualne laby poświęcone SQL Server
    Wirtualne laboratoria poświęcone SQL Server 2008 R2 i 2012. Przekonaj się, jak działa AlwaysOn, jak łatwo tworzyć efektowne i efektywne analizy za pomocą Power View, czy jak tworzyć i wdrażać projekty BISM. Co ważne, w labowym środowisku wirtualnym możesz przeprowadzić własne doświadczenia nie opisane w przewodnikach do ćwiczeń!
  • SQL Server TechCenter
    Kopalnia wiedzy na temat poszczególnych modułów i funkcjonalności SQL Server 2012 oraz starszych wersji systemu. Szczególnie polecam webcasty z serii “How Do I”.
  • Microsoft Business Intelligence
    Witryna poświęcona SQL Server i technologiom wykorzystywanym do tworzenia rozwiązań analitycznych (Office, SharePoint). Wartościowe przykłady, dema online, informacje o najnowszych projektach.
  • SQL Server 2012 Fast Track
    Informacje na temat architektur referencyjnych Fast Track, czyli gotowych rozwiązań sprzętowo-programowo-konfiguracyjne pod duże (X-XX TB) hurtownie danych.
  • Informacje na temat appliance’ów PDW
    Informacje o bardzo wydajnych rozwiązaniach sprzętowo-programowych PDW (Parallel Data Warehouse) tworzonych wspólnie przez Microsoft i partnerów, Dell i HP, pod bardzo duże hurtownie danych (XX-XXX TB).
  • Seria poświęcona SQL Server 2012 jako platformie pod rozwiązania analityczne [PL]
    Seria artykułów autorstwa Bartka Graczyka poświęcona SQL Server 2012 jako platformie do tworzenia rozwiązań analitycznych. Artykuły zostały opublikowane w tamach Bazy Wiedzy portalu TechNet.

Certyfikacja

Zachęcam także do potwiardzenia Waszej wiedzy z zakresu SQL Server 2012 oficjalnymi certyfikatami. Z SQL Server 2012 związane są trzy ścieżki certyfikacji Microsoft:

  • MCSA: SQL Server 2012
    Certyfikat “podstawowy” z SQL Server 2012. Do zdania są trzy egzaminy, jak poniżej.

    image
    Ewentualnie można dokonać upgrade’u z certyfikatu MCTS: SQL Server 2008 zdając dwa egzaminy – 70-457 oraz 70-458.

  • MCSE: Data Platform
    Certyfikat dla średnio-zaawansowanych i zaawansowanych programistó i DBA. Po osiągnięciu certyfikacji MCSA do zdania są dwa dodatkowe egzaminy, jak poniżej.

    image
    Ewentualnie można dokonać upgrade’u z certyfikatów MCITP: Database Developer 2008 lub MCITP: Database Administrator 2008 zdając trzy egzaminy – 70-457, 70-458 i 70-459.

  • MCSE: Busness Intelligence
    Certyfikat dla średnio-zaawansowanych i zaawansowanych programistów rozwiązań BI. Po osiągnięciu certyfikacji MCSA do zdania są dwa dodatkowe egzaminy, jak poniżej.

    image
    Ewentualnie można dokonać upgrade’u z certyfikatów MCITP: Database Developer 2008 lub MCITP: Database Administrator 2008 zdając trzy egzaminy – 70-457, 70-458 i 70-460.

Aby zachęcić Was do zdawania tych egzaminów przypomnę, że udało mi się zdać wszystkie 7 egzaminów wchodzących w skład nowych ścieżek certyfikacyjnych (zdawałem egzaminy w wersji Beta). Czyli to nie mogą być aż tak trudne egzaminy, skoro mi się udalo ;-)

Na zakończenie tego wpisu zachęcam Was do kontaktu ze mną na adres e-mail pawelpo@microsoft.com. Dajcie znać, jeśli macie jakieś ciekawe materiały dotyczące SQL Server 2012, chętnie je dodam do powyższej listy. Jeśli odkryliście coś ciekawego przy okazji eksplorowania możliwości SQL Server 2012 lub macie przemyślenia na temat nowych funkcjonalności, także zapraszam do dyskusji.

PS. Nie ukrywam, że dodatkowym bodźcem do publikacji powyższej listy był wpis na blogu Mariusza Kędziory. Mariusz, dzięki za inspirację :-)

MTS 2012 – mój plan na konferencję

VN:F [1.7.9_1023]
Rating: 0.0/5 (0 votes cast)

Już za miesiąc największa konferencja dotycząca technologii Microsoft w Polsce. MTS 2012 będzie na pewno imprezą niepowtarzalną, ale już teraz trzeba zadbać trochę o swoje wrażenia z konferencji. Jak? Układając harmonogram. Co prawda jako prelegent nie mam możliwości układania harmonogramu na witrynie konferencji, ale będę miał wstęp na dowolne sesje. Yuppi!

Jakie sesje sobie upatrzyłem?

Dzień pierwszy (poniedziałek, 29.10):

  • 11:30 – Windows 8: Specjalisto IT – Niech Moc Będzie z Tobą, Mariusz Kędziora

    Już dawno chciałem zobaczyć Mariusza w akcji, ale jakoś nigdy się nie udało. Tym razem powinno się udać. A przy okazji jestem ciekaw, czy będę w stanie dowiedzieć się jeszcze czegoś o Windows 8, którego od jakiegoś czasu używam :-)

  • 14:00 – Programowanie aplikacji dla Windows 8 – część 1, Tomasz Wiśniewski

    Skoro używam Windows 8, nie byłbym sobą, gdybym choć nie spróbował dowiedzieć się, jak tworzyć dla tego systemu aplikacje. Dlatego wybieram się na dwuczęściową sesję Tomka.

  • 15:30 – Programowanie aplikacji dla Windows 8 – część 2, Tomasz Wiśniewski

  • 17:00 – SQL Server 2012 – nowe elementy języka T-SQL w praktyce, Marek Adamczuk i Paweł Potasiński

    Nie być na swojej własnej prezentacji to raczej faux pas ;-) Już nie mogę się doczekać, żeby znów z Markiem pokazać dobry kawałek programowania w T-SQL. Tym razem w ujęciu SQL Server 2012.

Dzień drugi (wtorek, 30.10):

  • 10:30 – Świeży powiew katalogu … czyli w Active Directory zmianami powiało, Tomasz Onyszko

    Drugi dzień śmiało można nazwać “dniem gwiazd”. Na początek (first but not last!) Tomek Onyszko i jego nieśmiertelny temat – AD. O AD wiem może nie tyle, ile chciałbym wiedzieć, ale na tę sesję idę po warsztat prezentacyjny i by wreszcie obejrzeć Tomka w roli prelegenta.

  • 12:00 – Windows Server 2012 Hot New Features – A techie’s deep-dive into DirectAccess, Compound Identity and Dynamic Access, John Craddock

    Jak już przyjeżdża gość specjalny z zagranicy, nie można go nie obejrzeć. Tym bardziej, że John Craddock będzie prezentował dość atrakcyjny temat. Nowinki i smaczki Windows Servera 2012. Tego nie mogę przegapić.

  • 14:30 – Ten Deadly Sins of Administrators about Windows Security, Paula Januszkiewicz

    ”Last but not least” – Paula, kolejny gość specjalny konferencji. Ostatnio, jak próbowałem się dostać na jej sesje, dwukrotnie odchodziłem z kwitkiem (TechEd Europe 2009). Może tym razem się uda… ;-)

Oczywiście, to nie jest cały mój plan na MTS. Zamierzam być na wieczornej imprezie pierwszego dnia konferencji, pojawić się w strefie Ask The Expert czy spotkać się z wieloma osobami, z którymi normalnie mam okazję rzadko porozmawiać. Czyli szeroko pojęty networking, który od paru lat jest dla mnie najmocniejszą stroną tego wydarzenia.

Do zobaczenia już za miesiąc w Centrum EXPO!

Nowy Office – Excel z wbudowanym Power View

VN:F [1.7.9_1023]
Rating: 5.0/5 (2 votes cast)

Dlaczego Office?

Niedawno ukazała się wersja Customer Preview pakietu Microsoft Office. I, choć data premiery nie jest jeszcze chyba znana, a przynajmniej ja jej nie znam :-), nowa odsłona popularnego pakietu biurowego (coraz częściej mam wrażenie, że Office to coś więcej…) zapowiada się bardzo ciekawie. Jako, że zajmuję się głównie systemem SQL Server i rozwiązaniami Business Intelligence, pierwszym elementem nowego Office’a, jaki postanowiłem przetestować, był Excel. Zresztą, zapowiedzi brzmią fenomenalnie – nowy Excel ma być wyposażony w funkcjonalność Power View. To oznacza, że nie będzie potrzebny SharePoint 201X Enterprise Edition, by przeprowadzać efektowne i interaktywne prezentacje / analizy danych.

First Look

Pierwsze wrażenie po instalacji dość dobre – nowy Office sprawnie nadpisał wcześniejszą instalację Office 2010. Jak dotąd nie zauważyłem większych problemów, a codziennie używam intensywnie Outlooka i PowerPointa, a także wspomnianego Excela. I od razu bardzo dobre doświadczenie z Excelem. Po uruchomieniu aplikacji mamy możliwość wyboru jednego z szablonowych arkuszy, w tym arkusza demonstującego wybrane nowinki zaimplementowane w aplikacji. Mi do gustu przypadło choćby automatyczne uzupełnianie kontekstowe tabeli. Wpisujemy dwie wartości będące fragmentem kolumny obok, i Excel domyśla się reszty, bardzo cool.

image

Kilku znajomych robiło podobne testy na danych adresowych i wyniki są bardzo interesujące. Oczywiście, nowy Excel kryje więcej ciekawych nowinek, ale mnie interesowało poletko Business Intelligence – nowe możliwości analityczne i mechanizmy prezentacji danych.

Przedsmakiem takich możliwości jest choćby nowe inteligentne podejście do tabel – przy zaznaczeniu tabeli Excel podpowiada, jak można wizualizować dane (m.in. za pomocą wskaźników graficznych):

image

Taka “inteligencja” narzędzia może spowodować, że nawet największy excelowy laik będzie w stanie wyczarować ciekawe wizualizacje danych :-)

Power View

Powe View w Excelu. Na to czekało wiele osób, które chciały mieć możliwość szybkiej i efektownej (a także efektywnej) prezentacji danych biznesowych. I doczekaliśmy się. W Excelu 2013 Power View pojawia się jako Add-in COM. Jeśli nie widzisz w zakładce INSERT pozycji Power View, zapewne musisz włączyć stosowny Add-in. Podobnie rzecz ma się z PowerPivot-em, który staje się wbudowanym elementem Excela 2013.

image

Po dwóch dniach eksploracji aplikacji mam pierwsze obserwacje. Z pomocą Power View w Excelu 2013 można analizować dane, które znajdują się w arkuszu Excel. Przynajmniej na razie nie wykorzystałem żadnego bezpośredniego połączenia do innego źródła danych. Oczywiście, nie oznacza to, że przed analizą musimy wszystkie dane przenieść do Excela. Można w Power View wykorzystać dane pobrane przy użyciu silnika PowerPivot (najpierw tworząc model danych właśnie w PowerPivot).

Co oferuje PowerView w Excelu 2013? Te same wizualizacje, co Power View znany dotąd, szybkie przełączanie pomiędzy różnymi formami prezentacji danych, słynne wykresy Scatter. Ale też ma swoje perełki. Na przykład wizualizacje danych na mapach, szablony kolorystyczne, tła z ustawieniami przezroczystości. Odnośniki do przykładowych raportów, jakie udało mi się wykonać, zamieszczam na końcu tego wpisu, a tymczasem pora na parę zrzutów ekranu.

image

 

image

Podsumowanie

Moje pierwsze wrażenie na temat Power View w Excelu? Bardzo pozytywne. To może być przełom w podejściu do analizy i prezentacji danych. Interaktywność i szybkość działania daje poczucie swobody w operowaniu raportami. Możliwość zapisu arkuszy w wieeele różnych miejsc (m.in. na Sky Drive) też jest niczego sobie. I to wszystko w Excelu. Ponadto, nadchodząca możliwość zapisu raportów Power View z Excela na nową wersję SharePointa będzie znakomitym dopełnieniem istniejących rozwiązań Business Intelligence opartych na oprogramowaniu Microsoft.

Polecam testowanie nowego Office’a. Zapewne znajdziecie jeszcze jakieś inne ciekawe “smaczki”, nie tylko w Excelu. Podzielcie się koniecznie, co Wam się podoba, a co byście zmienili.

I zgodnie z obietnicą udostępniam plik .zip zawierający dwa proste arkusze Excel 2013 wykorzystujące Power View (jeden używa tabelek wpisanych ręcznie w Excelu, drugi wykorzystuje model PowerPivot-owy):

Pobierz pliki z demonstracjami Power View (1,6 MB)

MTS 2012 – Będę prelegentem

VN:F [1.7.9_1023]
Rating: 5.0/5 (1 vote cast)

 

Co prawda rejestracja na konferencję Microsoft Technology Summit (MTS) 2012 ruszy dopiero 20 sierpnia, ale już teraz mogę, idąc śladem mojego kolegi z firmy – Mariusza Kędziory, napisać, że będę miał przyjemność wystąpić na MTS 2012 w roli prelegenta.

Tematem sesji, którą poprowadzę wraz z Markiem Adamczukiem (która to już nasza wspólna prezentacja?) będzie “SQL Server 2012 – nowe elementy języka Transact-SQL w praktyce”. Sesja będzie miała poziom merytoryczny 400 (czyli najwyższy). Obiecujemy z Markiem “samo mięsko”. Jeśli zatem jesteś programistą lub administratorem baz danych, pracujesz lub zamierzasz pracować z najnowszą odsłoną systemu Microsoft SQL Server i będziesz na MTS 2012, nie przegap naszej sesji!

Przy okazji, już teraz zachęcam wszystkich, którzy wybierają się na MTS 2012, do szeroko pojętego networkingu. Co roku to właśnie jest według mnie największą wartością takich konferencji (oczywiście poza merytoryką). Spotkajmy się i porozmawiajmy, o technologii i nie tylko :-)

Do zobaczenia na MTS!

580x75_MTS2012_spotkajmy_sie_na

[OT] Urlop, certyfikaty, praca w Microsoft i inne takie

VN:F [1.7.9_1023]
Rating: 0.0/5 (0 votes cast)

Urlop

Przez ponad dwa tygodnie milczałem na blogu. Było to spowodowane dwutygodniowym wypadem nad morze bałtyckie (polecam Kopalino – urocza wioska na Pomorzu, dużo zieleni, mało turystów :-)). Podładowałem baterie i teraz mogę pracować i blogować ;-)

Certyfikaty

W międzyczasie w moim transkrypcie MCP ukazały się cztery nowe certyfikaty:

MCSA(rgb)_1459_1457                 MCSE(rgb)_1462_1461

Dwa razy MCSA i dwa razy MCSE :-) Przypomniały się stare czasy. Zapewne sentyment do dawnego znaczenia tych akronimów przyświecał osobom, które decydowały o zmianie nazewnictwa certyfikacji dla SQL Server. W końcu, kto nie słyszał o MCSE? ;-) Więcej o certyfikatach dotyczących SQL Server na microsoft.com/learning.

Skąd u mnie tyle nowych “papierów”? Wspominałem już (Twitter/Facebook), że skutecznie podszedłem do siedmiu (tak, tak, aż tylu!) egzaminów beta. Numerki od 70-461 do 70-467. Od T-SQL po projektowanie aplikacji Business Intelligence. Tym sposobem norma egzaminów na ten rok wyczerpana (chyba, że coś sobie jeszcze wymyślę?!). Czy egzaminy były trudne? Były różne. Egzamin z języka T-SQL był… powiedzmy, że czasochłonny. Po raz pierwszy w życiu wykorzystałem cały czas dostępny na wypełnienie ankiety dotyczącej pytań w egzaminie ;-) Na pewno najtrudniejsze były dla mnie egzaminy z zakresu Business Intelligence. Ciągle uczę się tej sfery wykorzystania systemu SQL Server. Ale robię postępy :-) Na pewno w zdaniu tych egzaminów pomogła dobra znajomość funkcjonalności dostępnych w poprzednich wersjach systemu (np. do czego się może przydać i jak działa CDC) oraz znajomość nowości dostępnych w SQL Server 2012. A może ktoś z Was też zdawał te egzaminy? (są już w wersji “live”) Dajcie znać, jak Wam poszło!

Praca w Microsoft

Wiele osób pyta mnie, jak mi się pracuje w Microsoft. Cierpliwości! Myślę, że po roku pracy będę w stanie napisać obszerny wpis na ten temat. Tymczasem po sześciu miesiącach napiszę to, co na dziś mogę stwierdzić. Pracuje się świetnie. Oczywiście, z jednej strony to korporacja, człowiek jest małym trybikiem, mróweczką w sporej populacji. Ale z drugiej strony świadomość pracy dla firmy, która ma znaczący wpływ na rozwój branży IT i technologii na świecie, daje kopa. Co więcej, muszę przyznać, że ta ogromna rzesza ludzi jest naprawdę nieźle zorganizowana i funkcjonuje jak wielki rozproszony robot :-) Jak dotąd, nie żałuję ani chwili pracy jako Partner Technology Advisor i podpisuję się obiema rękami pod opinią, że Microsoft jest jednym z najlepszych pracodawców (ba, jest najlepszym pracodawcą, jaki mnie zatrudniał!) w naszej branży (a może nawet i nie tylko).

Plany, plany, plany…

Wypoczynek letni w zasadzie za mną. Ale to nie koniec ładowania baterii. Już za moment lecę do Atlanty na wewnętrzną konferencję Microsoftu – Microsoft Global Exchange (MGX). To wydarzenie pewnie nieco bardziej marketingowe niż wszystkie konferencje, w których zazwyczaj biorę udział, ale bez znajomości strategii firmy i myśli przewodnich trudno dobrze wykonywać swoją pracę w korporacji. Tydzień w Atlancie, potem początek nowego roku finansowego w Microsoft (już się zaczął :-)). I oczywiście, powrót do blogowania. Tematów jak zwykle życie podsuwa wiele. Zatem, stay tuned!

I udanych urlopów wszystkim życzę :-)

SQL Server 2012 – Funkcja FORMAT

VN:F [1.7.9_1023]
Rating: 5.0/5 (1 vote cast)

Jedną z ciekawiej zapowiadających się nowości w języku Transact-SQL (T-SQL) w SQL Server 2012 była funkcja FORMAT. Wspomniał o niej choćby Marcin Nowakowski opisując nowe funkcje skalarne w najnowszej odsłonie systemu SQL Server.

FORMAT daje spore możliwości tworzenia ciągów znakowych sformatowanych według zadanego wzorca zgodnego z wybraną notacją narodową (np. wybór formatowania “pieniężnego” dla narodowości pl-PL, da nam ciąg znaków przedstawiających liczbę z walutą zł). Przykłady poniżej:

DECLARE
  @date date = '20120629',
  @money money = 1234567.89,
  @number int = 1,
  @percent numeric(2,1) = 0.3;
 
-- 29 czerwca 2012
SELECT FORMAT(@date, 'D', 'pl-PL');
 
-- piątek, 29 czerwca 2012
SELECT FORMAT(@date, 'dddd, dd MMMM yyyy', 'pl-PL');
 
-- Pt, 29.06.2012
SELECT FORMAT(@date, 'ddd, dd.MM.yyyy', 'pl-PL');
 
-- 1 234 567,89 zł
SELECT FORMAT(@money, 'C2', 'pl-PL');
 
-- 000001
SELECT FORMAT(@number, 'D6', 'pl-PL');
 
-- 30,00%
SELECT FORMAT(@percent, 'P2', 'pl-PL');

Wygląda ciekawie? Tak samo pomyślałem i pewnie będą sytuacje, w których ta funkcja się znajdzie zastosowanie. Warto zatem zapoznać się z dokumentacją funkcji oraz opisem szablonów formatujących, które są żywcem wzięte z technologii .NET.

Z dokumentacji funkcji dowiadujemy się m.in., że:

FORMAT relies on the presence of .the .NET Framework Common Language Runtime (CLR).

Czyli jest tam gdzieś pod spodem używana technologia .NET. Cudów nie ma. Postanowiłem sprawdzić, jaki to może mieć wpływ na wydajność.

Do testów na instancji SQL Server 2012 + CU2 (build 11.0.2325) zainstalowanej na laptopie (8 GB RAM, z czego 4 GB RAM dla SQL Servera, Intel Core i7) użyłem bazy AdventureWorksDW2012. Wykonywałem operacje prowadzące do produkowania tych samych wyników metodami znanymi z poprzednich wersji systemu SQL Server oraz za pomocą funkcji FORMAT. Skrypt do testów:

USE AdventureWorksDW2012;
GO
 
-- Test 1: padding
 
SET STATISTICS TIME ON;
GO
 
SELECT RIGHT('000000' + CONVERT(varchar(10), SalesOrderLineNumber), 6)
FROM dbo.FactInternetSales;
SELECT FORMAT(SalesOrderLineNumber, 'D6')
FROM dbo.FactInternetSales;
GO
 
SET STATISTICS TIME OFF;
GO
 
-- Test 2: numbers
 
SET STATISTICS TIME ON;
GO
 
SELECT CONVERT(varchar(20), SalesAmount, 1)
FROM dbo.FactInternetSales;
SELECT FORMAT(SalesAmount, 'N2')
FROM dbo.FactInternetSales;
GO
 
SET STATISTICS TIME OFF;
GO

Wyniki:

  • Test 1 – padding:
    • metoda klasyczna: CPU time = 0 ms,  elapsed time = 311 ms
    • metoda wykorzystująca funkcję FORMAT: CPU time = 1919 ms,  elapsed time = 2259 ms
  • Test 2 – numbers:
    • metoda klasyczna: CPU time = 15 ms,  elapsed time = 282 ms
    • metoda wykorzystująca funkcję FORMAT: CPU time = 2075 ms,  elapsed time = 2450 ms

Wniosek – funkcja FORMAT oferuje ciekawe możliwości, ale należy unikać stosowania jej tam, gdzie jesteśmy w stanie osiągnąć analogiczny wynik funkcjami “czysto T-SQL-owymi” (np. CONVERT). I raczej wypada stosować tę funkcję do produkowania pojedynczych napisów niż dużych zbiorów wartości. Oczywiście, może się okazać, że kryterium wydajności nie będzie dla nas najważniejsze i górę wezmą przyzwyczajenia z programowania w językach .NET lub po prostu wygoda. Podobnie, dla jednorazowo wykonywanych operacji, w których czas wykonania zadania nie jest priorytetem, funkcja ta może być bardzo przydatna. I wreszcie, jeśli w grę wchodzi generowanie wartości “nacjonalizowanych”, zastosowanie funkcji FORMAT wydaje się być najlepszym rozwiązaniem.