Subscribe RSS

Polskie blogi specjalistów IT / Microsoft

agregator blogów
  • O usłudze
  • ziembor.pl/blog/
  • Gdzie szukam?
    • wss.pl
    • ITBlogs
    • Jogger Techblog
    • dobreprogramy
  • Inne agreagatory
    • zine.net.pl/TechBlogs
    • itblogs.pl/agregat/

Author: Pawel Potasinski


[PL] SQL Server 2012 RTM już jest

2012-03-09 Posted by Pawel Potasinski under Polskie blogi IT, RTM

image

Trzy dni temu (6 marca) ujrzała światło dzienne wersja RTM (Ready To Manufacture) SQL Server 2012. Oznacza to, że produkt nie jest już w fazie testów i stał się gotowy do użycia w produkcyjnych środowiskach. A zatem… Czas przystąpić do testowania :-)

Na co warto zwrócić uwagę w czasie testowania? Poniżej kluczowe, w mojej ocenie, funkcjonalności nowej odsłony SQL Server:

  • AlwaysOn – rozwiązania wysokiej dostępności łączące zalety klastrów i Database Mirroringu,
  • ColumnStore Index – nowy rodzaj indeksów do optymalizacji zapytań wykonywanych w hurtowniach danych,
  • Distributed Replay – narzędzie do testów obciążeniowych i funkcjonalnych,
  • Nowości w SQL Server Management Studio – m.in. interfejs dla Extended Events, wizualizacja timeline przy odtwarzaniu baz z backupów, interfejs dla Page Restore, snippety w kodzie T-SQL
  • Nowości w T-SQL – m.in. sekwencje, nowe funkcje okienkowe i analityczne, THROW, File Table,
  • Tworzenie ról na poziomie serwera
  • Udoskonalony mechanizm SQL Audit dostępny w każdej edycji
  • Data Quality Services – w uproszczeniu: platforma do czyszczenia danych, zintegrowana z Master Data Services i Integration Services,
  • Master Data Services – zarządzanie danymi “master” wprowadzone w SQL Server 2008 R2, od teraz integralny komponent SQL Server, z poprawionym inerfejsem web (Silverlight) i dodatkiem do Excela dla sprawniejszego zarządzania danymi,
  • Nowości w Integration Services – m.in. nowy interfejs do projektowania paczek, dedykowana baza danych do katalogowania paczek, zarządzanie i monitorowanie z poziomu SQL Server Management Studio,
  • Nowe tryby pracy Analysis Services – Tabular Mode i PowerPivot for SharePoint,
  • Power View – nowe narzędzie do szybkiego tworzenia efektownych raportów na portalu SharePoint,
  • Data Alerts w Reporting Services – alerty uzależnione od danych w raportach,
  • SQL Server Data Tools – nowe wydanie Business Intelligence Development Studio wzbogacone o szablon rozbudowanego projektu bazy danych (Database Project).

Powyższe funkcjonalności to oczywiście nie wszystko, co jest nowe w SQL Server 2012. Oznacza to, że naprawdę jest co testować, bez dwóch zdań :-)

Wersję ewaluacyjną można pobrać tutaj: http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx.

Jeśli ktoś z Was natknie się w czasie testowania na jakieś ciekawostki lub problemy, chętnie się o tym dowiem i podyskutuję.

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

SQL Server 2012 – Nowinki w planach wykonania

2012-02-14 Posted by Pawel Potasinski under nowości, plany wykonania, Polskie blogi IT

Ostatnimi czasy bardzo dużo mówię o funkcjonalnościach SQL Server 2012, którego premiera zbliża się wielkimi krokami (na razie, w oczekiwaniu na wersję RTM produktu, warto wziąć udział w pewnym wirtualnym wydarzeniu). I tak, demonstruję m.in. AlwaysOn (arcyciekawe nowe podejście do wysokiej dostępności), ColumnStore Index (“turbo boost” dla zapytań wykonywanych na hurtowni danych) czy Power View (nowe podejście do interaktywnego raportowania). Ale oprócz kluczowych funkcjonalności, spośród których niektóre wymieniłem, są też takie, które umykają naszej uwadze.

Jedną z takich funkcjonalności jest nowinka w planach wykonania – ostrzeżenia przed operacjami wykonywanymi w bazie tempdb. Chodzi o scenariusze, gdy podczas wykonywania zapytania grant pamięci dla wykonywanych operacji typu Sort lub Hash jest zbyt mały, by operacja mogła być wykonana w pamięci i SQL Server dokonuje zrzutu danych do bazy tempdb.

Zobaczmy przykład (zapożyczony częściowo od Ramesha Meyyappan):

IF OBJECT_ID('tempdb.dbo.#T') IS NOT NULL
  DROP TABLE #T;
GO
--Tworzymy tabelę
CREATE TABLE #T (
  ID int IDENTITY(1,1) NOT NULL PRIMARY KEY,
  Name char(1000) NOT NULL,
  Size int NOT NULL
);
GO
--Wstawiamy 10k wierszy
INSERT INTO #T (Name, Size)
SELECT
  'Item ' + CONVERT(varchar(10), v2.number) +
  '(' + CONVERT(varchar(10), v1.number) + ')',
  v1.number
FROM master.dbo.spt_values AS v1, master.dbo.spt_values AS v2
WHERE v1.type = 'P' AND v2.type = 'P'
AND v1.number BETWEEN 1 AND 10
AND v2.number BETWEEN 1 AND 1000;
GO
--Upewniamy się, że statystyki są aktualne
UPDATE STATISTICS #T WITH FULLSCAN;
GO
--Testowe zapytanie (Sort w tempdb)
SELECT * FROM #T WHERE ID <= 7000
ORDER BY Size OPTION (MAXDOP 1);
GO

Przed wykonaniem ostatniego polecenia (SELECT) włączamy pokazywanie planu wykonania i naszym oczom ukazuje się coś takiego:

image

Uwagę przykuwa znaczek ostrzeżenia na ikonie operatora Sort. Gdy najedziemy myszką na ów operator, pokazuje się karta właściwości, a na niej:

image

Otrzymujemy jasną przesłankę, że operacja została wykonana z użyciem tempdb. Analogiczne ostrzeżenia możemy dostać w przypadku wystąpienia operatora Hash. Do tej pory takie ostrzeżenia można było przechwycić w aplikacji SQL Server Profiler (przy założeniu, że włączyliśmy w trace zdarzenia Sort Warning i Hash Warning). Niby niewiele, a jednak ta nowinka cieszy, bo może oszczędzić sporo czasu poświęconego na zastanawianie się, czemu zapytanie wykonuje się dłużej niż oczekujemy, choć plan wykonania wygląda w porządku. Dla mnie bomba :-)

PS. W miarę możliwości postaram się w niedługim czasie napisać coś o wspomnianych kluczowych funkcjonalnościach SQL Server 2012. Stay tuned!

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

Wirtualna premiera SQL Server 2012

2012-01-23 Posted by Pawel Potasinski under Polskie blogi IT

