<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://zine.net.pl/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang=""><title type="html">SQLGEEK </title><subtitle type="html">Pawel Potasinski about SQL Server, communities and life</subtitle><id>http://zine.net.pl/blogs/sqlgeek/atom.aspx</id><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/default.aspx" /><link rel="self" type="application/atom+xml" href="http://zine.net.pl/blogs/sqlgeek/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61129.2">Community Server</generator><updated>2009-08-20T14:01:00Z</updated><entry><title>[EN/PL] www.sqlgeek.pl</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/12/25/en-pl-www-sqlgeek-pl.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/12/25/en-pl-www-sqlgeek-pl.aspx</id><published>2009-12-25T22:41:13Z</published><updated>2009-12-25T22:41:13Z</updated><content type="html">&lt;p&gt;[EN] I’ve just moved to the new blog. All old posts will remain untouched here at zine.net.pl. The new address is given below.&lt;/p&gt;  &lt;p&gt;[PL] Przeniosłem się na nowy blog. Wszystkie dotychczasowe notki pozostają tu, na zine.net.pl. Nowy adres znajdziesz poniżej.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://www.sqlgeek.pl"&gt;&lt;strong&gt;&lt;font color="#ff0000" size="5"&gt;www.sqlgeek.pl&lt;/font&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4567" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="offtopic" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/offtopic/default.aspx" /><category term="blog" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/blog/default.aspx" /></entry><entry><title>[PL] AD MMIX – podsumowanie</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/12/23/pl-ad-mmix-podsumowanie.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/12/23/pl-ad-mmix-podsumowanie.aspx</id><published>2009-12-23T08:12:00Z</published><updated>2009-12-23T08:12:00Z</updated><content type="html">&lt;P&gt;Kończy się rok 2009. Jak co roku postanowiłem więc podsumować te ostatnie trzysta parę dni i zdradzić choć część moich planów na rok nadchodzący.&lt;/P&gt;
&lt;H3&gt;Było…&lt;/H3&gt;
&lt;P&gt;Styczeń stał pod znakiem &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/01/02/pl-bez-pud-a-czyli-styczniowe-nominacje-mvp.aspx"&gt;nominacji MVP dla kilku dobrych znajomych&lt;/A&gt;: &lt;A href="http://itsouldiers.com/blog/"&gt;Marcina Goła&lt;/A&gt;, &lt;A href="http://geekswithblogs.net/kobush/Default.aspx"&gt;Szymona Kobalczyka&lt;/A&gt; i &lt;A href="http://zine.net.pl/blogs/damian_widera"&gt;Damiana Widery&lt;/A&gt;. Życzę im renominacji w styczniu 2010. Chłopaki nadal aktywnie działają w społecznościach i zapewne w przyszłym roku też będą działać.&lt;/P&gt;
&lt;P&gt;Pierwsze trzy miesiące 2009 roku spędziłem na projekcie. Wiele się nauczyłem, wielu problemom stawiłem czoła, o &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/01/29/pl-prosto-z-frontu-linked-server-te-mo-e-ci-zaskoczy.aspx"&gt;niektórych&lt;/A&gt; nawet zablogowałem :-) &lt;/P&gt;
&lt;P&gt;W marcu ukazała się moja &lt;A href="http://helion.pl/ksiazki/ssql28.htm"&gt;pierwsza książka&lt;/A&gt; (pierwsza papierowa, bo wcześniej udało mi się napisać kilka e-booków dla studentów studiów internetowych na Politechnice Warszawskiej). Duże przeżycie, a jeszcze większym jest rozdawanie autografów tym, którzy tę książkę zakupili ;-) Tym wszystkim, którzy przeczytali "&lt;EM&gt;Serwer SQL 2008. Administracja i programwoanie&lt;/EM&gt;", dziękuję. Jeżeli macie jakieś uwagi czy komentarze do tej książki nie wahajcie się nimi ze mną podzielić. Według mnie książka wyszła całkiem dobrze (jak na pierwszy raz – mój i Damiana).&lt;/P&gt;
&lt;P&gt;Marzec to także konferencja &lt;A href="http://c2c.org.pl/pl/default.aspx"&gt;Communities to Communities 2009&lt;/A&gt;. Bardzo udana konferencja, dodajmy. Trzy ścieżki, bardzo wysoki poziom prezentacji. Po prostu chwała tym, którzy to wydarzenie doprowadzili do szczęśliwego finału (tym razem moja rola w organizacji C2C była bardzo skromna). Po cichu liczę, że idea C2C przetrwa i w tym roku konferencja doczeka się trzeciej edycji.&lt;/P&gt;
&lt;P&gt;Pierwsze cztery miesiące 2009 roku to także pomoc w ogranizacji &lt;A href="http://www.sqlpass.org/summit/eu2010/"&gt;European PASS Conference 2009&lt;/A&gt; w Dusseldorfie. Byłem odpowiedzialny za kontakty z liderami grup SQL-owych w Europie. Godziny spędzone na telefonie i Skype. Rozmowy o cenach, marketingu (fuj!), negocjacje. Kawał ciężkiej (chyba potrzebnej) roboty. Ale dzięki temu mogłem wysłać jedną osobę na konferencję za darmo (Dagmara ma sporo do opowiadania). W 2010 roku już nie będę w gronie organizatorów. Za to wysłałem abstrakt sesji i czekam, a może się uda i pojadę po raz drugi na tę konferencję jako prelegent (po raz pierwszy byłem w 2008 roku).&lt;/P&gt;
&lt;P&gt;W maju zorganizowałem konkurs &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/06/03/pl-konkurs-co-to-za-query-fina.aspx"&gt;"Co to za query?"&lt;/A&gt;. Konkurs spotkał się z ciepłym przyjęciem około 20 zainteresowanych osób (dzięki za wspólną zabawę – i ja się wtedy sporo nauczyłem). Na pewno nie był to ostatni konkurs przeze mnie zorganizowany! Stay tuned ;-)&lt;/P&gt;
&lt;P&gt;Także w maju byłem prelegentem na krakowskim &lt;A href="http://2009.codecamp.pl/pl/Homepage.aspx"&gt;CodeCamp 2009&lt;/A&gt;. Udało mi się nawet moją sesją o procedurach składowanych zdobyć publiczność (to bardzo fajne uczucie, zostać ocenionym najwyżej, gdy na tej samej konferencji w roli prelegenta występują takie tuzy, jak Maciek Pilecki czy Tomek Kopacz).&lt;/P&gt;
&lt;P&gt;W lipcu nadeszła doskonała wiadomość – &lt;A href="http://zine.net.pl/blogs/mad"&gt;Marek Adamczuk&lt;/A&gt; – mój przyjaciel i człowiek, od którego wiele się nauczyłem, został SQL Server MVP (a przy okazji ja sam zostałem renominowany i dalej cieszę się możliwością bycia w naprawdę wyjątkowym gronie SQL-owych MVP). Kawał dobrej roboty, panie dziejku! :-) Liczę, że w 2010 roku zobaczymy niejedną sesję Marka. A warto wspomnieć, że sesje te stoją zawsze na bardzo dobrym poziomie.&lt;/P&gt;
&lt;P&gt;Wrzesień to był początek jesiennego sezonu konferencyjnego – zaczęło się od &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/09/03/pl-24-hours-of-pass-post-mortem.aspx"&gt;24Hours of PASS&lt;/A&gt;, a potem był &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/09/30/pl-mts-2009-oczami-uczestnika.aspx"&gt;MTS 2009&lt;/A&gt;. Ciekawe, że MTS 2009 mi się podobał. A czytałem różne opinie i wiem, że nie wszyscy byli zadowoleni. Tak to już z tymi konferencjami jest... Co nie zmienia faktu, że na MTS 2010 na 99% będę :-) Po cichu liczę, że tym razem uda mi się awansować do grona prelegentów ;-)&lt;/P&gt;
&lt;P&gt;Na przełomie września i października ukazała się druga książka, w której zanotowałem swój drobny udział – &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/09/17/en-sql-server-mvp-deep-dives-e-book-and-pre-order-are-coming.aspx"&gt;SQL Server MVP Deep Dives&lt;/A&gt;. Książka jest znakomitym dowodem na to, że ludzie zaangażowani w społeczności IT mogą coś zrobić dla świata (np. dla dzieci poszkodowanych przez konflikty zbrojne). Oby więcej takich inicjatyw!&lt;/P&gt;
&lt;P&gt;W październiku cieszyłem się z kolejnych nominacji do tytułu MVP dla zasłużonych osób. &lt;A href="http://blogs.technet.com/plwit"&gt;Paula Januszkiewicz&lt;/A&gt; i &lt;A href="http://wss.pl/User/Profile/55292.aspx"&gt;Łukasz Foks&lt;/A&gt; zdecydowanie zasłużyli na wyróżnienie, bo w tej chwili są jednymi z najaktywniejszych liderów polskich społeczności Microsoft. Paula dodatkowo w tym roku zanotowała świetny występ (x2) na TechEd Europe 2009 (a Łukasz cieszył się w Berlinie z wygranej nagrody w postaci okazałego quada). Szacuneczek!&lt;/P&gt;
&lt;P&gt;Listopad to czas &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/11/16/pl-en-teched-europe-2009-post-mortem.aspx"&gt;TechEd Europe 2009&lt;/A&gt; i &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/12/06/pl-sqlday-2009-ze-wspomnie-prelegenta.aspx"&gt;SQLDay 2009&lt;/A&gt;. Obie konferencje były moim zdaniem udane, choć TechEd z roku na rok robi na mnie coraz mniejsze wrażenie. Na SQLDay udało się nam z Markiem Adamczukiem zrobić najlepszą sesję konferencji (w zasadzie to Marek zrobił całą robotę, a ja w roli "slide monkey" jedynie spijałem śmietankę ;-)). Najważniejsze, że udało się zorganizować w kraju ciekawe wydarzenie dla światka SQL-owego. Za rok znów to zrobimy!&lt;/P&gt;
&lt;P&gt;Pod koniec roku zostałem zaproszony do grona ekspertów portalu &lt;A href="http://wss.pl"&gt;WSS.pl&lt;/A&gt;. Jako stały bywalec mam wspierać redakcję opiniami na temat nowych funkcjonalności i mam uczestniczyć w rozwoju portalu. Żadnego przymusu, po prostu – wspieram portal, który jest wg mnie bardzo potrzebny, bo dzięki niemu integruje się społeczność IT skupiona wokół technologii Microsoft. I tyle.&lt;/P&gt;
&lt;P&gt;Czy to już wszystko, co działo się w tym roku? Pewnie, że nie! :-) Wypadałoby wspomnieć o paru pozytywnych (rozpoczęcie budowy domu, prowadzenie zajęć na trzech warszawskich uczelniach, 11 spotkań Virtual Study Group 70-432 czy objęcie roli wice-prezesa europejskiej komórki &lt;A href="http://www.gitca.org"&gt;GITCA&lt;/A&gt;) i negatywnych (niedoszła konferencja TechFest) wydarzeniach. Ale na to nie starczy mi w tym miejscu weny twórczej. Chyba wpadłem już w świąteczny błogi nastrój i myślę tylko o tym, by usiąść z bliskimi mi osobami do wigilijnego stołu. A społeczności i cały ten zgiełk zostawiam na moment w pojemniczku ze sprawami mniej istotnymi :-) No offense ;-)&lt;/P&gt;
&lt;H3&gt;Będzie…&lt;/H3&gt;
&lt;P&gt;Jaki będzie rok 2010? Dla mnie to będzie rok zmian. Na początek – &lt;STRONG&gt;zmieniam adres bloga&lt;/STRONG&gt;. Od nowego roku zapraszam na &lt;A href="http://www.sqlgeek.pl"&gt;&lt;STRONG&gt;www.sqlgeek.pl&lt;/STRONG&gt;&lt;/A&gt;. Nadal będę pisał o SQL-u i bazach danych. Może nieco więcej po angielsku, ale i teksty po polsku się znajdą (głównie te dotyczące społeczności IT w Polsce). Na pewno pojawi się sporo kodów źródłowych (zamierzam zrobić sekcję z co ciekawszymi skryptami, jakie uda mi się napisać lub podejrzeć od innych).&lt;/P&gt;
&lt;P&gt;W tym miejscu chciałbym ogromnie podziękować &lt;STRONG&gt;&lt;A href="http://zine.net.pl/blogs/mgrzeg"&gt;Michałowi Grzegorzewskiemu&lt;/A&gt;&lt;/STRONG&gt;. To Michał zaprosił mnie na Zine. Na Zine było super (i nadal jest za sprawą kilku naprawdę świetnych blogujących – choćby &lt;A href="http://zine.net.pl/blogs/dev2dev"&gt;Marka Powichrowskiego&lt;/A&gt;). Teraz chcę spróbować powalczyć samemu. Zobaczymy, co z tego wyjdzie. Ale zawsze będę pamiętał, że blogowanie z prawdziwego zdarzenia zacząłem właśnie tu.&lt;/P&gt;
&lt;P&gt;Zapewne w przyszłym roku pochłonie mnie budowa domu. W końcu nieczęsto stawia się dom dla swojej rodziny… Dlatego może się okazać, że moja aktywność na polu społeczności IT będzie mniejsza. Są w życiu priorytety i prioryteciki :-) Trzymajcie kciuki, żeby ściany były proste, więźba solidna, a tynk trwały ;-)&lt;/P&gt;
&lt;P&gt;Co więcej? Po cichu liczę, że uda mi się być prelegentem na co najmniej jednej konferencji zagranicznej. To zawsze wspaniała przygoda i okazja, by podszlifować język angielski. Ale nie łudzę się. Wiem, że są o wiele lepsi ode mnie prelegenci i jeszcze sporo się muszę nauczyć. Będę jednak próbował swoich sił. Kto wie, może się uda.&lt;/P&gt;
&lt;H3&gt;A tymczasem...&lt;/H3&gt;
&lt;P&gt;Wszystkim czytającym mojego bloga życzę spokojnych i radosnych Świąt Bożego Narodzenia. Chwil wytchnienia od codziennej gonitwy. Nie ma nic cenniejszego niż takie momenty, w których można odłożyć broń (czytaj – laptopa) i oddać się tak przyziemnym czynnościom, jak domowe porządki, gotowanie 12 potraw dla gości, czy ubieranie drzewka :-)&lt;/P&gt;
&lt;P&gt;Z kolei w Nowym Roku 2010 życzę wytrwałości w dążeniu do bycia lepszym człowiekiem, trwania w noworocznych postanowieniach i samych sukcesów na każdym polu.&lt;/P&gt;
&lt;P&gt;Trzymajcie się i do siego roku!&lt;/P&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4556" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="offtopic" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/offtopic/default.aspx" /></entry><entry><title>[PL] Indeksy XML w SQL Server 2008 od środka</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/12/15/pl-indeksy-xml-w-sql-server-2008-od-rodka.aspx" /><link rel="enclosure" type="text/plain" length="5418" href="http://zine.net.pl/blogs/sqlgeek/attachment/4528.ashx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/12/15/pl-indeksy-xml-w-sql-server-2008-od-rodka.aspx</id><published>2009-12-15T08:36:00Z</published><updated>2009-12-15T08:36:00Z</updated><content type="html">&lt;P&gt;Jakiś czas temu pisałem o moich &lt;A href="http://zine.net.pl/blogs/sqlgeek/archive/2009/06/14/pl-impresje-na-temat-xml-w-sql-server.aspx"&gt;"zabawach" z typem danych XML&lt;/A&gt; w SQL Server. Od tamtego czasu minęło kilka miesięcy, w czasie których moja styczność z typem danych XML była dość znikoma. Ale ostatnio XML wrócił w kręgi moich zainteresowań, bo - po pierwsze – zajmowałem się rozgryzaniem grafów zakleszczeń (&lt;A href="http://msdn.microsoft.com/en-us/library/ms188246.aspx"&gt;deadlock graphs&lt;/A&gt;), a po drugie przeprowadziłem w firmie serię szkoleń z używania typu danych XML w SQL Server. Przy okazji wziąłem na warsztat indeksy XML oraz tematy związane z wydajnością zapytań XQuery. Część moich obserwacji spróbuję zatem przelać na elektroniczny papier :-)&lt;/P&gt;
&lt;H3&gt;A więc masz sporo XML-a?&lt;/H3&gt;
&lt;P&gt;I chcesz, żeby zapytania odwołujące się do poszczególnych węzłów dokumentów XML-owych działały szybko i sprawnie? Zatem indeksy XML są dla Ciebie :-) Niezależnie od scenariusza: a) mało dużych dokumentów, b) dużo małych dokumentów, c) dużo dużych dokumentów – założenie indeksów XML może okazać się strzałem w dziesiątkę.&lt;/P&gt;
&lt;P&gt;Zacznijmy od tego, że wygenerujemy sporo dokumentów XML (na potrzeby testów założyłem sobie bazę o nazwie XMLTest – rozmiar początkowy bazy ustawiłem na kilkadziesiąt megabajtów, żeby uniknąć niepotrzebnego automatycznego rozrostu).&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;USE&lt;/SPAN&gt; XMLTest;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;IF&lt;/SPAN&gt; OBJECT_ID(&lt;SPAN style="COLOR:#006080;"&gt;'dbo.XMLTable'&lt;/SPAN&gt;, &lt;SPAN style="COLOR:#006080;"&gt;'U'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;IS&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;NULL&lt;/SPAN&gt;&lt;BR&gt;  &lt;SPAN style="COLOR:#0000ff;"&gt;DROP&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;TABLE&lt;/SPAN&gt; dbo.XMLTable;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;TABLE&lt;/SPAN&gt; dbo.XMLTable (&lt;BR&gt;  XMLTableID &lt;SPAN style="COLOR:#0000ff;"&gt;int&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;IDENTITY&lt;/SPAN&gt;(1,1) &lt;SPAN style="COLOR:#0000ff;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;NULL&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;PRIMARY&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;KEY&lt;/SPAN&gt;,&lt;BR&gt;  XMLColumn xml &lt;SPAN style="COLOR:#0000ff;"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;NULL&lt;/SPAN&gt;&lt;BR&gt;);&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;INSERT &lt;SPAN style="COLOR:#0000ff;"&gt;INTO&lt;/SPAN&gt; dbo.XMLTable (XMLColumn)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;BR&gt;  (&lt;BR&gt;    &lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;BR&gt;      o2.[object_id] &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="COLOR:#006080;"&gt;'@id'&lt;/SPAN&gt;,&lt;BR&gt;      o2.name &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="COLOR:#006080;"&gt;'name'&lt;/SPAN&gt;,&lt;BR&gt;      o2.type_desc &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; &lt;SPAN style="COLOR:#006080;"&gt;'type'&lt;/SPAN&gt;&lt;BR&gt;    &lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; sys.all_objects &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; o2&lt;BR&gt;    &lt;SPAN style="COLOR:#0000ff;"&gt;WHERE&lt;/SPAN&gt; o2.[object_id] = o1.[object_id]&lt;BR&gt;    &lt;SPAN style="COLOR:#0000ff;"&gt;FOR&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;PATH&lt;/SPAN&gt;(&lt;SPAN style="COLOR:#006080;"&gt;'object'&lt;/SPAN&gt;), TYPE&lt;BR&gt;  )&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; sys.all_objects &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; o1;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; * &lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; dbo.XMLTable;&lt;BR&gt;GO&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;Po wykonaniu powyższego kodu w bazie XMLTest mamy tabelę dbo.XMLTable zawierającą jakieś 1980 wierszy (lub więcej). W przypadku bazy, na której pracuję, wierszy w tabeli było jakieś 130 tysięcy :-)&lt;/P&gt;
&lt;P&gt;Zawartość tabeli przedstawia się mniej więcej tak:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://zine.net.pl/blogs/sqlgeek/image_2082A2FB.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://zine.net.pl/blogs/sqlgeek/image_thumb_794859C5.png" width=547 height=248&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Czyli w dokumentach XML są trzymane metadane obiektów bazodanowych (tabel, procedur etc.) na zasadzie – jeden wiersz w tabeli – jeden obiekt z bazy danych.&lt;/P&gt;
&lt;H3&gt;Główny indeks XML&lt;/H3&gt;
&lt;P&gt;Zabawę zaczynamy od utworzenia indeksu głównego XML (PRIMARY XML INDEX).&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CREATE&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;PRIMARY&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;INDEX&lt;/SPAN&gt; IX_XML_Primary &lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;ON&lt;/SPAN&gt; dbo.XMLTable (XMLColumn);&lt;BR&gt;GO&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;Kod prawie jak przy tworzeniu zwykłego indeksu. Wykonanie go może chwilę potrwać. W tle SQL Server zakłada wewnętrzną tabelę. Zdobycie jej nazwy to chwila:&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;TOP&lt;/SPAN&gt; 1 * &lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; sys.internal_tables &lt;SPAN style="COLOR:#0000ff;"&gt;ORDER&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;BY&lt;/SPAN&gt; create_date &lt;SPAN style="COLOR:#0000ff;"&gt;DESC&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;I mamy coś a la &lt;EM&gt;xml_index_nodes_2105058535_256000&lt;/EM&gt; (oczywiście, nazwa tabeli wewnętrznej jest dość przypadkowa). Tabele te znajdują się w schemacie sys (schema_id = 4 w widoku sys.internal_tables). Próba ognia:&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; * &lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; sys.xml_index_nodes_2105058535_256000;&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;kończy się zwróceniem przez SQL Server komunikatu&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000 face="Courier New"&gt;Msg 208, Level 16, State 1, Line 1 &lt;BR&gt;Invalid object name 'sys.xml_index_nodes_2105058535_256000'.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Ale sama tabela istnieje, bo udaje się wykonać:&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;EXEC&lt;/SPAN&gt; sp_help &lt;SPAN style="COLOR:#006080;"&gt;'sys.xml_index_nodes_2105058535_256000'&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;EXEC&lt;/SPAN&gt; sp_helpindex &lt;SPAN style="COLOR:#006080;"&gt;'sys.xml_index_nodes_2105058535_256000'&lt;/SPAN&gt;;&lt;BR&gt;GO&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Wyniki:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://zine.net.pl/blogs/sqlgeek/image_592D4D08.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://zine.net.pl/blogs/sqlgeek/image_thumb_20167006.png" width=787 height=342&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A zatem powstaje tabela o zadanej z góry strukturze (prawie niezależnej od struktury tabeli, w której tworzymy indeks XML). &lt;/P&gt;
&lt;P&gt;Nowa tabela jest klastrowana indeksem o nazwie identycznej z nazwą naszego świeżo utworzonego indeksu głównego XML. Indeks główny XML został założony na kolumnach pk1 i id. Pierwsza z nich, jak można się domyślać, przechowuje wartości z kolumny XMLTableID (z kolumny klucza głównego – jeżeli klucz główny oryginalnej tabeli jest złożony, w utworzonej tabeli wewnętrznej pojawią się kolumny o nazwach pk1, pk2, pk3 itd.). Druga przechowuje identyfikator węzła w zakresie pojedynczego dokumentu XML (taki identyfikator węzła w dokumencie XML). &lt;/P&gt;
&lt;P&gt;Sam indeks główny XML jeszcze niczego nam praktycznie nie oferuje (nie udało mi się skonstruować przykładu, w którym sam indeks główny XML przyspieszałby wykonywanie zapytania). Stanowi jednak punkt wyjścia do utworzenia kolejnych indeksów XML. Ważna uwaga – indeksu głównego XML nie da się założyć, jeżeli w tabeli nie ma klucza głównego. Ciekawostka – jeżeli chcemy tworzyć indeksy XML, klucz główny tabeli nie może być "szerszy" niż 15 kolumn (bo indeks w tabeli wewnętrznej, jak w każdej tabeli, można założyć na maksymalnie 16 kolumnach, a musi się w nim zmieścić kolumna id).&lt;/P&gt;
&lt;P&gt;Spróbujmy podejrzeć, jak wygląda tabela wewnętrzna. W tym celu należy połączyć się z SQL Serverem za pomocą połączenia &lt;A href="http://msdn.microsoft.com/en-us/library/ms189595.aspx"&gt;DAC&lt;/A&gt;. Ja użyję do tego trybu &lt;A href="http://msdn.microsoft.com/en-us/library/ms174187.aspx"&gt;SQLCMD Mode&lt;/A&gt; (tryb ten włącza się w Management Studio w menu Query) i dyrektywy :CONNECT służącej do nawiązania tymczasowego połączenia ze wskazanym serwerem.&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;:&lt;SPAN style="COLOR:#0000ff;"&gt;CONNECT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;Admin&lt;/SPAN&gt;:0809-001&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;USE&lt;/SPAN&gt; XMLTest;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; * &lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; sys.xml_index_nodes_2105058535_256000;&lt;BR&gt;GO&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;Wynik:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://zine.net.pl/blogs/sqlgeek/image_520E1090.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://zine.net.pl/blogs/sqlgeek/image_thumb_18F7338E.png" width=752 height=284&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A więc dla każdego dokumentu XML powstało w tym przypadku 7 wierszy w tabeli wewnętrznej (w sumie dla 1980 wierszy z tabeli dbo.XMLTable dostałem 13860 wierszy w tabeli wewnętrznej). A jeżeli dokumenty XML będą bardziej złożone, liczba wierszy w tabeli wewnętrznej pójdzie w miliony.&lt;/P&gt;
&lt;P&gt;Najbardziej oczywista jest zawartość kolumn value (wartości atrybutów i zawartość tekstowa elementów) oraz pk1 (wartości z kolumny klucza głównego tabeli XMLTable). Patrząc na nid możemy dowiedzieć się, który wiersz odpowiada atrybutowi w dokumencie XML (wartość ujemna w kolumnie nid), a który elementowi (wartość dodatnia w kolumnie nid). Wyjątkiem od tej reguły wydają się być deklaracje przestrzeni nazw (namespace’ów), dla których wartości nid są dodatnie.&lt;/P&gt;
&lt;P&gt;Pierwsza myśl, jaka mi przyszła do głowy, to że w tabeli jest aż 5 kolumn zawierających same wartości NULL. Nie wiem dokładnie, jakie jest przeznaczenie tych kolumn (choć mogę się domyślać, że w tagname powinny znaleźć się nazwy elementów – tagów z dokumentu XML), ani dlaczego nie są używane, ale testowałem różne warianty dokumentów XML (z przestrzeniami nazw, z prefiksami kolumn) i nigdy nie zauważyłem w tych kolumnach niczego poza NULLami. "For future use"???&lt;/P&gt;
&lt;P&gt;Druga myśl – te binaria w kolumnie id to zapewne sławny &lt;A href="http://www.cs.umb.edu/~poneil/ordpath.pdf"&gt;ORDPATH&lt;/A&gt;. A ponieważ hierarchie kojarzą mi się od ponad roku z typem danych hierarchyid, nie mogłem sobie odmówić próby:&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;:&lt;SPAN style="COLOR:#0000ff;"&gt;CONNECT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;Admin&lt;/SPAN&gt;:0809-001&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;USE&lt;/SPAN&gt; XMLTest;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;CAST&lt;/SPAN&gt;(id &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; hierarchyid).ToString(), * &lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; sys.xml_index_nodes_2105058535_256000;&lt;BR&gt;GO&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;Wynik: dwa wiersze (z hierarchyid w pierwszej kolumnie!) oraz komunikat:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000 face="Courier New"&gt;Msg 6522, Level 16, State 2, Line 2 &lt;BR&gt;A .NET Framework error occurred during execution of user-defined routine or aggregate "hierarchyid": &lt;BR&gt;Microsoft.SqlServer.Types.HierarchyIdException: 24000: SqlHierarchyId operation failed because HierarchyId object was constructed from an invalid binary string. &lt;BR&gt;Microsoft.SqlServer.Types.HierarchyIdException: &lt;BR&gt;&amp;nbsp;&amp;nbsp; at Microsoft.SqlServer.Types.OrdPath.ExtractComponent(UInt16&amp;amp; bitOffset, SComponent&amp;amp; component, levelType&amp;amp; type) &lt;BR&gt;&amp;nbsp;&amp;nbsp; at Microsoft.SqlServer.Types.OrdPath.ToString() &lt;BR&gt;&amp;nbsp;&amp;nbsp; at Microsoft.SqlServer.Types.SqlHierarchyId.ToString()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Skoro wywrotka nastąpiła na wierszu odpowiadającym atrybutowi, postanowiłem odfiltrować atrybuty:&lt;/P&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;P&gt;:&lt;SPAN style="COLOR:#0000ff;"&gt;CONNECT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;Admin&lt;/SPAN&gt;:0809-001&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;USE&lt;/SPAN&gt; XMLTest;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;CAST&lt;/SPAN&gt;(id &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; hierarchyid).ToString(), * &lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; sys.xml_index_nodes_2105058535_256000&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;WHERE&lt;/SPAN&gt; nid &amp;gt; 0;&lt;BR&gt;GO&lt;/P&gt;&lt;/PRE&gt;
&lt;P&gt;Tym razem wynik jest taki:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://zine.net.pl/blogs/sqlgeek/image_5FE0568B.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://zine.net.pl/blogs/sqlgeek/image_thumb_11D7F716.png" width=786 height=172&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;A więc jednak ORDPATH (albo przynajmniej "prawie", bo nadal nie umiem rozszyfrować, jakimi ścieżkami zostały opatrzone atrybuty) :-)&lt;/P&gt;
&lt;P&gt;W kolumnie hid trzymane jest zahaszowane id (jest prawdobodobne, że w haszu została także umieszczona nazwa elementu / atrybutu).&lt;/P&gt;
&lt;H3&gt;Pozostałe indeksy XML&lt;/H3&gt;
&lt;P&gt;Mając założony główny indeks XML pora założyć pozostałe indeksy - indeksy secondary (wolę tego słowa nie tłumaczyć ;-)).&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CREATE&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;INDEX&lt;/SPAN&gt; IX_XML_Path&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;ON&lt;/SPAN&gt; dbo.XMLTable (XMLColumn)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;USING&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;INDEX&lt;/SPAN&gt; IX_XML_Primary&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FOR&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;PATH&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CREATE&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;INDEX&lt;/SPAN&gt; IX_XML_Value&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;ON&lt;/SPAN&gt; dbo.XMLTable (XMLColumn)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;USING&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;INDEX&lt;/SPAN&gt; IX_XML_Primary&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FOR&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;VALUE&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CREATE&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;INDEX&lt;/SPAN&gt; IX_XML_Property&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;ON&lt;/SPAN&gt; dbo.XMLTable (XMLColumn)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;USING&lt;/SPAN&gt; XML &lt;SPAN style="COLOR:#0000ff;"&gt;INDEX&lt;/SPAN&gt; IX_XML_Primary&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FOR&lt;/SPAN&gt; PROPERTY;&lt;BR&gt;GO&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Po założeniu trzech nowych indeksów XML (każdy innego typu) oglądam, jak teraz jest indeksowana tabela wewnętrzna:&lt;/P&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;EXEC&lt;/SPAN&gt; sp_helpindex &lt;SPAN style="COLOR:#006080;"&gt;'sys.xml_index_nodes_2105058535_256000'&lt;/SPAN&gt;;&lt;BR&gt;GO&lt;/PRE&gt;
&lt;P&gt;&lt;A href="http://zine.net.pl/blogs/sqlgeek/image_58C11A13.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=image border=0 alt=image src="http://zine.net.pl/blogs/sqlgeek/image_thumb_71BCEA58.png" width=421 height=96&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Mamy więc indeksy secondary następujących typów:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;PATH – tu kluczem indeksu w tabeli wewnętrznej są kolumny hid i value, a co za tym idzie taki indeks może być pomocny, gdy próbujemy optymalizować zapytania, w których szukamy dobrze określonych ścieżek i znamy wartości węzłów tekstowych, np. &lt;/LI&gt;&lt;/UL&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;BR&gt;  x.XMLTableID,&lt;BR&gt;  T.c.&lt;SPAN style="COLOR:#0000ff;"&gt;value&lt;/SPAN&gt;(&lt;SPAN style="COLOR:#006080;"&gt;'@object_id'&lt;/SPAN&gt;,&lt;SPAN style="COLOR:#006080;"&gt;'int'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; object_id&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; dbo.XMLTable &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; x&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CROSS&lt;/SPAN&gt; APPLY x.XMLColumn.nodes(&lt;SPAN style="COLOR:#006080;"&gt;'/object'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; T(c)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;WHERE&lt;/SPAN&gt; T.c.exist(&lt;SPAN style="COLOR:#006080;"&gt;'name/text()[. = "objects"]'&lt;/SPAN&gt;) = 1;&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;VALUE – tu kluczem są kolumny value i hid, a zatem taki indeks może się przydać, gdy szukamy określonych wartości w nieprecyzyjnie określonych ścieżkach w dokumencie XML, np. &lt;/LI&gt;&lt;/UL&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;BR&gt;  x.XMLTableID,&lt;BR&gt;  T.c.&lt;SPAN style="COLOR:#0000ff;"&gt;value&lt;/SPAN&gt;(&lt;SPAN style="COLOR:#006080;"&gt;'(name/text())[1]'&lt;/SPAN&gt;,&lt;SPAN style="COLOR:#006080;"&gt;'sysname'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; name&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; dbo.XMLTable &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; x&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CROSS&lt;/SPAN&gt; APPLY x.XMLColumn.nodes(&lt;SPAN style="COLOR:#006080;"&gt;'/object'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; T(c)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;WHERE&lt;/SPAN&gt; T.c.exist(&lt;SPAN style="COLOR:#006080;"&gt;'//type/text()[. = "VIEW"]'&lt;/SPAN&gt;) = 1;&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;PROPERTY – tu kluczem są kolumny pk1 (pk2, pk3,…), hid i value, co oznacza, że indeks ten przydaje się, gdy wyszukiwanie w tabeli oryginalnej odbywa się po kolumnie klucza głównego, ale z dokumentów XML wydobywane są konkretne węzły. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;H3&gt;Ważne, jak pytamy&lt;/H3&gt;
&lt;P&gt;Warto zapamiętać parę reguł, jeżeli chcemy rzeczywiście wykorzystywać indeksy XML do optymalizacji naszych zapytań. Oto niektóre z tych reguł:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Ścieżki w filtrach XPath powinny być jak najdłuższe, np. &lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;JakisElement/@JakisAtrybut[. = "120"]&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;zamiast &lt;BR&gt;&lt;FONT face="Courier New"&gt;JakisElement[@JakisAtrybut = "120"]&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;Jak najmniej dowolności – unikamy ścieżek typu &lt;FONT face="Courier New"&gt;//JakisElement&lt;/FONT&gt; czy &lt;FONT face="Courier New"&gt;../../CosDwaPoziomyWyzej&lt;/FONT&gt;. 
&lt;LI&gt;Jeżeli nie ma narzuconego schematu dokumentu XML (nie ma XML SCHEMA COLLECTION, które pilnuje zawartości wstawianych dokumentów XML), należy pilnować, by wartości w filtrach były ujęte w cudzysłowy/apostrofy (czyli aby były wartościami tekstowymi), np. &lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;JakisElement/@JakisAtrybut[. = "120"]&lt;/FONT&gt; &lt;BR&gt;&lt;BR&gt;zamiast &lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;JakisElement/@JakisAtrybut[. = 120]&lt;/FONT&gt; &lt;BR&gt;
&lt;LI&gt;Unikamy filtrów "w środku" ścieżki, np. &lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;JakisElement1[@JakisAtrybut1 = "123"]/JakisElement2/JakisElement3[@JakisAtrybut = "120"]&lt;/FONT&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Takich reguł zapewne można znaleźć więcej. Wychodzą na jaw na ogół wtedy, gdy nie możemy osiągnąć przyzwoitej optymalizacji za pomocą indeksów. Testy, testy, testy :-)&lt;/P&gt;
&lt;H3&gt;Suma sumarum&lt;/H3&gt;
&lt;P&gt;Indeksy XML to żadna magia - ot, zwykłe B+-Tree ;-) Nawet sam Microsoft traktuje je jak pospolite indeksy, bo informacje o nich są zwracane przy odpytywaniu widoku &lt;FONT face="Courier New"&gt;sys.indexes&lt;/FONT&gt; (choć jest dedykowany widok &lt;FONT face="Courier New"&gt;sys.xml_indexes&lt;/FONT&gt;, który wyświetla metadane tylko indeksów XML). Wiedząc, co się dzieje "w bebechach", można sobie łatwiej wyobrazić, jaki wpływ może mieć utworzenie indeksów XML na wydajność. I, co ważne, można lepiej rozumieć plany wykonania zapytań, które wykorzystują metody typu danych XML i przeszukują / przetwarzają dokumenty XML przechowywane w bazie danych.&lt;/P&gt;
&lt;P&gt;Polecam zabawę w małego odkrywcę. Sprawdź, jaki wpływ na wydajność i strukturę (?) indeksów XML może mieć na przykład dodanie kolekcji schematów. Zobacz, jak w indeksach XML trzymane są informacje o przestrzeniach nazw i prefiksach elementów. &lt;/P&gt;
&lt;P&gt;Podobny "research" można zrobić dla indeksów na typach przestrzennych (geometry i geography). Rączki na klawiatury i dajcie znać, jak coś ciekawego Wam wyjdzie w doświadczeniach.&lt;/P&gt;
&lt;P&gt;PS1. Plik z kodem przedstawionym w tej notce można pobrać poniżej. &lt;BR&gt;PS2. Spróbujcie odpytywać tabele wewnętrzne założone pod indeksy XML w bazie AdventureWorks2008. U mnie dostałem wyjątek w SSMS (niepoprawny format tekstu???) ;-) &lt;BR&gt;PS3. Podczas testów udało mi się osiągnąć maksymalny poziom zagnieżdżenia węzłów w dokumencie XML w SQL Server 2008. Otrzymałem przez to taki komunikat:&lt;/P&gt;&lt;FONT color=#ff0000 size=2 face="Courier New"&gt;
&lt;P&gt;Msg 6335, Level 16, State 102, Line 1 &lt;BR&gt;XML datatype instance has too many levels of nested nodes. Maximum allowed depth is 128 levels.&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;STRONG&gt;[EDIT]&lt;/STRONG&gt; &lt;/P&gt;
&lt;H3&gt;Nietypowane wartości atrybutów&lt;/H3&gt;
&lt;P&gt;&lt;A href="http://zine.net.pl/blogs/dev2dev"&gt;Marek Powichrowski&lt;/A&gt;, spec od XML-a, stwierdził, że w testach nie wyszła mu żadna różnica a propos punktu 3 z paragrafu "Ważne, jak pytamy" (test robiłem dawno temu na SQL Server 2005). Przeprowadziłem więc taki test jeszcze raz i oto wynik.&lt;/P&gt;
&lt;P&gt;Tabela miała około 130 tysięcy wierszy, a dokumenty XML były takie, jak w powyższej notce (metadane obiektów z bazy danych). Zapytania do testów:&lt;/P&gt;
&lt;DIV id=codeSnippetWrapper&gt;&lt;PRE style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id=codeSnippet&gt;&lt;SPAN style="COLOR:#008000;"&gt;-- Zapytanie 1 - "złe"&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;DECLARE&lt;/SPAN&gt; @t datetime = GETDATE();&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;BR&gt;  x.XMLTableID,&lt;BR&gt;  T.c.&lt;SPAN style="COLOR:#0000ff;"&gt;value&lt;/SPAN&gt;(&lt;SPAN style="COLOR:#006080;"&gt;'(name/text())[1]'&lt;/SPAN&gt;,&lt;SPAN style="COLOR:#006080;"&gt;'sysname'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; name,&lt;BR&gt;  T.c.&lt;SPAN style="COLOR:#0000ff;"&gt;value&lt;/SPAN&gt;(&lt;SPAN style="COLOR:#006080;"&gt;'@id'&lt;/SPAN&gt;,&lt;SPAN style="COLOR:#006080;"&gt;'int'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; id&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; dbo.XMLTable &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; x&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CROSS&lt;/SPAN&gt; APPLY x.XMLColumn.nodes(&lt;SPAN style="COLOR:#006080;"&gt;'/object'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; T(c)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;WHERE&lt;/SPAN&gt; T.c.exist(&lt;SPAN style="COLOR:#006080;"&gt;'./@id[. = 546135905]'&lt;/SPAN&gt;) = 1;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; DATEDIFF(ms, @t, GETDATE());&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;GO&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#008000;"&gt;-- Zapytanie 2 - "dobre"&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;DECLARE&lt;/SPAN&gt; @t datetime = GETDATE();&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; &lt;BR&gt;  x.XMLTableID,&lt;BR&gt;  T.c.&lt;SPAN style="COLOR:#0000ff;"&gt;value&lt;/SPAN&gt;(&lt;SPAN style="COLOR:#006080;"&gt;'(name/text())[1]'&lt;/SPAN&gt;,&lt;SPAN style="COLOR:#006080;"&gt;'sysname'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; name,&lt;BR&gt;  T.c.&lt;SPAN style="COLOR:#0000ff;"&gt;value&lt;/SPAN&gt;(&lt;SPAN style="COLOR:#006080;"&gt;'@id'&lt;/SPAN&gt;,&lt;SPAN style="COLOR:#006080;"&gt;'int'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; id&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;FROM&lt;/SPAN&gt; dbo.XMLTable &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; x&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;CROSS&lt;/SPAN&gt; APPLY x.XMLColumn.nodes(&lt;SPAN style="COLOR:#006080;"&gt;'/object'&lt;/SPAN&gt;) &lt;SPAN style="COLOR:#0000ff;"&gt;AS&lt;/SPAN&gt; T(c)&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;WHERE&lt;/SPAN&gt; T.c.exist(&lt;SPAN style="COLOR:#006080;"&gt;'./@id[. = "546135905"]'&lt;/SPAN&gt;) = 1;&lt;BR&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;SELECT&lt;/SPAN&gt; DATEDIFF(ms, @t, GETDATE());&lt;/PRE&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV id=codeSnippetWrapper&gt;I teraz czasy:&lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;Bez indeksów XML 
&lt;UL&gt;
&lt;LI&gt;zapytanie 1 – 3200 ms 
&lt;LI&gt;zapytanie 2 – 2200 ms &lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Tylko z indeksem PRIMARY 
&lt;UL&gt;
&lt;LI&gt;zapytanie 1 – 3900 ms 
&lt;LI&gt;zapytanie 2 – 800 ms &lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Z indeksami SECONDARY 
&lt;UL&gt;
&lt;LI&gt;zapytanie 1 – 1180 ms (a czasem gorzej – około 2 sekund) 
&lt;LI&gt;zapytanie 2 – 180 ms &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Wyniki były powtarzalne dla różnych wartości @id. Różnice, moim zdaniem, są widoczne gołym okiem.&lt;/P&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4528" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="optymalizacja" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/optymalizacja/default.aspx" /><category term="XML" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/XML/default.aspx" /><category term="indeksy XML" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/indeksy+XML/default.aspx" /></entry><entry><title>[PL] SQLDay 2009 – ze wspomnień prelegenta</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/12/06/pl-sqlday-2009-ze-wspomnie-prelegenta.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/12/06/pl-sqlday-2009-ze-wspomnie-prelegenta.aspx</id><published>2009-12-06T22:45:16Z</published><updated>2009-12-06T22:45:16Z</updated><content type="html">&lt;p&gt;W zeszłą sobotę, 28 listopada, wybraliśmy się czteroosobową paczką do Wrocławia na konferencję &lt;a href="http://ms-groups.pl/plssug/Strony/SQLDay2009.aspx"&gt;SQLDay 2009&lt;/a&gt;. Konferencja ta była kontynuacją ubiegłorocznego wydarzenia SQL Server Energy Launch. W ubiegłym roku świętowaliśmy rocznicę powstania &lt;a href="http://www.plssug.org.pl"&gt;Polskiej Grupy Użytkowników SQL Server (PLSSUG)&lt;/a&gt;. W tym roku grupie &amp;quot;stuknęły&amp;quot; już dwa lata. &lt;/p&gt;  &lt;p&gt;Wyjazd z Warszawy o 3 rano, powrót o 23:30. Niezły maraton. Dwa razy zaliczony McDonalds :D&lt;/p&gt;  &lt;p&gt;Ale co tam, było warto. Ludzie i wiedza – po to jechałem do Wrocławia. &amp;quot;Ludzie od SQL-a&amp;quot; ciągle mnie zaskakują (zawsze pozytywnie!). Na 170 zarejestrowanych na darmowe wydarzenie osób pojawiło się około 130 (bardzo dobra frekwencja). Sala praktycznie pełna. Atmosfera sprzyjająca networkingowi. Poznałem parę osób, które znałem dotąd jedynie &amp;quot;wirtualnie&amp;quot; (tu pozdrowienia dla Daniela – &lt;strong&gt;danmc&lt;/strong&gt;). Podyskutowaliśmy o wielu ciekawych problemach SQL-owych (@@TRANCOUNT, schedulery, atrybuty planów wykonania). Dowiedziałem się (dziękuję &lt;strong&gt;Maćkowi Pileckiemu&lt;/strong&gt;), że parameter sniffing to nie zjawisko związane z przekazywaniem parametrów procedury przez zmienne :-) Mnóstwo korzyści.&lt;/p&gt;  &lt;p&gt;Wraz z &lt;a href="http://zine.net.pl/blogs/mad"&gt;Markiem Adamczukiem&lt;/a&gt; pokazaliśmy sesję pt. &amp;quot;&lt;em&gt;Najlepsze praktyki przy pracy z procedurami składowanymi&lt;/em&gt;&amp;quot;. Jako że musieliśmy się podzielić rolami, zostałem &amp;quot;slide monkey&amp;quot; ;-) Marek był w swoim żywiole. Rzucał charakterystycznymi dla siebie wstawkami humorystycznymi, szalał w kodzie. Uważam, że prezentacja wyszła nam całkiem nieźle, choć przyznam, że ręce mnie świerzbiły i miałem ochotę Markowi zabrać laptopa i robić dema :D Ale umowa to umowa ;-)&lt;/p&gt;  &lt;p&gt;Strasznie się cieszę, że nasza sesja została dobrze odebrana (zostaliśmy ocenieni najlepiej ze wszystkich prelegentów, a sama sesja zebrała również najlepsze noty). Staraliśmy się pokazać to, co niby większość osób wie, ale nikt nigdy nie pokazywał dowodów wprost na potwierdzenie prezentowanych tez (np. pomiar konsumowanej przez SSMS pamięci przy stosowaniu i braku SET NOCOUNT ON). Szkoda, że Marek nie pokazał końcówki dema z obsługą transakcyjności w procedurach (ale może kiedyś na innej konferencji po prostu zrobi prezentacje o transakcjach). Ale i tak, jestem zadowolony z naszego występu.&lt;/p&gt;  &lt;p&gt;Wielkie słowa uznania należą się członkom PLSSUG z Wrocławia. Zwłaszcza tym kilku osobom z &lt;a href="http://itblogs.pl/blogs/notbeautifulanymore"&gt;Tobiaszem Koprowskim&lt;/a&gt; na czele. Wspaniała robota. Organizacja konferencji – pierwsza klasa. Myślę, że nawet brak tej nieszczęsnej pizzy nikomu nie przeszkadzał. W sumie chyba nie spotkaliśmy się tam na lunch ;-)&lt;/p&gt;  &lt;p&gt;Co mogę dodać. Gratulacje dla wszystkich uczestników – dzięki, że chciało się Wam słuchać o SQL Serverze zamiast balować na andrzejkowych imprezach. Gratulacje dla prelegentów (szczególnie dla mojego współprelegenta – Marka, po raz kolejny totalny odlot) za naprawdę ciekawe sesje (świetne podsumowanie znajdziecie na &lt;a href="http://itblogs.pl/blogs/notbeautifulanymore/archive/2009/12/05/podsumowanie-sqlday-2009.aspx"&gt;blogu Tobiasza&lt;/a&gt;). Gratulacje dla &lt;strong&gt;Grzesia Stoleckiego&lt;/strong&gt; – świeżo upieczonego prezesa PLSSUG. Oby pod Grzesiowymi rządami grupa realizowała najambitniejsze plany.&lt;/p&gt;  &lt;p&gt;Do zobaczenia za rok. Bo nie wątpię, że w listopadzie 2010 znów spotkamy się na konferencji SQLDay. Gdzie tym razem? Czas pokaże. Ja już nie mogę się doczekać.&lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4491" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="społeczność" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spo_4201_eczno_5B010701_/default.aspx" /><category term="PLSSUG" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/PLSSUG/default.aspx" /><category term="konferencje" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/konferencje/default.aspx" /><category term="SQLDay" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQLDay/default.aspx" /></entry><entry><title>[PL] Kolacje w różnych wariantach</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/11/17/pl-kolacje-w-r-nych-wariantach.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/11/17/pl-kolacje-w-r-nych-wariantach.aspx</id><published>2009-11-17T22:19:26Z</published><updated>2009-11-17T22:19:26Z</updated><content type="html">&lt;p&gt;Dzisiaj spędziłem kilka chwil analizując problem, jaki pojawił się w &lt;a href="http://wss.pl/frmThread.aspx?tid=72057"&gt;jednym z wątków na portalu WSS.pl&lt;/a&gt;. Cała rzecz rozbijała się o użycie funkcji &lt;a href="http://msdn.microsoft.com/en-us/library/ms186823.aspx"&gt;DATABASEPROPERTYEX&lt;/a&gt;, która jako wynik zwraca wartość typu &lt;strong&gt;sql_variant&lt;/strong&gt;. I tu był cały szkopuł. Skąd biorą się informacje o właściwościach baz danych? Może z bazy master? A jaką kolację (nieoficjalne spolszczenie angielskiego &amp;quot;collation&amp;quot;) ma baza master? Oczywiście, kolację serwera (wybieramy ją podczas instalacji). A zatem, jeśli mamy kolację Polish_CI_AS na serwerze, to wartość typu sql_variant zwracana przez DATABASEPROPERTYEX zakonotuje sobie kolację Polish_CI_AS właśnie (taki już urok typu sql_variant – gdy wrzucamy doń tekst, zapamiętuje się też jego kolacja). Jak to sprawdzić? Oto mały test:&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;USE&lt;/span&gt; master;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;IF&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;EXISTS&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;SELECT&lt;/span&gt; * &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt; sys.databases &lt;span style="color:#0000ff;"&gt;WHERE&lt;/span&gt; name = N&lt;span style="color:#006080;"&gt;'test'&lt;/span&gt;)&lt;br /&gt;  &lt;span style="color:#0000ff;"&gt;DROP&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; test;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;  &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;CREATE&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; test;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;USE&lt;/span&gt; test;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;SELECT&lt;/span&gt; &lt;br /&gt;  SQL_VARIANT_PROPERTY(DATABASEPROPERTYEX(DB_NAME(), &lt;span style="color:#006080;"&gt;'Collation'&lt;/span&gt;), &lt;span style="color:#006080;"&gt;'Collation'&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;AS&lt;/span&gt; KolacjaZapamietana,&lt;br /&gt;  &lt;span style="color:#0000ff;"&gt;CASE&lt;/span&gt; &lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;WHEN&lt;/span&gt; N&lt;span style="color:#006080;"&gt;'Polish_CI_AS'&lt;/span&gt; = DATABASEPROPERTYEX(DB_NAME(), &lt;span style="color:#006080;"&gt;'Collation'&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;THEN&lt;/span&gt; 1 &lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;ELSE&lt;/span&gt; 0 &lt;br /&gt;  &lt;span style="color:#0000ff;"&gt;END&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;AS&lt;/span&gt; TestRownosci;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Serwer ma kolację Polish_CI_AS. Test równości pokazuje, że kolacja bazy bieżącej to Polish_CI_AS. Funkcja &lt;a href="http://msdn.microsoft.com/en-us/library/ms178550.aspx"&gt;SQL_VARIANT_PROPERTY&lt;/a&gt; pokazuje, że sql_variant zapamiętał kolację tę samą. Nic dziwnego, skoro tylką jedną kolacją operujemy :-)&lt;/p&gt;

&lt;p&gt;A teraz trochę trudniej:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;margin:0em;padding-left:0px;width:100%;padding-right:0px;font-family:'Courier New', courier, monospace;direction:ltr;border-top-style:none;color:black;font-size:8pt;border-left-style:none;overflow:visible;padding-top:0px;" id="codeSnippet"&gt;&lt;span style="color:#0000ff;"&gt;USE&lt;/span&gt; master;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;IF&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;EXISTS&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;SELECT&lt;/span&gt; * &lt;span style="color:#0000ff;"&gt;FROM&lt;/span&gt; sys.databases &lt;span style="color:#0000ff;"&gt;WHERE&lt;/span&gt; name = N&lt;span style="color:#006080;"&gt;'test'&lt;/span&gt;)&lt;br /&gt;  &lt;span style="color:#0000ff;"&gt;DROP&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; test;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;  &lt;br /&gt;&lt;span style="color:#0000ff;"&gt;CREATE&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;DATABASE&lt;/span&gt; test &lt;span style="color:#0000ff;"&gt;COLLATE&lt;/span&gt; Polish_BIN;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;USE&lt;/span&gt; test;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#0000ff;"&gt;SELECT&lt;/span&gt; &lt;br /&gt;  SQL_VARIANT_PROPERTY(DATABASEPROPERTYEX(DB_NAME(), &lt;span style="color:#006080;"&gt;'Collation'&lt;/span&gt;), &lt;span style="color:#006080;"&gt;'Collation'&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;AS&lt;/span&gt; KolacjaZapamietana,&lt;br /&gt;  &lt;span style="color:#0000ff;"&gt;CASE&lt;/span&gt; &lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;WHEN&lt;/span&gt; N&lt;span style="color:#006080;"&gt;'Polish_BIN'&lt;/span&gt; = DATABASEPROPERTYEX(DB_NAME(), &lt;span style="color:#006080;"&gt;'Collation'&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;THEN&lt;/span&gt; 1 &lt;br /&gt;    &lt;span style="color:#0000ff;"&gt;ELSE&lt;/span&gt; 0 &lt;br /&gt;  &lt;span style="color:#0000ff;"&gt;END&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;AS&lt;/span&gt; TestRownosci;&lt;br /&gt;GO&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Tym razem kolacja bazy jest inna niż kolacja serwera. I co się dzieje? Test równości mówi, że kolacja bazy wcale nie jest Polish_BIN (choć jest właśnie taka bez wątpienia!). I co się okazuje. Ano okazuje się, że sql_variant zwracany przez funkcję DATABASEPROPERTYEX zapamiętał... Polish_CI_AS, czyli kolację serwera!&lt;/p&gt;