Właśnie dowiedziałem się, będąc w Redmond na szkoleniu Bare Metal SQL Server 2012, że 7 marca będzie miała miejsce wirtualna premiera SQL Server 2012! Jeżeli interesuje Cię nowa wersja SQL Servera, chcesz obejrzeć 30+ sesji prowadzonych przez czołowych specjalistów z całego świata i pracowników Microsoft, nie przegap tego wydarzenia i rejestruj się już dzisiaj na witrynie http://www.sqlserverlaunch.com. Na zachętę dodam, że w ramach premiery będzie miał miejsce mały konkurs z ciekawymi nagrodami. Po szczegóły odsyłam już na witrynę wydarzenia. Ja już się zarejestrowałem, a teraz wracam do tworzenia wirtualnych maszyn na potrzeby labów ;-)

Ważne! Wspomniana wirtualna premiera będzie wyłącznie wydarzeniem promującym najnowszą wersję SQL Servera i nie należy jej traktować jako oficjalnej premiery produktu. Nie oczekujcie więc, że 7 marca będziemy w stanie pobrać wersję RTM produktu :-)

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

Materiały z dwóch edycji SQLDay Workshop

2012-01-07 Posted by Pawel Potasinski under Polskie blogi IT

Ostatnio informowałem o trzeciej edycji warsztatów SQLDay Workshop. Miejsca na warsztaty rozeszły się błyskawicznie, co tylko potwierdza, jak potrzebne są podobne przedsięwzięcia.

Miło mi poinformować za Tobiaszem Koprowskim, aktualnym prezesem Polskiej Grupy Użytkowników SQL Server (PLSSUG), że na kanale YouTube PLSSUG dostępne są nagrania wideo z dwóch poprzednich edycji warsztatów.

Osoby zainteresowane materiałami zapraszam na podane poniżej strony.

SQLDay Workshop 2009 PlayList: http://www.youtube.com/playlist?list=PL6FF436F4330A598C&feature=plcp

SQLDay Workshop 2010 PlayList: http://www.youtube.com/playlist?list=PLB07B560412F478F6&feature=plcp

Polecam też fanpage PLSSUG na Facebooku, gdzie można śledzić aktualne wydarzenia i działania grupy.

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

Wydarzenie – warsztaty SQLDay Workshop 2012

2011-12-27 Posted by Pawel Potasinski under Polskie blogi IT

Banner2W imieniu krakowskiego oddziału Polskiej Grupy Użytkowników SQL Server (PLSSUG) zapraszam na doroczne warsztaty SQLDay Workshop 2012. Warsztaty odbędą się, tradycyjnie już, w Krakowie. Termin imprezy: 4 lutego 2012. Miejsce: Krakowski Park Technologiczny Sp. z o.o., Al. Jana Pawła II 41L. Warsztaty będą bezpłatne, ale wymagana będzie rejestracja (wkrótce na stronie warsztatów). Wszelkich informacji na temat warsztatów udziela lider krakowskiego PLSSUG-a, Paweł Wilkosz (pawel.wilkosz[małpa]plssug.org.pl). Ale już teraz mogę śmiało polecić te warsztaty wszystkim pasjonatom systemu Microsoft SQL Server oraz osobom, które pracują z tym systemem na co dzień. Udział w warsztatach zapowiedziały 4 osoby legitymujące się tytułem Microsoft Most Valuable Professional (MVP) w kategorii SQL Server, a więc znakomici specjaliści znający tajniki także najnowszej odsłony systemu – SQL Server 2012 ("Denali"). Polecam!

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

Podsumowanie roku + zmiany, zmiany, zmiany

2011-12-14 Posted by Pawel Potasinski under Polskie blogi IT

Co roku w grudniu publikuję na blogu swego rodzaju podsumowanie ostatniego roku kalendarzowego i moje plany na nadchodzący rok. By tradycji stało się zadość, poniżej kilka słów podsumowania na zakończenie kończącego się roku 2011.

Społeczności IT

Na dobry początek roku 2011 okazało się, że całkiem nieźle wyglądała moja aktywność na portalu WSS.pl w ubiegłym roku. Cieszę się, że w poprzednim roku mogłem pomóc wielu użytkownikom portalu zadającym pytania na forum. W tym roku moja aktywność na WSS.pl nie była już tak duża, głównie za sprawą notorycznego braku wolnego czasu :-)
W miarę możliwości starałem się wspierać Polską Grupę Użytkowników SQL Server (PLSSUG). Udało mi się przeprowadzić kilka prelekcji w Warszawie. Niestety, nie udało mi się dotrzeć na konferencję SQLDay, nad czym boleję (zatrzymały mnie sprawy zawodowe).

Bardzo miło za to wspominam Microsoft Technology Summit 2011, na której to konferencji miałem okazję spotkać wiele osób, z którymi chętnie dyskutuję i rozmawiam o technologiach, ale nie mam okazji spotykać ich na codzień.  Na MTS udało mi się, wspólnie z Markiem Adamczukiem, zaprezentować sesję  pt. “Najlepsze praktyki dla programisty T-SQL“, która została oceniona najwyżej ze wszystkich sesji podczas tegorocznej konferencji. Średnia ocen z ankiet wyniosła 8.44 na 9, więc była rewelacyjna. Dziękuję wszystkim, którzy zechcieli wypełnić naszą ankietę i cieszę się, że odbiór naszej prezentacji był tak dobry. Mam nadzieję w przyszłości ponownie pojawić się na MTS (oczywiście, najlepiej w duecie z Markiem).

Życie prywatne

Tu wydarzyło się bardzo dużo. Ci, co mnie znają bliżej, wiedzą, że ostatnie dwa lata miałem “wyjęte z życia”. Ale koniec końców udało się zrealizować projekt, który – póki co – mogę śmiało nazwać “projektem mojego życia”. Dość powiedzieć, że od sierpnia mieszkam z rodziną w nowym domu. Nareszcie :-)

Życie zawodowe

W życiu zawodowym wiodło mi się również bardzo dobrze. W Action IT Consulting przepracowałem ponad rok w znakomitym zespole, którego skuteczność działania i realizacji projektów stoją na najwyższym poziomie. Sporo się nauczyłem, głównie z zakresu BI, ale także w zakresie umiejętności miękkich – negocjacji z klientem i korespondencji w ramach korporacji. Miło było również poprowadzić latem kilka szkoleń poświęconych systemowi SQL Server (pozdrawiam zwłaszcza kursantów ze szkoleń w Sopocie).

W tym miejscu chciałbym podziękować kilku osobom, które przyczyniły się do moich pozytywnych odczuć na temat pracy w ciągu ostatniego roku. W pierwszej kolejności dziękuję Włodkowi Bielskiemu, z którym mam przyjemność pracować w zespole, a który jest w moich oczach jednym z najskuteczniejszych managerów, jakich znam. Dzięki Włodkowi nauczyłem się, jak skutecznie łączyć politykę z technologią oraz jak efektywnie zarządzać projektami. Cenna wiedza. Osobami, którym należą się moje podziękowania, są także prezesi Action Centrum Edukacyjnego, Michał Karski i Tomek Siemek. Jest mi niezmiernie miło, że po raz drugi mogliśmy udanie współpracować i że mimo nadchodzących zmian wszyscy jesteśmy nastawieni na ewentualną przyszłą współpracę :-)