&lt;p&gt;I teraz pytanie, czy wiedząc, że jest tak, jak powyżej napisałem, możemy domyśleć się, jak to się dzieje, że powyższe testy równości dają takie wyniki, jakie dają? Tak!!! Odpowiedzią są dwa rozdziały Books Online (BOL):&lt;/p&gt;

&lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms190309.aspx" href="http://msdn.microsoft.com/en-us/library/ms190309.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms190309.aspx&lt;/a&gt; - &lt;strong&gt;Data Type Precedence&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms181071.aspx" href="http://msdn.microsoft.com/en-us/library/ms181071.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms181071.aspx&lt;/a&gt; – &lt;strong&gt;Using sql_variant Data&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Z pierwszego z powyższych rozdziałów dowiadujemy się, że sql_variant jest prawie najwyżej w hierarchii typów SQL Servera. A to oznacza, że w przypadku porównywania wartości typu sql_variant do wartości typu nvarchar (jak to ma miejsce powyżej) ta druga wartość rzutowana jest na sql_variant i dopiero następuje porównanie. A &lt;strong&gt;porównanie dwóch wartości typu sql_variant to już nie bułka z masłem dla SQL Servera&lt;/strong&gt;, o czym można przeczytać w drugim z podanych przeze mnie powyżej rozdziałów BOL (warto spojrzeć, ile parametrów jest tam porównywanych, jeśli wartości pochodzą od typów tekstowych!). &lt;/p&gt;

&lt;p&gt;Chciałoby się powiedzieć, czytajcie dokumentację (RTFM) :-) A ja bym powiedział raczej – uwaga na to, co zwraca funkcja (jakiego typu dane). Bo przecież proste rzutowanie na nvarchar załatwia sprawę problemów z sql_variant w przypadku użycia funkcji DATABASEPROPERTYEX, co pokazał &lt;strong&gt;&lt;a href="http://zine.net.pl/blogs/mad"&gt;Marek Adamczuk&lt;/a&gt;&lt;/strong&gt; we wspomnianym &lt;a href="http://wss.pl/frmThread.aspx?tid=72057"&gt;wątku na WSS.pl&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Osobne podziękowania dla &lt;strong&gt;Maćka Pileckiego&lt;/strong&gt;, z którym dyskusja ożywiła mój umysł i zachęciła mnie do ponownego przyjrzenia się problemowi. Problemowi, który okazuje się niekoniecznie trudny, a jednak pokazuje, jak bardzo trzeba uważać operując funkcjami (zawsze trzeba znać typ zwracany) oraz że nie powinniśmy ufać niejawnym konwersjom.&lt;/p&gt;

&lt;p&gt;Zdecydowanie polecam też wszystkim obejrzenie nagrania &lt;strong&gt;sesji Marka Adamczuka o kolacjach &lt;/strong&gt;z wczorajszego spotkania &lt;strong&gt;Virtual Study Group 70-432&lt;/strong&gt;. Nagranie powinno niebawem ukazać się na portalu &lt;a href="http://www.virtualstudy.pl/"&gt;VirtualStudy.pl&lt;/a&gt;. Kolacje są tematem niełatwym i można się w nich pogubić dość skutecznie.&lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4411" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="sql_variant" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/sql_5F00_variant/default.aspx" /><category term="kolacje" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/kolacje/default.aspx" /><category term="collation" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/collation/default.aspx" /></entry><entry><title>[PL/EN] TechEd Europe 2009 Post Mortem</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/11/16/pl-en-teched-europe-2009-post-mortem.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/11/16/pl-en-teched-europe-2009-post-mortem.aspx</id><published>2009-11-16T11:45:00Z</published><updated>2009-11-16T11:45:00Z</updated><content type="html">&lt;TABLE cellSpacing=0 cellPadding=10&gt;