Nie mógłbym też nie wspomnieć o pracy na uczelni, Warszawskiej Wyższej Szkole Informatyki, gdzie w ramach studium podyplomowego na kierunku Bazy Danych i Business Intelligence prowadzę zajęcia z kilku przedmiotów krzewiąc wiedzę na temat baz danych :-)

Zmiany, zmiany, zmiany

Wspomniałem o zmianach… Ano, przechodzę na “ciemną stronę mocy”, jak to niektórzy mawiają ;-),  i od nowego roku rozpoczynam pracę w polskim oddziale Microsoft w dziale Small & Medium Business Solutions and Partners na stanowisku Partner Technology Advisor – Application Platform. Zatem, jeśli to czytasz i pracujesz w firmie, która jest partnerem Microsoft wykonującym projekty z zastosowaniem SQL Servera (a także Bizztalka i SharePointa) – niewykluczone, że się spotkamy i będziemy mieli okazję współpracować :-)

Nie wątpię, że nowa praca będzie nie lada wyzwaniem. Po raz pierwszy wkroczę w życie międzynarodowej korporacji. Charakter stanowiska różni się znacznie od wszystkiego, co do tej pory robiłem. Moją rolą będzie wspieranie partnerów firmy Microsoft w projektach wykorzystujących technologie i platformy aplikacyjne mojego nowego pracodawcy. Nie będę więc pisał kodu SQL, a zajmę się doradztwem technologicznym i wsparciem sprzedaży produktów Microsoftu.

Czy sprawdzę się w nowej roli? Nie wiem, ale jestem bardzo zmotywowany, a to pierwszy krok do sukcesu :-) Trzymajcie zatem za mnie kciuki. Już dziś mój “korporacyjny” kalendarz zapełnia się spotkaniami i prezentacjami. Pod koniec stycznia wybiorę się zapewne do Redmond i Seattle, by wziąć udział w konferencji TechReady i odbyć serię szkoleń. Może być bardzo ciekawie. Z pewnością będę miał o czym pisać na blogu, o ile znajdę tylko czas na pisanie.

A skoro o blogu mowa, na nim też nastąpią zmiany. Zniknie logo programu MVP (w tym roku otrzymałem tę nagrodę po raz czwarty z kolei), ponieważ jako pracownik Microsoftu nie będę mógł utrzymać statusu SQL Server MVP (trochę żal, ale jakoś to przeżyję :-)). Ponadto, od tej pory wszystkie wpisy na blogu będą w języku polskim (i tak tych w języku angielskim było mało, więc zrezygnuję z prefiksowania tytułów dopiskiem [PL]).

Czy zmieni się mój profil zainteresowań? Nie sądzę. W końcu moja praca nadal będzie ściśle związana z systemem SQL Server (co najwyżej poszerzy moje horyzonty).

Plany

Moje plany na przyszłość? Hmmm… Głównie związane są z nowym wyzwaniem zawodowym, ale oczywiście mam też swoje plany co do bloga. Chciałbym, by zaczęły się na nim pojawiać artykuły o SQL Server 2012. Mam już nawet kilka pomysłów. Jak będzie z ich realizacją, trudno mi powiedzieć w tej chwili. Ale jak tylko znajdę chwilę, postaram się pisać w miarę systematycznie. Z pewnością chciałbym pojawić się na przyszłorocznej konferencji SQLDay (w maju) i dać jakieś prelekcje na spotkaniach PLSSUG. Co z tych planów uda się zrealizować, czas pokaże.

Tymczasem idą Święta Bożego Narodzenia i Nowy Rok. Życzę wszystkim czytelnikom mojego bloga, by spędzili najbliższy czas w świątecznej i rodzinnej atmosferze. Życzę zdrowia i spokoju ducha oraz by udało się zrealizować maksymalnie wiele noworocznych postanowień. Wszystkiego dobrego i do poczytania :-)

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

[PL] Nowe obiekty systemowe w SQL Server 2012 RC0

2011-12-12 Posted by Pawel Potasinski under Polskie blogi IT

Całkiem niedawno Aaron Bertrand (SQL Server MVP) opublikował na swoim blogu listę nowych obiektów systemowych, które pojawiły się w SQL Server 2012 RC0, a nie było ich w SQL Server 2012 CTP3. Pomyślałem, że przydałaby się analogiczna lista, ale w odniesieniu do obiektów z SQL Server 2008 R2.

Jak taką listę przyrządzić? W moim przypadku było to dziecinnie proste :-) Mam na jednej maszynie dwie instancje SQL Server – 2012 RC0 i 2008 R2. Wystarczyło na jednej z nich stworzyć serwer dołączony do drugiej i już można było pisać zapytania porównujące metadane obu instancji w stylu:

-- Nowe obiekty
SELECT
	QUOTENAME(SCHEMA_NAME([schema_id])) + '.' +
	QUOTENAME(name) AS object,
	type_desc
FROM sys.system_objects
WHERE is_ms_shipped = 1
EXCEPT
SELECT
	(QUOTENAME(SCHEMA_NAME([schema_id])) + '.' +
	QUOTENAME(name)) COLLATE database_default,
	type_desc COLLATE database_default
FROM [ASUS\SQL2008R2].master.sys.system_objects
WHERE is_ms_shipped = 1
ORDER BY 1;
 
-- Obiekty usunięte
SELECT
	(QUOTENAME(SCHEMA_NAME([schema_id])) + '.' +
	QUOTENAME(name)) COLLATE database_default AS object,
	type_desc COLLATE database_default AS type_desc
FROM [ASUS\SQL2008R2].master.sys.system_objects
WHERE is_ms_shipped = 1
EXCEPT
SELECT
	QUOTENAME(SCHEMA_NAME([schema_id])) + '.' +
	QUOTENAME(name),
	type_desc
FROM sys.system_objects
WHERE is_ms_shipped = 1
ORDER BY 1;

Powyższe zapytania były uruchamiane na instancji SQL Server 2012 RC0, zaś ASUS\SQL2008R2 to nazwa linked servera wskazującego na instancję SQL Server 2008 R2.

Co z tego wyszło?

Nowe obiekty systemowe