&lt;TR&gt;
&lt;TD style="BORDER-RIGHT:black 1px dotted;"&gt;
&lt;H1&gt;[PL]&lt;/H1&gt;
&lt;P&gt;Konferencja &lt;STRONG&gt;TechEd Erope 2009&lt;/STRONG&gt; jest już przeszłością. Byłem tam w Berlinie i postanowiłem podzielić się swoimi wrażeniami i wspomnieniami.&lt;/P&gt;
&lt;H3&gt;Organizacja&lt;/H3&gt;
&lt;P&gt;W tym roku TechEd Europe odbył się w stolicy Niemiec, Berlinie. Centrum konferencyjne &lt;STRONG&gt;Messe Berlin&lt;/STRONG&gt; okazało się ogromne (pierwszego dnia udało mi się obejść je dookoła i doświadczyć, jak jest ogromne). Ale tak musiało być, skoro w konferencji wzięło udział około 7000 uczestników (zarówno programistów, jak i IT prosów). Centrum jest naturalnie podzielone na duże części i organizatorzy postanowili to wykorzystać, by oddzielić poszczególne strefy konferencji. I tak mieliśmy osobną strefę labów, osobną strefę TLC (Technical Learning Center), osobną strefę Exhibition Hall (z tzw. Community Lounge pośrodku), osobną strefę na potrzeby lunchy i wreszcie osobną strefę sal wykładowych na potrzeby sesji.&lt;/P&gt;
&lt;P&gt;W praktyce okazało się, że choć sale wykładowe były spore, na wiele sesji nie można było się dostać z braku miejsc. Na przykład – nie udało mi się wejść na sesję &lt;STRONG&gt;&lt;A href="http://blogs.technet.com/plwit/"&gt;Pauli Januszkiewicz&lt;/A&gt;&lt;/STRONG&gt; (dwukrotnie, bo sesja była powtórzona w piątek). Jednak problem ten nie wynikał z wielkości sal, a raczej z faktu, że uczestnicy nie musieli deklarować przed konferencją, w jakich sesjach wezmą udział. Przydałby się jednak system rodem z MTS 2009...&lt;/P&gt;
&lt;P&gt;Ogólnie oceniam, że miejsce zostało dobrze dobrane, a ekipa techniczna działała bardzo sprawnie (tu duże podziękowania dla &lt;STRONG&gt;Neila Palmera&lt;/STRONG&gt; za jego nieocenioną pomoc w strefie Community Lounge).&lt;/P&gt;
&lt;P&gt;Tradycyjnie już można było zauważyć, że w czasie TechEd’ów możliwe jest jednoczesne spożywanie lunchu przez kilka tysięcy ludzi (na siedząco i bez kolejek) :-)&lt;/P&gt;
&lt;P&gt;Ciekawostką jest, że dramatycznie spadła liczba MCT obsługujących laboratoria. Czyżby cięcia w budżecie? ;-)&lt;/P&gt;
&lt;H3&gt;Społeczności&lt;/H3&gt;
&lt;P&gt;W tym roku większość czasu na TechEd Europe spędziłem w Community Lounge, czyli w miejscu, gdzie spotykali się ludzie z różnych społeczności skupionych wokół technologii Microsoft. Moim zadaniem była popularyzacja organizacji takich jak &lt;A href="http://www.gitca.org"&gt;Global IT Community Association&lt;/A&gt; (GITCA, dawniej Culminis) czy &lt;A href="http://www.ineta.org"&gt;Ineta&lt;/A&gt; wśród ludzi zaangażowanych w społeczności. Czas dzieliłem pomiędzy rozmowy z ludźmi ze społeczności i organizowanie &lt;STRONG&gt;konkursu Guitar Hero&lt;/STRONG&gt; (tak tak, był taki konkurs, a wygrała go niesamowita "bogini rocka" &lt;STRONG&gt;Freena&lt;/STRONG&gt; z Holandii). A więc tak, można powiedzieć, że byłem tam w pracy!&lt;/P&gt;
&lt;P&gt;Przy okazji padłem jedną z wielu "ofiar" &lt;STRONG&gt;Karen Young&lt;/STRONG&gt; z programu MVP, która przeprowadziła ze mną krótki wywiad (zamieszczam poniżej).&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;H1&gt;[EN]&lt;/H1&gt;
&lt;P&gt;The &lt;STRONG&gt;TechEd Erupe 2009&lt;/STRONG&gt; conference is a past now. I was there in Berlin, and I decided to share my experiences and memories.&lt;/P&gt;
&lt;H3&gt;The organization&lt;/H3&gt;
&lt;P&gt;This year TechEd Europe was in Berlin, the capital city of Germany. The &lt;STRONG&gt;Messe Berlin&lt;/STRONG&gt; confernce center appeared to be huuuge (on the very first day I walked around this center and I experienced how big it is). But it had to be this way because the total number of the attendees was around 7000 (both developers and IT professionals). The center is divided into several big areas and the organizers decided to use this fact to separate the zones of the event. And so we had a separate hands-on labs zone, a separate TLC zone (Technical Learning Center), a separate Exhibition Hall zone (with Community Lounge located in the very center of it), a separate lunch zone and – last but not least – the sessions zone.&lt;/P&gt;
&lt;P&gt;In practice it appeared that I couldn’t get to some sessions because of no free sits. For example I didn’t manage to get to the session of &lt;STRONG&gt;&lt;A href="http://blogs.technet.com/plwit/"&gt;Paula Januszkiewicz&lt;/A&gt;&lt;/STRONG&gt; (twice, because it was repeated on Friday). The problem was that before the conference the attendees didn’t have to declare which sessions they would attend.&lt;/P&gt;
&lt;P&gt;Generally, I think the place was good for this kind of event, and the technical crew worked very effectively (many thanks to &lt;STRONG&gt;Neil Palmer&lt;/STRONG&gt; for his priceless help with everything related to the Community Lounge).&lt;/P&gt;
&lt;P&gt;As always I noticed that somehow there is no problem during the TechEd events to organize lunch for several tousands people properly (everybody can eat sitting) and avoid queues :-)&lt;/P&gt;
&lt;P&gt;Interesting fact – the number of MCT working as HOL Proctors decreased dramatically. Cost-cutting? ;-)&lt;/P&gt;
&lt;H3&gt;The communities&lt;/H3&gt;
&lt;P&gt;This year I spent most of my time during the TechEd Europe event at the Community Lounge, a place where people from Microsoft communities were meeting. My task was to make the organizations like &lt;A href="http://www.gitca.org"&gt;Global IT Community Association&lt;/A&gt; (GITCA, formerly Culminis) and &lt;A href="http://www.ineta.org"&gt;Ineta&lt;/A&gt; more popular in the community. My time was divided between talking to the communtiy members and organizing the &lt;STRONG&gt;Guitar Hero contest&lt;/STRONG&gt; (yeah, there was such a contest and the winner was the amazing "goddess of rock" &lt;STRONG&gt;Freena&lt;/STRONG&gt; from Netherlands). &lt;/P&gt;
&lt;P&gt;By the way, I became one of the "victims" of &lt;STRONG&gt;Karen Young&lt;/STRONG&gt; from the MVP Program. She made a short interview with me (see below).&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2 align=middle&gt;
&lt;OBJECT style="WIDTH:425px;HEIGHT:344px;"&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/H0MzdSiBsZs"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowScriptAccess" VALUE="always"&gt;
&lt;embed src="http://www.youtube.com/v/H0MzdSiBsZs" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/OBJECT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD style="BORDER-RIGHT:black 1px dotted;"&gt;
&lt;P&gt;Spędzając czas w Community Lounge byłem świadkiem kilku rund konkursu Speaker Idol, w którym zwyciężyła &lt;STRONG&gt;Maral Topalian&lt;/STRONG&gt; z Libanu (gratulacje!). Warto dodać, że Maral startowała w tym konkursie po raz trzeci z rzędu. Godna pochwały konsekwencja. &lt;/P&gt;
&lt;H3&gt;Wiedza &lt;/H3&gt;
&lt;P&gt;Niestety, w tym roku nie udało mi się zobaczyć wielu sesji, a te, na których byłem, nie spełniły moich oczekiwań. W ogóle zauważyłem, że mam chyba coraz większe wymagania w stosunku do prelegentów i coraz trudniej sprostać moim oczekiwaniom ;-) Ale i tak polecam każdemu TechEd jako źródło wiedzy, bo tylu specjalistów w jednym miejscu spotyka się naprawdę rzadko. &lt;/P&gt;
&lt;P&gt;Warto nadmienić, że polscy prelegenci (&lt;STRONG&gt;Paula Januszkiewicz, Maciej Pilecki &lt;/STRONG&gt;i&lt;STRONG&gt; Rafał Łukawiecki&lt;/STRONG&gt;) wypadli bardzo dobrze, a wspomniani dwaj panowie zdominowali ponoć TOP 5 najlepszych sesji.&lt;/P&gt;
&lt;H3&gt;Wspomnienie &lt;/H3&gt;
&lt;P&gt;Tym razem postanowiłem zmontować ze zdjęć krótki filmik, który myślę, że oddaje klimat tego, co działo się podczas TechEd Europe 2009. Miłego oglądania.&lt;/P&gt;
&lt;P&gt;Dziękuję panom "Honor &amp;amp; Wisdom" oraz "New Born Child" za wspólne wycieczki po Berlinie i podzielenie się zdjęciami ;-)&lt;/P&gt;&lt;/TD&gt;
&lt;TD&gt;
&lt;P&gt;Being in the Community Lounge I watched several rounds of the Speaker Idol contest won by &lt;STRONG&gt;Maral Topalian&lt;/STRONG&gt; from Lebanon (congratulations!). Interesting that Maral started for the third time in a row in the Speaker Idol contest. Commendable consistency.&lt;/P&gt;
&lt;H3&gt;The knowledge&lt;/H3&gt;
&lt;P&gt;Unfortunately, this year I didn’t attend many sessions and the ones I managed to attend was not as good as I expected. In general, I noticed that my expectations for the speakers raise every year and it’s getting harder to meet them ;-) Anyway, I still recommend TechEd as a source of knowledge because it’s really hard to meet so many experts in one place in one time.&lt;/P&gt;
&lt;P&gt;It’s worth mentioning that the Polish speakers ((&lt;STRONG&gt;Paula Januszkiewicz, Maciej Pilecki &lt;/STRONG&gt;and&lt;STRONG&gt; Rafał Łukawiecki&lt;/STRONG&gt;) did a great job. The gentlemen I mentioned apparently had three sessions in TOP 5.&lt;/P&gt;
&lt;H3&gt;The memory&lt;/H3&gt;
&lt;P&gt;This time I decided to make a short movie from my photos. I think this movie reflects the climate of the TechEd Europe 2009 event. Enjoy.&lt;/P&gt;
&lt;P&gt;Many thanks to gentlemen "Honor &amp;amp; Wisdom" and "New Born Child" for common tours of Berlin and sharing their photos with me.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2 align=middle&gt;
&lt;P&gt;
&lt;OBJECT width=425 height=344&gt;&lt;PARAM NAME="movie" VALUE="http://www.youtube.com/v/vzb7mfHniz8&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;
&lt;embed src="http://www.youtube.com/v/vzb7mfHniz8&amp;amp;hl=pl_PL&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;&lt;/P&gt;
&lt;H1&gt;HOPE TO SEE YOU ALL NEXT YEAR!!!&lt;/H1&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4401" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="TechEd" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/TechEd/default.aspx" /><category term="społeczność" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spo_4201_eczno_5B010701_/default.aspx" /><category term="Microsoft" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/Microsoft/default.aspx" /><category term="communities" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/communities/default.aspx" /><category term="konferencje" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/konferencje/default.aspx" /><category term="events" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/events/default.aspx" /></entry><entry><title>[PL] 40. spotkanie PLSSUG Warszawa</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/10/22/pl-40-spotkanie-plssug-warszawa.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/10/22/pl-40-spotkanie-plssug-warszawa.aspx</id><published>2009-10-22T06:02:49Z</published><updated>2009-10-22T06:02:49Z</updated><content type="html">&lt;p&gt;&lt;a href="http://zine.net.pl/blogs/sqlgeek/40spotkanie_02E348FF.png"&gt;&lt;img style="border-right-width:0px;margin:10px 10px 10px 0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="40spotkanie" border="0" alt="40spotkanie" align="left" src="http://zine.net.pl/blogs/sqlgeek/40spotkanie_thumb_7BC40C86.png" width="300" height="400" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;W imieniu swoim oraz prelegentów zapraszam wszystkich chętnych na &lt;strong&gt;40. spotkanie warszawskiego oddziału&lt;/strong&gt; &lt;strong&gt;Polskiej Grupy Użytkowników SQL Server (PLSSUG)&lt;/strong&gt;. Spotkanie rozpocznie się &lt;strong&gt;w czwartek&lt;/strong&gt;, &lt;strong&gt;5 listopada, o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (Al. Jerozolimskie 195A). &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Wstęp na spotkanie wolny.&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Tym razem będzie coś dla programistów i architektów.&lt;/p&gt;  &lt;p&gt;Pierwszą prezentację dnia poprowadzi &lt;a href="http://zine.net.pl/blogs/mad"&gt;&lt;strong&gt;Marek Adamczuk (SQL Server MVP)&lt;/strong&gt;&lt;/a&gt;. Marek opowie o tych cechach &lt;strong&gt;transakcji&lt;/strong&gt;, o których na ogół się nie mówi, a które z punktu widzenia działania aplikacji bazodanowych są szalenie istotne. Prezentacja będzie okraszona przykładami kodu T-SQL z życia wziętymi. Ci, którzy widzieli w akcji Marka, wiedzą, że to pasjonat, który w czasie prezentacji idzie na żywioł i jego sesje zawsze są dynamiczne i pełne użytecznych wskazówek.&lt;/p&gt;  &lt;p&gt;Drugą prezentację poprowadzi &lt;strong&gt;Wojtek Sawicki&lt;/strong&gt;. Wojtek opowie o projektowaniu skomplikowanych baz danych z wykorzystaniem narzędzia &lt;strong&gt;PowerDesigner&lt;/strong&gt;. Przy czym z całą pewnością nie skupi się wyłącznie na narzędziu, ale wskaże pewne kluczowe problemy powstające w trakcie projektowania baz danych i rozwiązania owych problemów. Wojtek ma za sobą lata praktyki jako programista i architekt systemów wspierających przedsiębiorstwa. Systemy te słyną ze swej złożoności, więc z całą pewnością usłyszymy wiele przydatnych porad.&lt;/p&gt;  &lt;p&gt;Obie sesje gorąco polecam.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://ms-groups.pl/plssug/Lists/Calendar/DispForm.aspx?ID=135"&gt;Szczegółowa agenda 40. spotkania PLSSUG Warszawa&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://ms-groups.pl/plssug/Lists/40%20spotkanie%20PLSSUG%20Warszawa/AllItems.aspx"&gt;Nieobowiązkowa rejestracja na 40. spotkanie PLSSUG Warszawa&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Zapraszam w imieniu Polskiej Grupy Użytkowników SQL Server! &lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4306" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="społeczność" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spo_4201_eczno_5B010701_/default.aspx" /><category term="PLSSUG" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/PLSSUG/default.aspx" /><category term="spotkanie" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spotkanie/default.aspx" /></entry><entry><title>[PL] Virtual Study Group 70-432 – ucz się z nami do egzaminu</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/10/08/pl-virtual-study-group-70-432-ucz-si-z-nami-do-egzaminu.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/10/08/pl-virtual-study-group-70-432-ucz-si-z-nami-do-egzaminu.aspx</id><published>2009-10-08T13:28:08Z</published><updated>2009-10-08T13:28:08Z</updated><content type="html">&lt;p&gt;Zgodnie z zapowiedziami, jakie od dłuższego czasu pojawiały się na &lt;a href="http://ms-groups.pl/plssug/Lists/Team%20Discussion/AllItems.aspx"&gt;forum Polskiej Grupy Użytkowników SQL Server (PLSSUG)&lt;/a&gt;, zaczynamy &lt;strong&gt;Virtual Study Group 70-432 (VSG432)&lt;/strong&gt;. Co to takiego? To cykl prezentacji, których celem będzie przybliżenie zagadnień, które powinien opanować każdy, kto przystępuje do egzaminu Microsoft o numerku &lt;strong&gt;70-432&lt;/strong&gt; &lt;a href="http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-432"&gt;TS: Microsoft SQL Server 2008, Implementation and Maintenance&lt;/a&gt;. Celem nie będzie oczywiście przygotowanie od A do Z do wspomnianego egzaminu, a raczej pokazanie najważniejszych tematów, jakie czekają każdego zdającego w pytaniach/zadaniach na egzaminie.&lt;/p&gt;  &lt;p&gt;Wszystkie prezentacje będą odbywały się online z użyciem technologii &lt;strong&gt;Live Meeting&lt;/strong&gt;. &lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Aby uczestniczyć w sesjach (oglądać je na żywo), należy zainstalować klienta Live Meeting&lt;/strong&gt;. Można go pobrać tutaj: &lt;a title="http://office.microsoft.com/en-us/help/HA101733831033.aspx" href="http://office.microsoft.com/en-us/help/HA101733831033.aspx"&gt;&lt;strong&gt;http://office.microsoft.com/en-us/help/HA101733831033.aspx&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Kolejne spotkania VSG432 będziemy ogłaszać na witrynie PLSSUG (&lt;a href="http://www.plssug.org.pl"&gt;www.plssug.org.pl&lt;/a&gt;) oraz na portalu VirtualStudy.pl (&lt;a href="http://www.VirtualStudy.pl"&gt;www.VirtualStudy.pl&lt;/a&gt;). &lt;/p&gt;  &lt;p&gt;Poniżej pełna lista planowanych tematów wraz z datami (każde spotkanie może składać się z kilku części).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table style="width:577pt;border-collapse:collapse;" cellspacing="0" cellpadding="5"&gt;     &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;width:28pt;font-family:calibri;background:black;height:12.75pt;color:white;font-size:10pt;border-top:black 0.5pt solid;font-weight:700;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl66"&gt;Lp.&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:black;color:white;font-size:10pt;border-top:black 0.5pt solid;font-weight:700;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl66"&gt;Temat&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:108pt;font-family:calibri;background:black;color:white;font-size:10pt;border-top:black 0.5pt solid;font-weight:700;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl66"&gt;Prelegent&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:83pt;font-family:calibri;background:black;color:white;font-size:10pt;border-top:black 0.5pt solid;font-weight:700;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl66"&gt;Moderator&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:53pt;font-family:calibri;background:black;color:white;font-size:10pt;border-top:black 0.5pt solid;font-weight:700;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl66"&gt;Data&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:yellow;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl71"&gt;1&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl72"&gt;Instalacja SQL Server 2008&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl73"&gt;Marcin Goł&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl73"&gt;Ziemek Borowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl74"&gt;2009-10-15&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:yellow;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl71"&gt;2&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl72"&gt;Konfiguracja SQL Server cz. 1 - sp_configure&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl73"&gt;Marcin Goł&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl73"&gt;Ziemek Borowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl74"&gt;2009-10-15&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:25.5pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:yellow;height:25.5pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl71"&gt;3&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:yellow;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl75"&gt;Konfiguracja SQL Server cz. 2 - SQL Server Configuration Manager (+ SQL Browser)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl73"&gt;Paweł Potasiński&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl73"&gt;Ziemek Borowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:yellow;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl74"&gt;2009-10-15&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#dbe5f1;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl76"&gt;4&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#dbe5f1;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl77"&gt;Database Mail - konfiguracja i zastosowania&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl78"&gt;Ziemek Borowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl78"&gt;Paweł Potasiński&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl79"&gt;2009-10-19&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#dbe5f1;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl76"&gt;5&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#dbe5f1;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl77"&gt;Joby, alerty, operatorzy - konfiguracja, monitorowanie&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl78"&gt;Damian Widera &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl78"&gt;Paweł Potasiński&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl79"&gt;2009-10-19&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#dbe5f1;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl76"&gt;6&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#dbe5f1;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl77"&gt;Problemy z jobami (historia wykonywania, proxy, credentials)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl78"&gt;Stefan Konopnicki&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl78"&gt;Paweł Potasiński&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#dbe5f1;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl79"&gt;2009-10-19&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#d7e4bc;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl80"&gt;7&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#d7e4bc;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl81"&gt;Backup/restore&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Marcin Goł &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Damian Widera&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl83"&gt;2009-10-21&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#d7e4bc;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl80"&gt;8&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#d7e4bc;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl81"&gt;Maintenance plany&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Beata Zalewa &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Damian Widera&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl83"&gt;2009-10-21&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:25.5pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#d7e4bc;height:25.5pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl80"&gt;9&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#d7e4bc;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl81"&gt;Zarządzanie bazami danych (pliki, grupy plików, opcje plików, recovery model, attach/detach)&lt;span style="mso-spacerun:yes;"&gt;&amp;#160;&lt;/span&gt;&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Marcin Goł &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Damian Widera&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl83"&gt;2009-10-21&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:25.5pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#d7e4bc;height:25.5pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl80"&gt;10&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#d7e4bc;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl81"&gt;Integralność baz danych (DBCC CHECKDB i jego opcje, śledzenie suspect pages)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Marcin Goł &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl82"&gt;Damian Widera&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d7e4bc;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl83"&gt;2009-10-21&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#fcd5b4;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl84"&gt;11&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#fcd5b4;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl85"&gt;Login, user, rola - kluczowe pojęcia w zarządzaniu bezpieczeństwem&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl86"&gt;Stefan Konopnicki&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl86"&gt;Marcin Goł&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl87"&gt;2009-10-26&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:25.5pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#fcd5b4;height:25.5pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl84"&gt;12&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#fcd5b4;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl85"&gt;Uprawnienia na poziomie instancji (w tym cross-database ownership chaining, impersonation, fixed server roles)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl86"&gt;Marek Adamczuk&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl86"&gt;Marcin Goł&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl87"&gt;2009-10-26&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:38.25pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#fcd5b4;height:38.25pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl84"&gt;13&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#fcd5b4;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl85"&gt;Uprawnienia na poziomie baz danych (w tym ownership chains, schematy, uprawnienia do wykonywania operacji na obiektach, fixed database roles)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl86"&gt;Marek Adamczuk&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl86"&gt;Marcin Goł&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#fcd5b4;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl87"&gt;2009-10-26&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#ccc0da;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl88"&gt;14&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#ccc0da;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl89"&gt;Policy-Based Management&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl90"&gt;Łukasz Grala&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl90"&gt;Tobiasz Koprowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl91"&gt;2009-10-28&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:25.5pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#ccc0da;height:25.5pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl88"&gt;15&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#ccc0da;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl89"&gt;Audytowanie instancji (błędy logowania, logi serwera, C2, logon trigger, DDL trigger, event notifications)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl90"&gt;Marek Adamczuk&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl90"&gt;Tobiasz Koprowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl91"&gt;2009-10-28&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#ccc0da;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl88"&gt;16&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#ccc0da;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl89"&gt;Transparent Data Encryption + Kryptografia&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl90"&gt;Damian Widera &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl90"&gt;Tobiasz Koprowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ccc0da;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl91"&gt;2009-10-28&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#c5be97;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl92"&gt;17&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#c5be97;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl93"&gt;Kompresja danych (także kompresja backupów)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl94"&gt;Marcin Goł &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl94"&gt;Paweł Potasiński&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl95"&gt;2009-11-04&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#c5be97;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl92"&gt;18&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#c5be97;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl93"&gt;Resource Governor &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl94"&gt;Damian Widera&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl94"&gt;Paweł Potasiński&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl95"&gt;2009-11-04&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:13.5pt;mso-height-source:userset;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#c5be97;height:13.5pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl92"&gt;19&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#c5be97;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl93"&gt;Performance Studio&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl94"&gt;Damian Widera&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl94"&gt;Paweł Potasiński&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#c5be97;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl95"&gt;2009-11-04&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#e6b9b8;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl96"&gt;20&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#e6b9b8;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl97"&gt;Full-text indexing&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl98"&gt;Łukasz Grala&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl98"&gt;Stefan Konopnicki&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl99"&gt;2009-11-16&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:25.5pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#e6b9b8;height:25.5pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl96"&gt;21&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#e6b9b8;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl97"&gt;Indeksy (w tym indeksy przestrzennne, indeksy XML, defragmentacja)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl98"&gt;Hubert Kobierzewski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl98"&gt;Stefan Konopnicki&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl99"&gt;2009-11-16&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#e6b9b8;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl96"&gt;22&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#e6b9b8;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl97"&gt;Kolacje (serwera, bazy, kolumny, klauzula COLLATE) &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl98"&gt;Marek Adamczuk&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl98"&gt;Stefan Konopnicki&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#e6b9b8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl99"&gt;2009-11-16&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#ffc000;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl100"&gt;23&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#ffc000;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl101"&gt;Problemy z lockami (blokowanie, deadlocki, omówienie DMVs) &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl102"&gt;Łukasz Grala&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl102"&gt;Tobiasz Koprowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl103"&gt;2009-11-18&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#ffc000;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl100"&gt;24&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#ffc000;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl101"&gt;SQL Server Profiler + Perfmon&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl102"&gt;Łukasz Grala &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl102"&gt;Tobiasz Koprowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl103"&gt;2009-11-18&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#ffc000;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl100"&gt;25&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#ffc000;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl101"&gt;Database Tuning Advisor &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl102"&gt;Łukasz Grala&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl102"&gt;Tobiasz Koprowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#ffc000;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:black none;" class="xl103"&gt;2009-11-18&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl67"&gt;26&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl69"&gt;High Availability (klaster, mirroring, log shipping) &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl68"&gt;Ziemek Borowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl68"&gt;Beata Zalewa&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl70"&gt;2009-11-23&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;background:#d8d8d8;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:#d8d8d8 none;" class="xl67"&gt;27&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;background:#d8d8d8;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:#d8d8d8 none;" class="xl69"&gt;Replikacja&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d8d8d8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:#d8d8d8 none;" class="xl68"&gt;Marcin Goł / Radek Kępa&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d8d8d8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:#d8d8d8 none;" class="xl68"&gt;Tobiasz Koprowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;background:#d8d8d8;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;mso-pattern:#d8d8d8 none;" class="xl70"&gt;2009-11-25&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height:12.75pt;"&gt;       &lt;td style="border-bottom:black 0.5pt solid;border-left:black 0.5pt solid;font-family:calibri;height:12.75pt;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl67"&gt;28&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;width:305pt;font-family:calibri;color:windowtext;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl69"&gt;Import i eksport danych (BCP, BULK INSERT, OPENROWSET, GUI)&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl68"&gt;Beata Zalewa &lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl68"&gt;Ziemek Borowski&lt;/td&gt;        &lt;td style="border-bottom:black 0.5pt solid;border-left:medium none;font-family:calibri;color:black;font-size:10pt;border-top:medium none;font-weight:400;border-right:medium none;text-decoration:none;text-underline-style:none;text-line-through:none;" class="xl70"&gt;2009-11-30&lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;p&gt;Sam jestem ciekaw, jak nam to wyjdzie. Ale już dzisiaj zachęcam wszystkich, którzy zamierzają uczestniczyć w spotkaniach na żywo, do założenia sobie konta na &lt;a href="http://www.VirtualStudy.pl"&gt;www.VirtualStudy.pl&lt;/a&gt;. Dzięki temu będziecie mogli dyskutować z prelegentami i moderatorami spotkań po ich zakończeniu. &lt;/p&gt;  &lt;p&gt;Do zobaczenia na sesjach Live Meeting!&lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4251" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="Live Meeting" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/Live+Meeting/default.aspx" /><category term="egzamin" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/egzamin/default.aspx" /><category term="70-432" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/70-432/default.aspx" /><category term="Virtual Study Group" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/Virtual+Study+Group/default.aspx" /></entry><entry><title>[PL] Teched Europe 2009 – geek lives here</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/10/02/pl-teched-europe-2009-geek-lives-here.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/10/02/pl-teched-europe-2009-geek-lives-here.aspx</id><published>2009-10-02T05:41:52Z</published><updated>2009-10-02T05:41:52Z</updated><content type="html">&lt;p&gt;&lt;b&gt;&lt;a href="http://www.microsoft.com/europe/TechEd/"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" border="0" src="https://techedeurope2009.crgevents.com/tee09/files/image/teched09_header_com.gif" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Ha! Udało się i znów (po roku przerwy) pojadę na Teched Europe! Będzie to mój czwarty (2005, 2006, 2007, 2009) udział w europejskiej edycji tej konferencji. W tym roku impreza zapowiada się o tyle ciekawie, że nie ma podziału na programistów i IT prosów. Jest jeden wielki event – zapewne zaplanowany na jakieś 5 tysięcy ludzi. Ot, taki większy MTS :-)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;No właśnie, a propos MTS 2009... Ci, co byli na MTS 2009 w zasadzie poczuli ducha techedowego. Dlaczego? Oto, jakie sesje między innymi znalazły się w agendzie berlińskiej konferencji:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://zine.net.pl/blogs/sqlgeek/image_36D9A1AB.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://zine.net.pl/blogs/sqlgeek/image_thumb_48B63578.png" width="357" height="172" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Fajnie? Była tam nawet druga sesja Marka, którą też na MTS pokazał. A zatem widzieliśmy na MTS te same prezentacje, które obejrzą ludzie na konferencji za ponad 2 tysiące EURO! A co tam, posłodzę jeszcze raz (ale to już naprawdę ostatni raz w tym roku!) polskiemu oddziałowi MS - dobra robota z tym dobieraniem sesji :-)&lt;/p&gt;  &lt;p&gt;Może Berlin to nie to samo, co Barcelona, może w listopadzie w tej części Europy pogoda nie powala, nieważne. Ważne, że znów będzie okazja spotkać znajomych (i nieznajomych!) z branży IT z całego świata. Zdecydowanie ten aspekt konferencji jest dla mnie najważniejszy.&lt;/p&gt;  &lt;p&gt;Jeżeli wybierasz się na Teched Europe 2009, daj znać (pawelp[at]plssug[dot]org[dot]pl)! Może wybierzemy się na zwiedzanie Berlina, na oglądanie uroczystości z okazji rocznicy zburzenia muru berlińskiego czy na jakąś imprezę (a tych na ogół na Teched nie brakuje). A może po prostu zamienimy parę słów przy stoisku Culminisa, gdzie spędzę w tym roku trochę czasu integrując się z liderami społeczności IT z całego starego kontynentu? Do zobaczenia w listopadzie w Messe Berlin!&lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4230" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="wydarzenia" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/wydarzenia/default.aspx" /><category term="TechEd" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/TechEd/default.aspx" /><category term="społeczność" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spo_4201_eczno_5B010701_/default.aspx" /><category term="Culminis" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/Culminis/default.aspx" /><category term="konferencje" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/konferencje/default.aspx" /></entry><entry><title>[PL] MTS 2009 oczami uczestnika</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/09/30/pl-mts-2009-oczami-uczestnika.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/09/30/pl-mts-2009-oczami-uczestnika.aspx</id><published>2009-09-30T20:36:00Z</published><updated>2009-09-30T20:36:00Z</updated><content type="html">&lt;P&gt;To były dwa dni pełne wrażeń! Konferencja &lt;A href="http://www.mts2009.pl/"&gt;Microsoft Technology Summit 2009&lt;/A&gt; dobiegła końca. Jak wypadła w porównaniu z poprzednimi edycjami? Czy sesje stały na dobrym poziomie? Czy było dość kawy i jedzenia? Czy organizatorzy podołali co roku większym oczekiwaniom uczestników? &lt;/P&gt;
&lt;P&gt;Te i inne pytania znalazły pewnie tyle odpowiedzi, ilu było uczestników tego wyjątkowego wydarzenia. Wyjątkowego, bo jak inaczej nazwać konferencję, na której kilkudziesięciu prelegentów prezentuje najnowsze technologie przed trzema tysiącami słuchaczy?&lt;/P&gt;
&lt;P&gt;Gdyby ktoś mnie zapytał, jak oceniam MTS 2009 w dwóch słowach, odpowiedziałbym niczym &lt;A href="http://edge.technet.com/Media/Steve-Ballmer-spotkanie-z-polsk-spoecznoci-IT/"&gt;Steve Ballmer&lt;/A&gt;: "&lt;EM&gt;AWESOME, BABY!&lt;/EM&gt;".&lt;/P&gt;
&lt;P&gt;Dlaczego tak mi się tegoroczny MTS podobał? Moje dwa cele co roku na MTS są niezmienne: po pierwsze - spotkać wyjątkowych ludzi o zainteresowaniach zbliżonych do moich i po drugie – wysłuchać ciekawych prezentacji prowadzonych przez znakomitych prelegentów. I okazało się, że moje oczekiwania zostały spełnione!&lt;/P&gt;
&lt;P&gt;Zacząłem z samego rana we wtorek 29 września. Wchodzę do PKiN, "pik, pik" i po rejestracji – to lubię. Żadnych zbędnych formalności – tylko wręczenie przewodnika i bilecików na obiadki. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Sesja generalna&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;MARGIN:10px 0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=017 border=0 alt=017 align=right src="http://zine.net.pl/blogs/sqlgeek/017_4819A9C4.jpg" width=260 height=200&gt; Na śniadanko – sesja generalna. Do Sali Kongresowej wchodziłem z pewną taką nieśmiałością mając w pamięci niezbyt udaną sesję generalną z MTS 2008 (dość rzec, że wytrzymałem wówczas 10 minut). I proszę, można zrobić fajną sesję generalną? Można! Pan Dariusz Piotrowski powinien dostać wyłączność na prowadzenie podobnych sesji. Wypadł znakomicie, jakby się w życiu nie rozstawał z mikrofonem. Brawo. Brawo za to, że nawet po słabszych momentach w wykonaniu dwóch kolegów pokazujących na dużym stresie "ficzery" Windows 7 błyskawicznie olśnił mnie Mariusz Jarzębowski. Brawo za wizję i za jasne przesłanie - "hej, Microsoft nie upadł, co prawda odczuwamy kryzys, ale dalej inwestujemy w rozwój i research". Wyszedlem z sesji generalnej pełen nadziei, że idzie ku lepszemu (to jak, za 10 lat na MTS wszystko będzie ładne i dotykowe?) ;-)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How Windows Storage Is Changing:&amp;nbsp; Everything's Going VHD! | &lt;/STRONG&gt;&lt;A href="http://www.mts2009.pl/agenda/prelegenci#mminasi"&gt;&lt;STRONG&gt;Mark Minasi&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Pierwszą sesją, jaką zobaczyłem na MTS 2009, była prezentacja &lt;STRONG&gt;Marka Minasiego &lt;/STRONG&gt;o VHD w Windows 7. Po raz pierwszy widziałem Marka w akcji i muszę powiedzieć, że żadne opowieści nie oddadzą tego, co dzieje się na jego sesjach. Ten człowiek jest niewiarygodny w roli prelegenta. Wszędzie go pełno. Mówi tak, że w zasadzie temat jest nieistotny. Po prostu magnetyzm Marka powoduje, że słucha się go mega-przyjemnie. Przy okazji jest autentycznie zabawny, co nie jest wcale proste. Jego żart o zarobkach administratorów Linuksa czy stwierdzenie, że poczułby się "powerful", gdyby Microsoft wycofał pewną funkcjonalność, by zrobić mu na złość, były przednie i śmiałem się szczerze. A przy okazji dowiedziałem się nieco o tych słynnych wirtualnych dyskach w Windows 7 i chyba nawet zacznę ich używać! &lt;STRONG&gt;Ocena sesji: &lt;FONT color=#ff0000&gt;10/10&lt;/FONT&gt;&lt;/STRONG&gt; (bo Mark wprowadził mnie w dobry nastrój i zaostrzył apetyt na następne sesje)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Półfinał konkursu Speaker Idol&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;W przerwie na lunch przypadła mi w udziale rola prowadzącego półfinał konkursu Speaker Idol. Choć po raz pierwszy zostałem "wodzirejem", dałem z siebie wszystko i zawody odbyły się szybko i sprawnie. Szacunek z mojej strony dla osób, które zgłosiły się do konkursu. Już w półfinale spory tłum uczestników konferencji słuchał 5-minutowych prezentacji 10 półfinalistów. Niektórzy konkursowicze wypadli naprawdę znakomicie (m.in. &lt;STRONG&gt;Jacek Pytowski &lt;/STRONG&gt;i &lt;STRONG&gt;Tomek Wiśniewski&lt;/STRONG&gt;, których prezentacje zostały ocenione najwyżej przez jury konkuru). Takie wydarzenia, jak ten konkurs, pamięta się przez lata. Myślę, że jedynym mankamentem był dość krótki czas, w którym musieliśmy się "zmieścić" (nieco ponad godzina na 10 prezentacji i oceny jury, to ciut mało).&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Windows 7 Demo Mania | &lt;/STRONG&gt;&lt;A href="http://www.mts2009.pl/agenda/prelegenci#tkrynen"&gt;&lt;STRONG&gt;Tony Krijnen&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;, &lt;/STRONG&gt;&lt;A href="http://www.mts2009.pl/agenda/prelegenci#dvansoest"&gt;&lt;STRONG&gt;Daniel van Soest&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-RIGHT-WIDTH:0px;MARGIN:10px 0px 10px 10px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title=022 border=0 alt=022 align=right src="http://zine.net.pl/blogs/sqlgeek/022_4DF44D5D.jpg" width=260 height=200&gt; Po półfinale Speaker Idola udałem się na prezentację &lt;EM&gt;Windows 7 Demo Mania&lt;/EM&gt; prowadzoną przez dwóch przemiłych (tego samego wieczora poznałem ich nieco na imprezie Community @ Night) Holendrów z Microsoft. &lt;STRONG&gt;Tony i Daniel&lt;/STRONG&gt; zrobili kawał dobrej roboty. Pokazali mnóstwo nowinek w Windows 7 zapewniając przy tym ubaw po pachy. Dialog o zastosowaniach trybu prywatnego w IE zapisze się w mojej pamięci jako pokaz mistrzowskiego prowadzenia prezentacji w duecie (szacunek za to, bo wiem, jak trudno prowadzić prezentację z innym prelegentem i to jeszcze w formie dialogu). Pokaz prowadzony swobodnie na kilku maszynach wirtualnych i rzeczywistych, płynne przechodzenie między tematami, omówienie NAP i Direct Access, praca na polskim language packu (!!!!)... Długo by wymieniać to, co mi się podobało w tej sesji. Coś pięknego! I to na poziomie 200, a więc w zasadzie dla każdego. &lt;STRONG&gt;Ocena sesji: &lt;FONT color=#ff0000&gt;10/10 &lt;/FONT&gt;&lt;/STRONG&gt;(znakomita konwencja, błyskotliwe dialogi, zero nudy)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Visual Studio 2010 - najciekawsze cechy w praktyce | &lt;/STRONG&gt;&lt;A href="http://www.mts2009.pl/agenda/prelegenci#bpampuch"&gt;&lt;STRONG&gt;Bartosz Pampuch&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;"Niemożliwe, same świetne sesje?!" – pomyślałem, gdy udałem się na kolejną prezentację. &lt;STRONG&gt;Bartosz Pampuch&lt;/STRONG&gt;, no co ja mogę o człowieku napisać :-) Przemiły chłopak, szef R&amp;amp;D w Comarch, gość, który ma unikalny dar zjednywania sobie publiki i czuje się w roli prelegenta, jak ryba w wodzie. Tym razem wiedziałem, że temat jest nieco obok zainteresowań Bartka i byłem ciekaw, jak sobie poradzi w nowej sytuacji. A miał sobie nie poradzić? :-) Początek – i wszystko jasne. Zamiast pierwszego slajdu i agendy – film. I to nie byle jaki! Profesjonalna animacja wprowadza słuchaczy w nastrój sesji i sprawia, że sala już czeka na "mięsko". I po chwili nadchodzi grad informacji o nowościach w Visual Studio 2010 podany w takiej formie, że nikt nie ma wątpliwości, że prelegent jest najwyższej próby. Takich sesji mogę słuchać w dowolnej ilości. Nie będąc ekspertem w temacie .NET, wątków, zadań równoległych i w ogóle programowania obiektowego, dokładnie wiem, co autor miał na myśli, tfu, prelegent chciał przekazać :-) &lt;STRONG&gt;Ocena sesji: &lt;FONT color=#ff0000&gt;10/10&lt;/FONT&gt;&lt;/STRONG&gt; (słodzę? ale takich ludzi trzeba rozpuszczać w cukrze! przecież na koniec publika biła Bartkowi brawo trzy razy!)&lt;/P&gt;
&lt;P&gt;Sesja Bartka była ostatnią, jaką widziałem pierwszego dnia konferencji. Co prawda spędziłem jeszcze 10 minut słuchając Pawła Terleckiego mówiącego o Gemini, ale to było zdecydowanie za mało, by wypowiadać się na temat jego prezentacji. &lt;/P&gt;
&lt;P&gt;Potem przyszedł czas na imprezę &lt;STRONG&gt;Community @ Night&lt;/STRONG&gt;. Nie ma to jak dobra zabawa w doborowym towarzystwie przy piwie, XBoxach i pogaduchach o blogach (&lt;A href="http://itblogs.pl/blogs/bloggersunderground/"&gt;Bloggers Underground # 2.5&lt;/A&gt;) społecznościach, technologiach i życiu. Było super.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;User Experience and design technologies – What’s New and Cool? | &lt;/STRONG&gt;&lt;A href="http://www.mts2009.pl/agenda/prelegenci#mkoster"&gt;&lt;STRONG&gt;Michael Koester&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;W środę rano na szczęście nie czułem oznak zmęczenia po wieczornym imprezowaniu i pełen dobrych myśli udałem się na sesję o Silverlight, WPF i Blend. Michael Koester miał doskonałe notowania po ubiegłorocznej edycji konferencji. Toteż poprzeczkę stawiałem mu wysoko. Myślałem, że demonstracje powalą mnie pięknymi i animowanymi interfejsami użytkownika. Hmmm... Było nieźle, ale... Ale uważam, że pokazywanie na takiej sesji przydługiego tutoriala wziętego z bloga prelegenta to nie jest to, co tygryski lubią najbardziej. Miejscami traciłem wątek, gdy Michael wykonywał różne operacje w niezbyt widocznym i prostym interfejsie Blenda. Muszę przyznać, że udało mu się mnie zatrzymać na tej sesji czymś innym niż efekty specjalne. A mianowicie bardzo przypadła mi do gustu pasja, z jaką Michael opowiadał o technologiach bogatego interfejsu użytkownika. W sumie sesja porządna, ale bez fajerwerków. &lt;STRONG&gt;Ocena sesji: &lt;FONT color=#ff0000&gt;7.5/10&lt;/FONT&gt;&lt;/STRONG&gt; (za pasję, za odnośnik do bloga &lt;A href="http://geekswithblogs.net/kobush"&gt;Szymona Kobalczyka&lt;/A&gt;, za podanie paru trików a propos realizacji multi-touch)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;12 Tips to Secure Your Windows Systems Revisited:&amp;nbsp; How Vista, Server 2008 and Windows 7 Change the Game | &lt;/STRONG&gt;&lt;A href="http://www.mts2009.pl/agenda/prelegenci#mminasi"&gt;&lt;STRONG&gt;Mark Minasi&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Druga sesja dnia i druga sesja Marka, jaką widziałem na tej konferencji. I po raz drugi zrobił na mnie piorunujące wrażenie. Są tacy ludzie, którzy mają niemal wytatuowane na czole PRE-LE-GENT. Mark Minasi jest bez wątpienia jednym z nich. Temat o bezpieczeństwie, teoretycznie o jakichś tipsach, a tymczasem prelegent jak gdyby nigdy nic opowiada zabawne historie, z których jednak każda pasuje jak ulał do tematu i – co ważne – prowadzi do puenty, nie zawsze oczywistej. Każda wypowiedź Marka jest przemyślana i celowa. Każdy żart komponuje się efektownie z prezentowaną wiedzą. Czapki z głów. Dotąd myślałem, że nie do pobicia jest warsztat prezenterski Rafała Łukawieckiego. Po MTS 2009 myślę, że Mark Minasi jest co najmniej tak samo dobry, a nawet jego styl odpowiada mi bardziej (większy fun!). &lt;STRONG&gt;Ocena sesji: &lt;FONT color=#ff0000&gt;10/10&lt;/FONT&gt; &lt;/STRONG&gt;(tak dobrze wybrałem sesje, czy może jestem nieobiektywny???)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SQL Server 2005/2008 Database Maintenance – Practical tips and tricks for all SQL Server databases | &lt;/STRONG&gt;&lt;A href="http://www.mts2009.pl/agenda/prelegenci#ktripp"&gt;&lt;STRONG&gt;Kimberly L. Tripp&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;MARGIN:10px 0px 10px 10px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title=029 border=0 alt=029 align=right src="http://zine.net.pl/blogs/sqlgeek/029_6617B7B8.jpg" width=260 height=200&gt;Przed ostatnią sesją zrobiłem sobie długą przerwę i postanowiłem odpuścić sobie prezentację Artura Jedynaka (zmęczenie dało o sobie znać, a chciałem bardzo pójść na choć jedną sesję o SQL Server). Spędziłem za to owocnie ponad 1,5 godziny na dyskusji o Programie MVP z &lt;A href="http://blogs.technet.com/alead_msft/"&gt;Alessandro Teglia&lt;/A&gt; (MVP Lead).&lt;/P&gt;
&lt;P&gt;Jako jedyną sesję o SQL Server na MTS 2009 wybrałem sobie prezentację &lt;A href="http://www.sqlskills.com/Blogs/Kimberly/"&gt;Kimberly L. Tripp&lt;/A&gt; o praktycznych tips and tricks dla administratorów baz danych. Kimberly i jej męża, &lt;A href="http://www.sqlskills.com/Blogs/Paul/"&gt;Paula S. Randala&lt;/A&gt;, znam osobiście z konferencji TechEd oraz z epizodów na lotniskach :-) Co można powiedzieć o Kimberly? Ktoś kiedyś nazwał ją "SQL Goddess". W zasadzie to całkiem dobrze oddaje jej charakterystykę. I co zrobiła "bogini" na MTS 2009? W ciągu 75 minut omówiła 10 całkiem sporych tematów. Nie zaprezentowała żadnego dema, ale – o dziwo! – wcale mi to nie przeszkadzało! Muszę przyznać, że namawiałem sporo osób, by wybrały się na choć jedną prezentację Kimberly i po tej sesji stwierdziłem, że dobrze, że namawiałem! Klasa prelegent. &lt;STRONG&gt;Ocena sesji: &lt;FONT color=#ff0000&gt;10/10&lt;/FONT&gt; &lt;/STRONG&gt;(powalająca ilość wiedzy w pigułce, bezcenne linki do blogów Kimberly i Paula, licznych KB i whitepaperów, kilkadziesiąt sekund oklasków na koniec sesji mówi samo za siebie)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Koniec&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Zakończenie MTS 2009 wypadło mniej okazale niż rozpoczęcie, ale to normalna sprawa. Ludzie uciekają na pociągi, samoloty, unikają korków na drogach. Stąd mniejsze zainteresowanie sesją końcową oraz finałem konkursu Speaker Idol. Zwycięzcą Speaker Idola został &lt;A href="http://tomaszwisniewski.com/"&gt;Tomek Wiśniewski&lt;/A&gt;, który najlepiej poradził sobie ze stresem, podbił jury konkursu i zasłużył, by w przyszłym roku poprowadzić sesję na MTS 2010. Gratulacje!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Post mortem&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;No i co tu napisać na koniec? Szkoda, że już po wszystkim? Do zobaczenia za rok? :-)&lt;/P&gt;
&lt;P&gt;Podsumuję moje wrażenia krótko: brawa dla organizatorów i oby tak było zawsze! Sesje na wysokim poziomie, znakomita atmosfera, widoczne i wszechobecne społeczności, wyciągnięte wnioski z poprzednich lat. Nawet taki malkontent, jak ja, nie ma się do czego przyczepić. Za rok też chcę być na MTS. I polecam tę konferencję każdemu, kto chce być na bieżąco z technologiami Microsoft. Po prostu warto tam być.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Ocena konferencji MTS 2009: &lt;FONT color=#ff0000&gt;10/10&lt;/FONT&gt;&lt;/STRONG&gt;!!!&lt;/P&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4219" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="społeczność" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spo_4201_eczno_5B010701_/default.aspx" /><category term="Microsoft" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/Microsoft/default.aspx" /><category term="MTS" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/MTS/default.aspx" /><category term="konferencje" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/konferencje/default.aspx" /></entry><entry><title>[PL] 39. spotkanie PLSSUG Warszawa</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/09/28/pl-39-spotkanie-plssug-warszawa.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/09/28/pl-39-spotkanie-plssug-warszawa.aspx</id><published>2009-09-28T13:13:43Z</published><updated>2009-09-28T13:13:43Z</updated><content type="html">&lt;p&gt;&lt;a href="http://zine.net.pl/blogs/sqlgeek/39spotkanie_2A6A8C38.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:10px 10px 10px 0px;display:inline;border-top:0px;border-right:0px;" title="39spotkanie" border="0" alt="39spotkanie" align="left" src="http://zine.net.pl/blogs/sqlgeek/39spotkanie_thumb_445E4C5A.png" width="300" height="400" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;W imieniu swoim oraz prelegentów zapraszam wszystkich chętnych na &lt;strong&gt;39. spotkanie warszawskiego oddziału&lt;/strong&gt; &lt;strong&gt;Polskiej Grupy Użytkowników SQL Server (PLSSUG)&lt;/strong&gt;. Spotkanie rozpocznie się &lt;strong&gt;w czwartek&lt;/strong&gt;, 1&lt;strong&gt; października, o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (Al. Jerozolimskie 195A) &lt;/strong&gt;Tak, tak, spotykamy się dzień po MTS 2009!!! :-)&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Wstęp na spotkanie wolny.&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Tematy są &lt;strong&gt;mega-interesujące, głównie dla programistów T-SQL&lt;/strong&gt;, bo...&lt;/p&gt;  &lt;p&gt;... pierwszą prezentację o &lt;strong&gt;wybranych&lt;/strong&gt; &lt;strong&gt;hintach &lt;/strong&gt;poprowadzi &lt;strong&gt;Krzysztof Bąk&lt;/strong&gt;. Ci, którzy widzieli prezentację Krzyśka o Service Brokerze, wiedzą, że człowiek porządnie przygotowuje materiał do każdej prezentacji, więc i tym razem na pewno jego sesja będzie interesująca. A po nim...&lt;/p&gt;  &lt;p&gt;... wystąpi niewątpliwie jeden z najlepszych prelegentów (jeśli nie najlepszy), jakich kiedykolwiek miała grupa PLSSUG Warszawa – &lt;strong&gt;&lt;a href="http://zine.net.pl/blogs/mad"&gt;Marek Adamczuk&lt;/a&gt;&lt;/strong&gt; (SQL Server MVP). Marek w każdej swojej prezentacji sprzedaje tyle wiedzy, że można nią śmiało obdzielić całe konferencje. Tym razem przyjdź, jeśli chcesz wiedzieć o wieeeeele więcej o &lt;strong&gt;transakcjach&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://ms-groups.pl/plssug/Lists/Calendar/DispForm.aspx?ID=109"&gt;Szczegółowa agenda 39. spotkania PLSSUG Warszawa&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://ms-groups.pl/plssug/Lists/39%20spotkanie%20PLSSUG%20Warszawa/AllItems.aspx"&gt;Nieobowiązkowa rejestracja na 39. spotkanie PLSSUG Warszawa&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Zapraszam w imieniu Polskiej Grupy Użytkowników SQL Server! &lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4214" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="społeczność" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spo_4201_eczno_5B010701_/default.aspx" /><category term="PLSSUG" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/PLSSUG/default.aspx" /><category term="spotkanie" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spotkanie/default.aspx" /></entry><entry><title>[EN] SQL Server MVP Deep Dives e-book and pre-order are coming!</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/09/17/en-sql-server-mvp-deep-dives-e-book-and-pre-order-are-coming.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/09/17/en-sql-server-mvp-deep-dives-e-book-and-pre-order-are-coming.aspx</id><published>2009-09-17T18:41:54Z</published><updated>2009-09-17T18:41:54Z</updated><content type="html">&lt;p&gt;Last year a project named &lt;a href="http://zine.net.pl/blogs/sqlgeek/archive/2008/11/19/en-announcing-sql-server-mvp-book-project.aspx"&gt;SQL Server MVP Book Project&lt;/a&gt; started. The result of this project is the &lt;strong&gt;&amp;quot;SQL Server MVP Deep Dives&amp;quot;&lt;/strong&gt; title published by &lt;a href="http://www.manning.com/"&gt;Manning&lt;/a&gt;! The book is coming as an e-book and pre-order on &lt;a href="http://www.amazon.com/SQL-Server-MVP-Deep-Dives/dp/1935182048"&gt;Amazon.com&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The title is coauthored by 53 MVPs and edited by some great names of the SQL Server world: &lt;a href="http://sqlblog.com/blogs/paul_nielsen/"&gt;Paul Nielsen&lt;/a&gt; (the originator of the whole project), &lt;a href="http://sqlblog.com/blogs/adam_machanic"&gt;Adam Machanic&lt;/a&gt;, &lt;a href="http://sqlblog.com/blogs/kalen_delaney/"&gt;Kalen Delaney&lt;/a&gt;, &lt;a href="http://sqlblog.com/blogs/greg_low/"&gt;Greg Low&lt;/a&gt;, &lt;a href="http://www.sqlskills.com/BLOGS/KIMBERLY/"&gt;Kimberly Tripp&lt;/a&gt; and &lt;a href="http://www.sqlskills.com/BLOGS/PAUL/"&gt;Paul Randal&lt;/a&gt;. The most important about this project is that none of the authors receive any money for their contributions (all proceeds are going to the charity).&lt;/p&gt;  &lt;p&gt;The chapters are divided into five sections:&lt;/p&gt;  &lt;p&gt;1. Database Design and Architecture    &lt;br /&gt;2. Database Development     &lt;br /&gt;3. Database Administration     &lt;br /&gt;4. Performance Tuning and Optimization    &lt;br /&gt;5. BI Development&lt;/p&gt;  &lt;p&gt;And, wow! I’m happy to announce you can find my chapter &lt;em&gt;&amp;quot;Utils now! Extend your productivity in SQL Server Management Studio and Query Analyzer&amp;quot;&lt;/em&gt; in Database Development section! It was a great experience to be a part of this project (and to have an opportunity to review one chapter written by &lt;a href="http://www.solidq.com/insidetsql/"&gt;Itzik Ben-Gan&lt;/a&gt; himself ;-)).&lt;/p&gt;  &lt;p&gt;I’m sure the book is great with so many topics covered by so many experts. I can’t wait until I get my own copy and read all 850 pages!&lt;/p&gt;  &lt;p&gt;PS1. Maybe we should think about some similar project locally in Polish Microsoft communities?&lt;/p&gt;  &lt;p&gt;PS2. The real premiere of SQL Server MVP Deep Dives will probably happen at PASS Summit conference later this year. I’ll keep posting when the book is available to buy (or to get from me somehow :-)).&lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4182" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="MVP" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/MVP/default.aspx" /><category term="MVP Book Project" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/MVP+Book+Project/default.aspx" /><category term="book" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/book/default.aspx" /><category term="SQL Server MVP Deep Dives" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server+MVP+Deep+Dives/default.aspx" /></entry><entry><title>[PL] 24 Hours of PASS – post mortem</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/09/03/pl-24-hours-of-pass-post-mortem.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/09/03/pl-24-hours-of-pass-post-mortem.aspx</id><published>2009-09-03T07:44:00Z</published><updated>2009-09-03T07:44:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://24hours.sqlpass.org/"&gt;&lt;IMG style="DISPLAY:block;FLOAT:none;MARGIN-LEFT:auto;MARGIN-RIGHT:auto;" border=0 alt="" src="http://24hours.sqlpass.org/Portals/5/24HrsPASS_984x183.jpg" width=640 height=119&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Wczorajszy dzień był wymarzonym dniem dla każdego, kto pasjonuje się systemem Microsoft SQL Server. Organizacja &lt;A href="http://www.sqlpass.org"&gt;Professional Association for SQL Server (PASS)&lt;/A&gt; zorganizowała wydarzenie online o nazwie &lt;A href="http://24hours.sqlpass.org/"&gt;24 Hours of PASS&lt;/A&gt;. Dwadzieścia cztery godzinne prezentacje, znani prelegenci, SQL Server MVPs, ciekawe i zróżnicowane tematy – każdy mógł znaleźć coś dla siebie. Inna sprawa, czy tematy były na wysokim poziomie merytorycznym. Z tym bywało różnie.&lt;/P&gt;
&lt;P&gt;Ja uczestniczyłem w 5 sesjach:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://24hours.sqlpass.org/Sessions/24HoursofPASSSessionDetailSession06.aspx"&gt;&lt;STRONG&gt;The SQL Server 2008 Vanishing Act &lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;&lt;STRONG&gt;Prelegent:&lt;/STRONG&gt;&amp;nbsp; Peter Ward &lt;BR&gt;&lt;STRONG&gt;Moja subiektywna ocena:&lt;/STRONG&gt; Wybrałem tę sesję z uwagi na tajemniczy tytuł. Niestety, rozczarowała mnie zarówno tematyka, jak i sama prezentacja. Tematyka była przeznaczona dla managerów lub szefów IT, co było o tyle zaskoczeniem, że spodziewałem się samego "mięska" czyli technikaliów. Ale dobrze, może być i sesja o tym, jak oszczędzać na serwerach. Tylko co w takiej prezentacji robi oklepane (pętla obiążająca CPU? było 200 razy!) demo dotyczące Resource Governora??? Zdecydowanie najsłabsza prezentacja, jaką tego dnia widziałem. Ocena: &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;4/10&lt;/FONT&gt;&lt;/STRONG&gt; (za podanie miejscami ciekawych statystyk)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://24hours.sqlpass.org/Sessions/24HoursofPASSSessionDetailSession07.aspx"&gt;Text Mining &lt;/A&gt;&lt;/STRONG&gt;&lt;BR&gt;&lt;STRONG&gt;Prelegent:&lt;/STRONG&gt; Dejan Sarka &lt;BR&gt;&lt;STRONG&gt;Moja subiektywna ocena:&lt;/STRONG&gt; Dejan na starcie przeprosił za swoją wymowę. Zupełnie niepotrzebnie, dało się zrozumieć ;-) Prelegent skupił się na komponentach SSIS służących do zabaw z tekstem (odszukiwania najczęściej występujących fraz i słów). Wspominał o aspektach wydajnościowych (wskazywał m.in. blokujące komponenty). Wszystko fajnie, ale miejscami brakowało mi "kropki nad i". Przykładowo, nie dowiedziałem się w końcu, jak znaleźć częstotliwość występowania frazy "SQL Server" nie pokazując częstotliwości występowania słowa "SQL" i jednocześnie pokazując częstotliwość występowania innych słów (tego niestety pokazywany komponent nie umiał, a przydałoby się choć wspomnieć, jak takie zadania realizować). Ocena: &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;8/10&lt;/FONT&gt;&lt;/STRONG&gt; (w sumie ciekawa sesja, wreszcie sporo "mięska" :-))&lt;/P&gt;
&lt;P&gt;&lt;A href="http://24hours.sqlpass.org/Sessions/24HoursofPASSSessionDetailsSession19.aspx"&gt;&lt;STRONG&gt;SQLCLR or T-SQL? A Brief Survey of Performance Options &lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;&lt;STRONG&gt;Prelegent:&lt;/STRONG&gt; Adam Machanic &lt;BR&gt;&lt;STRONG&gt;Moja subiektywna ocena:&lt;/STRONG&gt; Na tę sesję ostrzyłem sobie ząbki. CLR ma ogromny potencjał. Od zawsze czekałem, kiedy wreszcie ktoś podejdzie do tematu po męsku, zrobi porządny research i powie "tu, tu i tu CLR jest lepszy od T-SQL". I doczekałem się! To była zdecydowanie najlepsza prezentacja, jaką widziałem w ramach 24 Hours of PASS. Adam nie molestował słuchaczy znanymi powiedzonkami w stylu "do obliczeń matematycznych użyj CLR" tylko pokazywał konkretne przypadki, kiedy CLR jest lepszy/gorszy od T-SQL. Sesja z ogromną wartością dodaną. Wykresy, z których m.in. jasno wynikało, że REPLACE w SQL Server jest wolniejszy od odpowiednika napisanego w .NET to było to, co tygryski lubią najbardziej. Ocena: &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;10/10&lt;/FONT&gt;&lt;/STRONG&gt; (oby wszystkie prezentacje odpowiadały na tyle pytań!)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://24hours.sqlpass.org/Sessions/24HoursofPASSSessionDetailsSession20.aspx"&gt;&lt;STRONG&gt;Loading a Data Warehouse in SSIS&lt;/STRONG&gt;&lt;/A&gt; &lt;BR&gt;&lt;STRONG&gt;Prelegent:&lt;/STRONG&gt; Brian Knight &lt;BR&gt;&lt;STRONG&gt;Moja subiektywna ocena:&lt;/STRONG&gt; Briana Knighta zna każdy, kto czytuje literaturę poświęconą SSIS (zwłaszcza książki wydawnictwa Wrox). Dlatego postanowiłem zobaczyć, co ciekawego ma do pokazania w, trudnej rzekłbym, tematyce ładowania danych do hurtowni. I nie rozczarowałem się. W prezentacji czuć było wyraźnie słabość Briana do komponentu Slowly Changing Dimension :-) Ale też sporo ciekawostek udało się prelegentowi wyciągnąć na wierzch. Dość powiedzieć, że niektóre rzeczy nawet lokalnym SSIS-owym mistrzom były nieznane. Ocena: &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;9/10&lt;/FONT&gt;&lt;/STRONG&gt; (fajne dema, dużo ciekawostek)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://24hours.sqlpass.org/Sessions/24HoursofPASSSessionDetailsSession21.aspx"&gt;&lt;STRONG&gt;What's Simple about Simple Recovery Model &lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;&lt;STRONG&gt;Prelegent:&lt;/STRONG&gt; Kalen Delaney &lt;BR&gt;&lt;STRONG&gt;Moja subiektywna ocena:&lt;/STRONG&gt; Kalen przedstawiać nikomu nie trzeba. W świecie SQL Servera jest niemal wyrocznią (nie mylić z oracle ;-)). Tym razem dała przedsmak tego, co czeka szczęśliwców wybierających się na &lt;A href="http://summit2009.sqlpass.org/"&gt;PASS Summit 2009&lt;/A&gt;. Sesja o logu transakcyjnym przydałaby się wszystkim, którzy mają logi większe niż pliki danych (a sądząc po postach z forum portalu &lt;A href="http://www.wss.pl"&gt;WSS.pl&lt;/A&gt; nadal takich osób nie brakuje). Nie udało mi się dotrwać do końca, ale to, co zobaczyłem, utwierdziło mnie w dwóch przekonaniach: log transakcyjny to temat niełatwy i opanowanie tego tematu jest szalenie ważne, jeśli ktoś ma pracować z SQL Serverem "na poważnie". Ocena: &lt;STRONG&gt;&lt;FONT color=#ff0000&gt;N/A&lt;/FONT&gt;&lt;/STRONG&gt; (ale dałbym dużo, gdybym dotrwał do końca, bo bardzo lubię sposób prezentacji Kalen)&lt;/P&gt;
&lt;P&gt;Ogólnie oceniam 24 Hours of PASS na &lt;STRONG&gt;10/10&lt;/STRONG&gt;. Świetna sprawa taka wirtualna konferencja. Siedzisz wygodnie przed komputerem i oglądasz, ile chcesz. Zainteresowanie było spore. Na większości sesji, które widziałem, było ponad 400 słuchaczy. Można było zadać pytanie. Każda sesja była moderowana przez lidera jednej z grup należących do PASS (jedną z sesji moderował &lt;A href="http://zine.net.pl/blogs/damian_widera/"&gt;Damian Widera&lt;/A&gt;, prezes PLSSUG). Myślę, że po tym wydarzeniu każdy doceni potencjał Live Meetingu i wirtualnych konferencji. A może jakaś grupa w Polsce zrobi taką konferencję?&lt;/P&gt;
&lt;P&gt;I na koniec ciekawostka. Jeden człowiek – &lt;A href="http://thomaslarock.com/"&gt;Tom LaRock (SQLRockStar)&lt;/A&gt; – wytrzymał cały dzień i był na wszystkich sesjach. Szacunek dla tego Pana :-)&lt;/P&gt;
&lt;P&gt;[EDIT] Zupełnie zapomniałem wspomnieć (dzięki pascon za przypomnienie!), że &lt;STRONG&gt;wszystkie sesje były nagrywane&lt;/STRONG&gt;. Nagrania będą dostępne publicznie w listopadzie/grudniu. [/EDIT]&lt;/P&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4156" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="wydarzenia" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/wydarzenia/default.aspx" /><category term="PASS" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/PASS/default.aspx" /><category term="konferencje" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/konferencje/default.aspx" /><category term="24 Hours of PASS" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/24+Hours+of+PASS/default.aspx" /></entry><entry><title>[PL] 38. spotkanie PLSSUG Warszawa</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/08/25/pl-38-spotkanie-plssug-warszawa.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/08/25/pl-38-spotkanie-plssug-warszawa.aspx</id><published>2009-08-25T11:17:48Z</published><updated>2009-08-25T11:17:48Z</updated><content type="html">&lt;p&gt;&lt;a href="http://zine.net.pl/blogs/sqlgeek/image_470D087F.png"&gt;&lt;img style="border-right-width:0px;margin:10px 10px 10px 0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" align="left" src="http://zine.net.pl/blogs/sqlgeek/image_thumb_66BBE247.png" width="300" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;W imieniu swoim oraz prelegentów mam przyjemność zaprosić na &lt;strong&gt;38. spotkanie warszawskiego oddziału&lt;/strong&gt; &lt;strong&gt;Polskiej Grupy Użytkowników SQL Server (PLSSUG)&lt;/strong&gt;. Spotkanie rozpocznie się &lt;strong&gt;w czwartek&lt;/strong&gt;, &lt;strong&gt;3 września, o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie (Al. Jerozolimskie 195A) –&lt;/strong&gt; wracamy na stare śmieci :-)&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;Wstęp na spotkanie wolny.&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Tym razem zróżnicowanie tematów dość duże. Ale to chyba dobrze.&lt;/p&gt;  &lt;p&gt;Pierwszą prezentację o &lt;strong&gt;Data Mining Expressions (DMX)&lt;/strong&gt; poprowadzi &lt;a href="http://helion.pl/autorzy/szem.htm"&gt;&lt;strong&gt;Marcin Szeliga&lt;/strong&gt;&lt;/a&gt; (SQL Server MVP). Marcina przedstawiać nikomu nie trzeba. Autor licznych książek o tematyce związanej z bazami danych (i nie tylko), redaktor portalu WSS.pl, lider PLSSUG Katowice, trener. Ostatnio Marcin zmienił ciut kierunek swojego rozwoju w dziedzinie baz danych – skupia się na Business Intelligence. Efekt? &lt;a href="http://helion.pl/ksiazki/ss28ub.htm"&gt;Książka&lt;/a&gt; i właśnie sesja o DMX :-)&lt;/p&gt;  &lt;p&gt;Drugą prezentację dnia poprowadzi &lt;strong&gt;Krzysztof Stachyra&lt;/strong&gt; (MCT). Krzysztof a można spotkać na forum portalu WSS.pl (nick wrkwarka). Na co dzień pracuje jako trener i konsultant. W trakcie prezentacji Krzysztof zaprezentuje urządzenie FortiDB-400, które jest nowością w obsłudze baz danych. Sesja będzie miała na celu przybliżenie nowego kierunku urządzeń do monitoringu, które wkraczają wielkim krokiem w świat administracji bazami danych.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://ms-groups.pl/plssug/Lists/Calendar/DispForm.aspx?ID=108"&gt;Szczegółowa agenda 38. spotkania PLSSUG Warszawa&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://ms-groups.pl/plssug/Lists/38%20spotkanie%20PLSSUG%20Warszawa/AllItems.aspx"&gt;Nieobowiązkowa rejestracja na 38. spotkanie PLSSUG Warszawa&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Zapraszam w imieniu Polskiej Grupy Użytkowników SQL Server! &lt;/p&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4134" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="SQL Server" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/SQL+Server/default.aspx" /><category term="społeczność" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spo_4201_eczno_5B010701_/default.aspx" /><category term="PLSSUG" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/PLSSUG/default.aspx" /><category term="spotkanie" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/spotkanie/default.aspx" /></entry><entry><title>[PL] Mój harmonogram na MTS 2009</title><link rel="alternate" type="text/html" href="http://zine.net.pl/blogs/sqlgeek/archive/2009/08/20/pl-m-j-harmonogram-na-mts-2009.aspx" /><id>http://zine.net.pl/blogs/sqlgeek/archive/2009/08/20/pl-m-j-harmonogram-na-mts-2009.aspx</id><published>2009-08-20T12:01:00Z</published><updated>2009-08-20T12:01:00Z</updated><content type="html">&lt;P&gt;Po drobnych (?) problemach technicznych udało mi się przebrnąć przez tworzenie harmonogramu na &lt;A href="http://www.mts2009.pl/"&gt;MTS 2009&lt;/A&gt;. Szczerze mówiąc zaproponowane w tym roku tematy jakoś mnie nie powaliły na kolana i nie ułatwiły mi wyboru. Abstrakty sesji SQL-owych, na które liczyłem najbardziej, sugerują, że będziemy świadkami samych sesji what’s new. Ale pewnie wszystkiego nie ma w abstraktach i z każdej sesji będzie jakiś "take-away". Idę zatem na sesję o Gemini (what’s new w SQL Server 2008 R2 jest wskazane) i na jedną sesję Kimberly L. Tripp (tym, którzy Kimberly nie widzieli polecam obie jej sesje, a także obie sesje Paula S. Randala). A poza tym? O dziwo sporo Windowsa :-) Dwa razy wybieram się na Marka Minasiego. Idę też na lekką sesję o Windows 7 (Demo Mania). Z polskich prelegentów wybieram tych, którzy mnie nigdy nie zawiedli zarówno warsztatem, jak i merytoryką (i oczywiście tematyką) – Bartosza Pampucha i Artura Jedynaka. Całość dopełnia leciutka (poziom 200) sesja o Silverlight/WPF/Expression prowadzona przez Michaela Kostera (z tego, co pamiętam, człowiek miał bardzo dobre notowania po MTS 2008). Poniżej zrzut ekranu z mojego harmonogramu.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://zine.net.pl/blogs/sqlgeek/image_113A773F.png"&gt;&lt;IMG style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:block;FLOAT:none;MARGIN-LEFT:auto;BORDER-TOP:0px;MARGIN-RIGHT:auto;BORDER-RIGHT:0px;" title=image border=0 alt=image src="http://zine.net.pl/blogs/sqlgeek/image_thumb_379C5A8A.png" width=740 height=555&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Na koniec uwaga do organizatorów. Na przyszłość serwer i aplikację do tworzenia harmonogramów twórzcie tak, by wytrzymały szturm uczestników. Inaczej już w przedbiegach można uprzedzić ludzi do całego wydarzenia. Oby dalej było już tylko świetnie!&lt;/P&gt;&lt;img src="http://zine.net.pl/aggbug.aspx?PostID=4113" width="1" height="1"&gt;</content><author><name>brejk</name><uri>http://zine.net.pl/members/brejk.aspx</uri></author><category term="MTS" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/MTS/default.aspx" /><category term="konferencje" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/konferencje/default.aspx" /><category term="harmonogram" scheme="http://zine.net.pl/blogs/sqlgeek/archive/tags/harmonogram/default.aspx" /></entry></feed>