Nazwa obiektu Typ obiektu
[INFORMATION_SCHEMA].[SEQUENCES] VIEW
[sys].[availability_databases_cluster] VIEW
[sys].[availability_group_listener_ip_addresses] VIEW
[sys].[availability_group_listeners] VIEW
[sys].[availability_groups] VIEW
[sys].[availability_groups_cluster] VIEW
[sys].[availability_read_only_routing_lists] VIEW
[sys].[availability_replicas] VIEW
[sys].[column_store_dictionaries] VIEW
[sys].[column_store_index_stats] VIEW
[sys].[column_store_segments] VIEW
[sys].[database_filestream_options] VIEW
[sys].[dm_db_database_page_allocations] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_db_fts_index_physical_stats] VIEW
[sys].[dm_db_log_space_usage] VIEW
[sys].[dm_db_objects_disabled_on_compatibility_level_change] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_db_uncontained_entities] VIEW
[sys].[dm_exec_describe_first_result_set] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_exec_describe_first_result_set_for_object] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_filestream_non_transacted_handles] VIEW
[sys].[dm_fts_index_keywords_by_property] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_fts_semantic_similarity_population] VIEW
[sys].[dm_hadr_auto_page_repair] VIEW
[sys].[dm_hadr_availability_group_states] VIEW
[sys].[dm_hadr_availability_replica_cluster_nodes] VIEW
[sys].[dm_hadr_availability_replica_cluster_states] VIEW
[sys].[dm_hadr_availability_replica_states] VIEW
[sys].[dm_hadr_cluster] VIEW
[sys].[dm_hadr_cluster_members] VIEW
[sys].[dm_hadr_cluster_networks] VIEW
[sys].[dm_hadr_database_replica_cluster_states] VIEW
[sys].[dm_hadr_database_replica_states] VIEW
[sys].[dm_hadr_instance_node_map] VIEW
[sys].[dm_hadr_name_id_map] VIEW
[sys].[dm_logconsumer_cachebufferrefs] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_logconsumer_privatecachebuffers] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_logpool_consumers] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_logpool_hashentries] VIEW
[sys].[dm_logpool_sharedcachebuffers] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_logpool_stats] VIEW
[sys].[dm_logpoolmgr_freepools] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_logpoolmgr_respoolsize] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_logpoolmgr_stats] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_os_cluster_properties] VIEW
[sys].[dm_os_memory_broker_clerks] VIEW
[sys].[dm_os_server_diagnostics_log_configurations] VIEW
[sys].[dm_os_volume_stats] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[dm_os_windows_info] VIEW
[sys].[dm_resource_governor_resource_pool_affinity] VIEW
[sys].[dm_server_memory_dumps] VIEW
[sys].[dm_server_registry] VIEW
[sys].[dm_server_services] VIEW
[sys].[dm_tcp_listener_states] VIEW
[sys].[filetable_system_defined_objects] VIEW
[sys].[filetables] VIEW
[sys].[fn_hadr_backup_is_preferred_replica] SQL_SCALAR_FUNCTION
[sys].[fn_MSxe_read_event_stream] SQL_INLINE_TABLE_VALUED_FUNCTION
[sys].[fulltext_semantic_language_statistics_database] VIEW
[sys].[fulltext_semantic_languages] VIEW
[sys].[GeographyCollectionAggregate] AGGREGATE_FUNCTION
[sys].[GeographyConvexHullAggregate] AGGREGATE_FUNCTION
[sys].[GeographyEnvelopeAggregate] AGGREGATE_FUNCTION
[sys].[GeographyUnionAggregate] AGGREGATE_FUNCTION
[sys].[GeometryCollectionAggregate] AGGREGATE_FUNCTION
[sys].[GeometryConvexHullAggregate] AGGREGATE_FUNCTION
[sys].[GeometryEnvelopeAggregate] AGGREGATE_FUNCTION
[sys].[GeometryUnionAggregate] AGGREGATE_FUNCTION
[sys].[registered_search_properties] VIEW
[sys].[registered_search_property_lists] VIEW
[sys].[resource_governor_resource_pool_affinity] VIEW
[sys].[sequences] VIEW
[sys].[sp_audit_write] EXTENDED_STORED_PROCEDURE
[sys].[sp_availability_group_command_internal] EXTENDED_STORED_PROCEDURE
[sys].[sp_begin_parallel_nested_tran] EXTENDED_STORED_PROCEDURE
[sys].[sp_commit_parallel_nested_tran] EXTENDED_STORED_PROCEDURE
[sys].[sp_db_increased_partitions] SQL_STORED_PROCEDURE
[sys].[sp_describe_first_result_set] EXTENDED_STORED_PROCEDURE
[sys].[sp_describe_undeclared_parameters] EXTENDED_STORED_PROCEDURE
[sys].[sp_filestream_force_garbage_collection] SQL_STORED_PROCEDURE
[sys].[sp_filestream_recalculate_container_size] SQL_STORED_PROCEDURE
[sys].[sp_flush_commit_table_on_demand] SQL_STORED_PROCEDURE
[sys].[sp_fulltext_semantic_register_language_statistics_db] SQL_STORED_PROCEDURE
[sys].[sp_fulltext_semantic_unregister_language_statistics_db] SQL_STORED_PROCEDURE
[sys].[sp_get_redirected_publisher] SQL_STORED_PROCEDURE
[sys].[sp_help_spatial_geography_histogram] SQL_STORED_PROCEDURE
[sys].[sp_help_spatial_geometry_histogram] SQL_STORED_PROCEDURE
[sys].[sp_kill_filestream_non_transacted_handles] SQL_STORED_PROCEDURE
[sys].[sp_migrate_user_to_contained] EXTENDED_STORED_PROCEDURE
[sys].[sp_MS_marksystemobject] SQL_STORED_PROCEDURE
[sys].[sp_MScheckIsPubOfSub] SQL_STORED_PROCEDURE
[sys].[sp_MSgetversion] SQL_STORED_PROCEDURE
[sys].[sp_MSsetupnosyncsubwithlsnatdist_cleanup] SQL_STORED_PROCEDURE
[sys].[sp_MSsetupnosyncsubwithlsnatdist_helper] SQL_STORED_PROCEDURE
[sys].[sp_new_parallel_nested_tran_id] EXTENDED_STORED_PROCEDURE
[sys].[sp_redirect_publisher] SQL_STORED_PROCEDURE
[sys].[sp_repl_generateevent] EXTENDED_STORED_PROCEDURE
[sys].[sp_rollback_parallel_nested_tran] EXTENDED_STORED_PROCEDURE
[sys].[sp_sequence_get_range] SQL_STORED_PROCEDURE
[sys].[sp_server_diagnostics] EXTENDED_STORED_PROCEDURE
[sys].[sp_showmemo_xml] EXTENDED_STORED_PROCEDURE
[sys].[sp_validate_redirected_publisher] SQL_STORED_PROCEDURE
[sys].[sp_validate_replica_hosts_as_publishers] SQL_STORED_PROCEDURE
[sys].[trace_xe_action_map] USER_TABLE
[sys].[trace_xe_event_map] USER_TABLE

Kilka obserwacji:

  • pojawiło się ponad 100 nowych obiektów – sporo,
  • wśród nowych obiektów widać sporą grupę funkcji agregujących przeznaczonych do pracy z danymi przestrzennymi,
  • widać pokaźną grupę obiektów zwracających metadane i informacje o HADR,
  • z jakichś powodów nadal dodawane są procedury rozszerzone,
  • kilka obiektów wygląda całkiem ciekawie – np. sp_server_diagnostics.

Obiekty, które były w 2008 R2, ale nie ma ich w SQL Server 2012 RC0

Nazwa obiektu Typ obiektu
[sys].[database_principal_aliases] VIEW
[sys].[sp_ActiveDirectory_Obj] SQL_STORED_PROCEDURE
[sys].[sp_ActiveDirectory_SCP] SQL_STORED_PROCEDURE
[sys].[sp_ActiveDirectory_Start] SQL_STORED_PROCEDURE
[sys].[sp_batch_params] EXTENDED_STORED_PROCEDURE
[sys].[sp_dboption] SQL_STORED_PROCEDURE
[sys].[sp_dropalias] SQL_STORED_PROCEDURE
[sys].[sp_fetchLOBfromcookie] EXTENDED_STORED_PROCEDURE
[sys].[sp_MSgetversion] EXTENDED_STORED_PROCEDURE
[sys].[sp_processmail] SQL_STORED_PROCEDURE
[sys].[xp_adsirequest] EXTENDED_STORED_PROCEDURE
[sys].[xp_deletemail] EXTENDED_STORED_PROCEDURE
[sys].[xp_findnextmsg] EXTENDED_STORED_PROCEDURE
[sys].[xp_get_mapi_default_profile] EXTENDED_STORED_PROCEDURE
[sys].[xp_get_mapi_profiles] EXTENDED_STORED_PROCEDURE
[sys].[xp_MSADEnabled] EXTENDED_STORED_PROCEDURE
[sys].[xp_MSADSIObjReg] EXTENDED_STORED_PROCEDURE
[sys].[xp_MSADSIObjRegDB] EXTENDED_STORED_PROCEDURE
[sys].[xp_MSADSIReg] EXTENDED_STORED_PROCEDURE
[sys].[xp_readmail] EXTENDED_STORED_PROCEDURE
[sys].[xp_sendmail] EXTENDED_STORED_PROCEDURE
[sys].[xp_startmail] EXTENDED_STORED_PROCEDURE
[sys].[xp_stopmail] EXTENDED_STORED_PROCEDURE
[sys].[xp_test_mapi_profile] EXTENDED_STORED_PROCEDURE

Komentarze do listy obiektów usuniętych w porównaniu do wersji 2008 R2:

  • usuniętych zostało sporo procedur rozszerzonych,
  • na liście znalazła się m.in. procedura sp_dboption, którą można było spotkać choćby w skrypcie tworzącym bazę danych Northwind (wiem, wiem, to zabytek, ale niektórzy nadal jej używają do celów edukacyjnych),
  • sporo obiektów dotyczy usługi SQLMail, która została skutecznie zastąpiona usługą Database Mail w poprzednich wersjach SQL Servera.

Zadanie domowe dla chętnych – wyprodukować listy nowych kolumn i kolumn o zmienionych długościach w widokach systemowych w SQL Server 2012 RC0 w porównaniu do wersji 2008 R2. Nie powinno to być wielkie wyzwanie :-) Generalnie, zachęcam do podobnych zabaw, ponieważ w ten sposób odkrywamy nowe obiekty systemowe, poznajemy dogłębnie warstwę metadanych systemu, a to – według mnie – podstawowa wiedza o systemie, dzięki której DBA umie wydobywać stosowne informacje z najgłębszych zakamarków systemu.

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

[PL] Konferencje, prelekcje, wydarzenia

2011-11-24 Posted by Pawel Potasinski under Polskie blogi IT

Szykuje się sporo atrakcji dla osób zainteresowanych bazami danych, w szczególności tymi implementowanymi w systemie Microsoft SQL Server. Pomyślałem, że dobrze by było zebrać informacje o nadchodzących wydarzeniach i wyostrzyć czujność pasjonatów baz danych.

Już za tydzień, w czwartek 1 grudnia, o godzinie 18:00 w siedzibie firmy Microsoft w Warszawie przy Al. Jerozolimskich 195A rozpocznie się spotkanie warszawskiego oddziału Polskiej Grupy Użytkowników SQL Server (PLSSUG). Z czystym sumieniem polecam obu prelegentów, którzy wystąpią w ramach tego spotkania. Marek Adamczuk, ekspert w dziedzinie architektury rozwiązań i programowania w języku T-SQL, opowie o kursorach – często znienawidzonym i jeszcze częściej niedocenianym elemencie języka T-SQL. Z kolei Włodek Bielski, znakomity specjalista z zakresu hurtowni danych i Business Intelligence, zaprezentuje PowerView – nowe narzędzie do prezentacji danych dostępne w SQL Server 2012. Naprawdę polecam obie ciekawie zapowiadające się sesje i obu prelegentów, których mam przyjemność znać osobiście i z którymi mam lub miałem okazję blisko współpracować.

Jeśli ktoś jest zainteresowany budowaniem rozwiązań analitycznych w oparciu o SQL Server i przy okazji jest studentem WWSI (Warszawska Wyższa Szkoła Informatyki), może być zainteresowany konferencją organizowaną przez tę uczelnię. Konferencja ta – odbywająca się co roku pod szyldem "Od studenta do specjalisty Business Intelligence" – jest skierowana głównie do studentów, ale gdy spojrzeć na sylwetki prelegentów – Marcin Szeliga (SQL Server MVP), Grzegorz Stolecki (SQL Server MVP) czy wspomniany Włodek Bielski, wydaje mi się, że każdy entuzjasta hurtowni, BI i data miningu może znaleźć tam coś dla siebie. Ja również będę miał przyjemność wystąpienia na tej konferencji. Zaprezentuję temat "Władcy Danych – wykorzystanie Master Data Services do zapanowania nad wszechobecnym chaosem". Prezentacja będzie poświęcona nowemu narzędziu do zarządzania różnymi reprezentacjami danych w rozproszonych środowiskach – Master Data Services. Konferencja odbędzie się 8 grudnia w budynku uczelni. Więcej informacji na stronie pod linkiem powyżej. Niestety, z tego, co wiem, konferencja jest przeznaczona wyłącznie dla studentów WWSI. Spróbuję się zorientować, czy będą jakieś nagrania z prezentacji i ew. materiały udostępnione publicznie.

I wreszcie wisienka na torcie. SQLDay 2012 czyli doroczna konferencja organizowana przez PLSSUG we Wrocławiu. Znamy już daty – 25 i 26 maja przyszłego roku – a więc warto zarezerwować sobie te dwa dni (a najlepiej także 24 maja). Dwa dni, a więc coś nowego (do tej pory wszystkie edycje były jednodniowe). Co więcej, od obecnego prezesa PLSSUG, Tobiasza "Anoraka" Koprowskiego, wiem, że swój udział zapowiedziało kilku zagranicznych prelegentów, wybitnych specjalistów w zakresie systemu SQL Server (naprawdę głośne nazwiska, sądzę, że niebawem pojawią się na witrynie konferencji). Zapowiada się znakomity zlot pasjonatów, geeków i innych SQL-owych zboczeńców :-)

To tyle informacji, a zarazem mojego blogowania na dzisiaj. A teraz czas zaprzyjaźnić się z SQL Server 2012 RC0, którego wczoraj udało mi się po walce zainstalować! ;-)

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

[PL] Najlepsze praktyki dla programisty T-SQL – collation i "obce znaczki"

2011-11-06 Posted by Pawel Potasinski under Polskie blogi IT

Na tegorocznej konferencji Microsoft Technology Summit (MTS) przedstawiłem wraz z Markiem Adamczukiem prezentację pt. "Najlepsze praktyki dla programisty Transact-SQL". Po tej sesji sporo osób prosiło mnie o materiały, a głównie demonstracje. Dobra informacja jest taka, że materiały te można już pobrać ze strony konferencji. Najwięcej dyskusji po prezentacji dotyczyło fragmentu poświęconego collation i pracy z danymi tekstowymi pochodzącymi z różnych języków. Dlatego, po rozmowie z Markiem, postanowiłem napisać niniejszy artykuł, w którym omówię wybrane najlepsze praktyki posługując się kodem zaprezentowanym na MTS.

Nvarchar – N ma znaczenie

Typy danych nchar i nvarchar umożliwiają przechowywanie w bazie danych tekstów zawierających znaki charakterystyczne dla różnych języków. Przykładowo, mamy bazę w collation "rosyjskim", a w jednej z kolumn w tabeli w tej bazie chcemy przechować tekst w języku polskim. Wówczas typ danych nvarchar doskonale nadaje się do przechowywania danych (co ciekawe, kolumna tego typu ma nadal przypisane collation "rosyjskie"). Co jest jednak istotne w takim przypadku? Ważne jest, by przy używaniu literałów tekstowych dawać systemowi SQL Server znać, że podany tekst ma być traktowany jako Unicode. Do tego służy prefiks N umieszczany bezpośrednio przed literałem (wielkość litery ma znaczenie). Poniższy przykład dobrze obrazuje tę zasadę. Bez prefiksu N polskie znaki w napisie, który otrzymuje collation bazy danych, po prostu znikają (w niektórych przypadkach zamiast znaków charakterystycznych dla różnych alfabetów pojawiają się znaki zapytania lub inne "krzaczki"). Po dodaniu prefiksu N polskie znaki są wstawiane w kolumnę typu nvarchar bez problemu, mimo że collation bazy i kolumny jest "rosyjskie".

--Tworzymy "rosyjską" bazę
USE master;
GO
IF DB_ID('RussianDB') IS NOT NULL BEGIN
  ALTER DATABASE RussianDB SET SINGLE_USER
  WITH ROLLBACK IMMEDIATE;
  DROP DATABASE RussianDB;
END;
GO
CREATE DATABASE RussianDB COLLATE Cyrillic_General_CI_AS;
GO
 
USE RussianDB;
GO
 
--Tabela z kolumną nvarchar
CREATE TABLE dbo.Tab (c nvarchar(20) NULL);
GO
 
--Wstawiamy dane
INSERT INTO dbo.Tab (c) SELECT 'ąęśćłóżźń';
GO
 
--Test
SELECT * FROM dbo.Tab;
GO
 
--A teraz zróbmy to, jak trzeba
INSERT INTO dbo.Tab (c) SELECT N'ąęśćłóżźń';
GO
 
--Test
SELECT * FROM dbo.Tab;
GO

Długa czy krótka kolacja?

W SQL Server mamy bogactwo możliwych do wyboru collation. Zawsze, gdy tworzymy nową bazę danych, stajemy przed wyborem, jakie collation nadać tworzonej bazie? Pierwsza myśl – niech baza ma takie collation, jak bazy systemowe (czyli takie collation, jakie wybraliśmy przy instalacji SQL Servera). A jeśli ma mieć inne collation? Co wybierać – collation SQL-owe (prefiks SQL_ – zwane dalej "długim collation") czy raczej collation rodem z systemu Windows (np. Polish_CI_AS – zwane dalej "krótkim collation")? Istnieje kilka przesłanek przemawiających na korzyść collation "Windowsowych". Pierwsza przesłanka – niejawne rzutowania w przypadku, gdy do kolumny o "długim collation" spróbujemy wstawić dane typu nvarchar. Wówczas niejawna konwersja kolumny na nvarchar spowoduje niemożliwość wykorzystania ewentualnego indeksu (i odbędzie się skanowanie tabeli). W przypadku kolumny z "krótkim collation" problem znika – dane Unicode są rzutowane do typu varchar i indeks może zostać wykorzystany.

--Tabela z "długim" collation
CREATE TABLE #t1 (
  c1 varchar(128)
    COLLATE SQL_Polish_CP1250_CS_AS NOT NULL
  );
CREATE CLUSTERED INDEX IX_1 ON #t1 (c1);
GO
 
--Tabela z "krótkim" collation
CREATE TABLE #t2 (
   c2 varchar(128) COLLATE Polish_CI_AS NOT NULL
   );
CREATE CLUSTERED INDEX IX_2 ON #t2 (c2);
GO
 
--Dane
INSERT INTO #t1 (c1)
SELECT name FROM sys.all_objects;
GO
INSERT INTO #t2 (c2)
SELECT name FROM sys.all_objects;
GO
 
--Test
SELECT * FROM #t1 WHERE c1 = N'objects';
SELECT * FROM #t2 WHERE c2 = N'objects';
GO

image

Innym zachowaniem "długich collation", które może być powodem do zaniechania ich wykorzystywania, jest sortowanie tekstów, w których pojawiają się myślniki. W zasadzie komentarz jest zbędny – wystarczy rzut oka na wyniki zapytania z sortowaniem, by stwierdzić, że wynik dla "długiego collation" jest dość nieoczekiwany.

--Zmieńmy zawartość
TRUNCATE TABLE #t1;
TRUNCATE TABLE #t2;
INSERT INTO #t1 (c1)
VALUES ('a'), ('a-'), ('a-a');
INSERT INTO #t2 (c2)
VALUES ('a'), ('a-'), ('a-a');
GO
 
--Problem sortowania i myślników
SELECT * FROM #t1 ORDER BY c1;
SELECT * FROM #t2 ORDER BY c2;
GO

image

Collation a tabele tymczasowe

Jeśli już zdecydujemy się na wybór dla bazy danych collation innego niż collation serwera, musimy liczyć się z tym, że nasza nowo utworzona baza będzie miała inne collation niż baza tempdb. Co za tym idzie? Gdy będziemy używali tabel tymczasowych w kodzie proceduralnym w naszej bazie, możemy napotkać na konflikty collation w sytuacjach, gdy będą wykonywane operacje porównywania czy sortowania tekstu.

USE RussianDB;
GO
 
IF OBJECT_ID('dbo.T11', 'U') IS NOT NULL
  DROP TABLE dbo.T11;
GO
CREATE TABLE dbo.T11 (
  c11 varchar(128) NOT NULL
);
GO
INSERT INTO dbo.T11 (c11)
VALUES ('MTS');
GO
 
IF OBJECT_ID('tempdb.dbo.#T11', 'U') IS NOT NULL
  DROP TABLE #T11;
GO
CREATE TABLE #T11 (
  c11 varchar(128) NOT NULL
);
GO
 
-- Test - konflikt collation
SELECT * FROM dbo.T11
UNION
SELECT * FROM #T11;
GO
Msg 468, Level 16, State 9, Line 3
Cannot resolve the collation conflict between "Polish_CI_AS" and "Cyrillic_General_CI_AS" in the UNION operation.

Rozwiązanie połowiczne – użyć składni SELECT INTO do stworzenia tabeli tymczasowej jako kopii istniejącej tabeli. Wówczas collation kolumn tekstowych są identyczne z tymi z tabeli źródłowej.

IF OBJECT_ID('tempdb.dbo.#T11', 'U') IS NOT NULL
  DROP TABLE #T11;
GO
SELECT TOP 0 * INTO #T11 FROM dbo.T11;
GO
 
-- Test: ciut lepiej, bo działa
SELECT * FROM dbo.T11
UNION
SELECT * FROM #T11;
GO

Nie zawsze jednak mamy tabelę wzorcową, na której możemy oprzeć tabelę tymczasową. Dlatego najlepszym rozwiązaniem wydaje się być użycie klauzuli COLLATE DATABASE_DEFAULT. Wówczas kolumna tekstowa otrzymuje collation identyczne z tym, jakie zostało przypisane bazie danych, w kontekście której uruchamiamy kod.

IF OBJECT_ID('tempdb.dbo.#T11', 'U') IS NOT NULL
  DROP TABLE #T11;
GO
CREATE TABLE #T11 (
  c11 varchar(128)
  COLLATE DATABASE_DEFAULT
  NOT NULL
);
GO
 
-- Test: jest dobrze :)
SELECT * FROM dbo.T11
UNION
SELECT * FROM #T11;
GO

Podsumowanie

Powyższe przykłady ilustrują pewne wybrane przeze mnie i Marka problemy dotyczące danych tekstowych w SQL Server. Oczywiście, podobnych problemów jest więcej (np. jak zmienić collation istniejącej bazy?), ale wydawało nam się, że przedstawione dema pozwolą na ominięcie najczęściej występujących pułapek. No i druga sprawa – mieliśmy tylko 60 minut na prezentację :-) W tym miejscu pragnę podziękować wszystkim, którzy byli na naszej sesji na MTS i wypełnili ankietę dotyczącą naszej prezentacji. Jest mi też niezmiernie miło, że nasz przekaz spotkał się z bardzo pozytywnym odbiorem. Gdyby była potrzeba opisania w kolejnym artykule jakiegoś fragmentu kodu z naszych demonstracji, dajcie znać, a chętnie opublikuję kolejny fragment tekstu na blogu.

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

[PL] MTS 2011 oczami prelegenta i networkera

2011-10-19 Posted by Pawel Potasinski under Polskie blogi IT

image

Konferencja Microsoft Technology Summit 2011 przeszła już do historii. Po roku przerwy ponownie miałem okazję uczestniczyć w tym, niewątpliwie wyjątkowym, wydarzeniu. MTS to konferencja jedyna w swoim rodzaju. Jest to jedyna okazja, by spotkać w jednym czasie i miejscu większość znajomych z branży, których zainteresowania oscylują wokół technologii firmy Microsoft. Tak było i tym razem.

W tym roku zostałem zaproszony wraz z moim przyjacielem, Markiem Adamczukiem, do przygotowania jednej prezentacji poświęconej systemowi SQL Server. Po długim namyśle wybraliśmy temat "Najlepsze praktyki dla programisty Transact-SQL". Zdawaliśmy sobie sprawę, że trudno by było w 60 minut przedstawić kompletną listę zaleceń, trików i najlepszych praktyk. Dlatego postanowiliśmy przygotować zestaw demonstracji, a następnie wybrać z nich takie, które reprezentowałyby problemy i wyzwania najczęściej dające się we znaki programistom Transact-SQL w ich codziennej pracy.

Sesja miała przypisany poziom trudności 400. Oczywiście, dla zaprawionych w bojach programistów nasza prezentacja raczej nie była trudna, ani nie pokazywała niczego nowego. Wyszliśmy bowiem z założenia, że "maniaków" SQL-owych na sali będzie niewielki procent. Poza tym, patrząc z perspektywy uczestnika sesji, nawet pojedynczy "take away" może sprawić, że prezentację wspomina się jako przydatną i ciekawą.

Dziękuję bardzo tym uczestnikom konferencji, którzy postanowili przyjść na naszą sesję. Byłem naprawdę zbudowany faktem, że sala, w której mieliśmy przyjemność występować, była wypełniona po brzegi. Taki widok daje niezłego "kopa". Zresztą, mój współprelegent, Marek, też odczuł adrenalinę. To pozwoliło nam wejść we właściwy rytm i sądzę, że pod względem samego stylu i rytmu nie było najgorzej. Pod względem treści trudno mi oceniać naszą prezentację. Liczę, że dowiemy się całej prawdy i tylko prawdy z ankiet (były jakieś, prawda?).

Sama konferencja, z punktu widzenia prelegenta i uczestnika, bardzo mi się podobała. Mam wrażenie, że po latach goszczenia w PKiN wybór EXPO na miejsce konferencji był strzałem w dziesiątkę. Ponoć uczestników było ok. 2800. Naprawdę, nie było tego czuć. Można było spokojnie porozmawiać ze znajomymi, dotrzeć do sal. I wreszcie mieliśmy exhibition hall z prawdziwego zdarzenia. Nawet wystawiający się w nim partnerzy w większości dostosowali się poziomem do nowego miejsca. Sporo Kinect’ów do wygrania, trochę gadżetów, widoczne zainteresowanie uczestników. Brawo.

W tym roku moim głównym celem, oprócz przedstawienia sesji, był szeroko pojęty networking. Jeszcze nigdy w historii MTS, a to była moja piąta impreza pod tym szyldem, nie udało mi się porozmawiać z tyloma osobami, co w tym roku. Jestem zadowolony zwłaszcza z rozmów z koleżankami i kolegami z innych miast (a nawet z innych krajów), z którymi mam okazję rozmawiać w zasadzie wyłącznie przy okazji MTS. Dochodzę do wniosku, że chyba w tej chwili właśnie owo spotykanie się z ludźmi jest dla mnie ważniejsze niż treść prezentacji, w których biorę udział jako słuchacz. I, co istotne, wiedząc, jak trudno jest być dobrym prelegentem, umiem docenić trud włożony w przygotowanie prezentacji przez innych. Dlatego dość pozytywnie oceniam choćby sesję generalną, bo zdaję sobie sprawę, że wszyscy prezenterzy, którzy zabrali w niej głos, odczuwali spory stres wobec tak licznej publiki. Dodatkowo, gość specjalny (ponoć jego ściągnięcie na konferencje typu MTS to spore wyzwanie) obrał dość ciekawą formę prezentacji. Zarazem typowy keynote "dużego gracza", ale jednocześnie powiew świeżości, bo prezentacja miała swoją "ludzką twarz". To co, zmierzamy powoli do społeczeństwa "Type 1"? ;-)

I na koniec chciałbym skierować ciepłe słowa pod adresem osób, które przyczyniły się do tego, że stoisko firmy Action Centrum Edukacyjne, dla której mam przyjemność obecnie pracować, było jednym z najbarwniejszych i najbardziej obleganych (a na pewno najdłużej działających pierwszego dnia konferencji) stoisk partnerskich. Duży szacunek za profesjonalizm i wyczucie potrzeb uczestników.

Jeśli za rok będzie organizowana konferencja MTS 2012, na pewno będę chciał w niej uczestniczyć. Zatem, mam nadzieję, do zobaczenia! :-)

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

[PL] SQL Server MVP Deep Dives vol. 2 już jest!

2011-09-27 Posted by Pawel Potasinski under Polskie blogi IT

Miło mi poinformować, że wydawnictwo Manning rozpoczęło przyjmowanie zamówień na książkę SQL Server MVP Deep Dives vo. 2, której jestem współautorem. Oficjalna premiera książki będzie miała miejsce w Redmond w czasie konferencji PASS Summit 2011. Dla osób, które nie zetknęły się z pierwszą częścią książki – SQL Server MVP Deep Dives to książka pisana przez specjalistów zajmujących się systemem SQL Server. Większość autorów to ludzie nagrodzeni przez firmę Microsoft tytułem Microsoft Most Valuable Professional. Cały dochód ze sprzedaży idzie na cel charytatywny, w przypadku drugiej odsłony książki – na organizację Operation Smile zajmującą się operowaniem rozszczepów podniebienia u dzieci. To dla mnie wielki zaszczyt być częścią tego przedsięwzięcia i szczytnej idei, jaką jest wspieranie organizacji niosących pomoc dzieciom na całym świecie. Cena książki to 47,99 dolarów US za wersję elektroniczną lub 59,99 dolarów US za wersję drukowaną. Książkę polecam każdemu, kto interesuje się zagadnieniami związanymi z SQL Serverem lub po prostu ma ochotę i środki by wesprzeć szczytny cel tego wydawnictwa.

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail

[PL] Będę na MTS 2011

2011-08-16 Posted by Pawel Potasinski under Polskie blogi IT

image

Miło mi zakomunikować, że w tym roku pojawię się w roli prelegenta na konferencji Microsoft Technology Summit 2011 (MTS 2011). Wraz z moim przyjacielem, Markiem Adamczukiem, zostaliśmy zaproszeni przez firmę Microsoft do udziału w konferencji i przygotowanie wspólnej prezentacji. Co ciekawe, w dobie nadchodzącej następnej wersji SQL Servera – Denali – poproszono nas o sesję na poziomie 300-400 (średnio-zaawansowany/zaawansowany) niekoniecznie związaną z Denali. Wybraliśmy temat Najlepsze praktyki dla programisty Transact-SQL. Sam tytuł może jeszcze ulec zmianie, ale na pewno nasza sesja będzie dotyczyła najlepszych praktyk, technik użytkowych programowania w T-SQL, elementów kodu sprawdzonych "na polu walki". Zapraszam wszystkich uczestniczących w MTS 2011 maniaków SQL-owych uwielbiających operacje na zbiorach (nie mylić z seksem zbiorowym) na naszą prezentację (jej hasło marketingowe brzmi: "sprawdź, czy Twój kod spełnia normy wysokiej jakości" ;-)). Zachęcam też do nawiązania kontaktów w czasie konferencji – okazji na pewno nie będzie brakować :-) Do zobaczenia na MTS!

  • Subscribe to the comments for this post?
  • Tweet This!
  • Share this on Facebook
  • Share this on LinkedIn
  • Share this on del.icio.us
  • Add this to Wykop!
  • Share this on Technorati
  • Add this to Google Reader
  • Email this via Gmail
  • Add this to Google Bookmarks
  • Email this via Hotmail
Archiwa
  • Maj 2012 (68)
  • Kwiecień 2012 (159)
  • Marzec 2012 (196)
  • Luty 2012 (153)
  • Styczeń 2012 (128)
  • Grudzień 2011 (101)
  • Listopad 2011 (80)
  • Październik 2011 (94)
  • Wrzesień 2011 (49)
  • Sierpień 2011 (30)
  • Lipiec 2011 (21)
  • Czerwiec 2011 (14)
  • Maj 2011 (21)
  • Kwiecień 2011 (32)
  • Marzec 2011 (14)
  • Luty 2011 (13)
  • Styczeń 2011 (29)
  • Grudzień 2010 (11)
  • Listopad 2010 (22)
  • Październik 2010 (19)
  • Wrzesień 2010 (19)
  • Sierpień 2010 (15)
  • Lipiec 2010 (9)
  • Czerwiec 2010 (5)
  • Maj 2010 (5)
  • Kwiecień 2010 (13)
  • Marzec 2010 (13)
  • Luty 2010 (20)
  • Styczeń 2010 (13)
  • Grudzień 2009 (16)
  • Listopad 2009 (19)
  • Październik 2009 (30)
  • Wrzesień 2009 (14)
  • Sierpień 2009 (11)
  • Lipiec 2009 (25)
  • Czerwiec 2009 (2)
  • Maj 2009 (12)
  • Kwiecień 2009 (9)
  • Marzec 2009 (5)
  • Luty 2009 (5)
  • Styczeń 2009 (6)
  • Grudzień 2008 (6)
  • Listopad 2008 (4)
  • Październik 2008 (6)
  • Wrzesień 2008 (3)
  • Kwiecień 2008 (1)
  • Grudzień 2007 (1)
Kategorie
2003 2010 access Access 2003 Access 2010 Aktualności Bez kategorii BI CTP exchange online Exchange Server Exchange Server 2010 featured funkcje Grzegorz Tworek How To Hyper-V 3 Hyper-V Server 8 interoperacyjność IT Pro blogerzy Jak to zrobić Komputery i Internet Microsoft Outlook najlepsze praktyki Narzędzia open source Oprogramowanie PLSSUG Polskie blogi IT Porady PowerPivot Relacje Reporting Services SharePoint Foundation 2010 SharePoint Server 2010 Skrypty System Center 2012 Techniczne Tips and tricks video Virtual Machine Manager wersje beta WGUiSW Windows 8 Beta Windows 8 Customer Preview
Tagi
.net Active Directory Artykuły Blog blogosfera Cloud Computers and Internet CRM 2011 Excel Exchange Exchange 2010 Hyper-V Inne IT konferencja Konferencje Linux Lync Microsoft Microsoft Dynamics CRM News office 365 Ogólne PowerShell Private Cloud programowanie Publikacje Security SharePoint Społeczności IT SQL SQL Server SQL Server 2012 System Center Uncategorized Windows Windows 7 Windows 8 Windows Phone 7 Windows Server Windows Server 8 Windows Server 2008 Wirtualizacja Wydarzenia [EN]
Autorzy
Kamil Skalski, Konrad Sagala, Szymon Bochniak, Tadeusz , Tomasz Filipowicz, RSS , Łukasz Kałużny, kgorczewski , Łukasz , Wojciech Gardziński, Paweł Goleń, Dariusz Porowski, Piotrek Gardy, koprowskit , nExoR , Joanna Subik, Mateusz Świetlicki, Marcin , piotrpawlik , TechNet Polska, gsgalezowski , T4ngram , Metorio , Maciek Blog, Bloggers Underground, blog Michała Cywińskiego..., Me & Technology – Paula’s Security Blog, swilczew , pawp81 , programistaaccess , Bartek Bielawski, soisk , Zygmunt B., MS Dynamics Blog, Jarek Szybiński, rtynski , Filip , Świat Office, voytas , jaroslawsokolnicki , rem8 , Łukasz Matuszewski, Seb , kaarol , Peter , Kamil Karczmarczyk, Dariusz Brejnak, JeZZoo , bns , Pawel Potasinski, Kuba Skałbania, t.onyszko , robertmandziarz , Krzysiek , MKr , szulcu , Robert Stuczynski - Noise, kicekpicek , Dobert , Łukasz Zięba, drixter , Maciej Krasuski, Tomasz_Sochacki , Przemek Kuczyński, losiak , paramo , OSKAr , SzymonN , Marcin Milewski, marcinbojko , l10n , Łukasz Z., Grzesiek Bartosik, jnx
Polskie blogi specjalistów IT / Microsoft powered by WordPress and The Clear Line Theme