Sep 8 09

0×0601770069006100720074006B0061002100

by Marcin Goł

0×06017700690065007200070120007700690065006B00750020006D006900

0×702E732E

0×4368796261206E6965206C69637A796C699C636965206E6120706F64706F

Sep 7 09

Konkurs książkowy – runda 5

by Marcin Goł

No i stało się … zadaję chyba zbyt trudne pytania gdyż jedyną osobą, która znała odpowiedź na pytanie z rundy 4 był Paweł Potasiński. Oczywiście Paweł miał rację – wykonanie dbcc checkdb(master) wykonuje sprawdzenie zarówno bazy resource jak i bazy master i co więcej o tym informuje:

DBCC results for ‘master’.
(…)
CHECKDB found 0 allocation errors and 0 consistency errors in database ‘master’.
DBCC results for ‘mssqlsystemresource‘.
(…)
CHECKDB found 0 allocation errors and 0 consistency errors in database ‘mssqlsystemresource‘.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

kolejne pytanie i znowu dla administratorów – i niestety jest to prawdopodobnie ostatnie pytanie w konkursie (mam tylko kilka książek):

Runda #5:

Bardzo często powtarzaną na forach informacją jest to że SQL Server Express ma limit 4 GB rozmiaru bazy danych. Proszę o dokładne wyjaśnienie co ten limit oznacza oraz o informację czy na pewno zawsze działa…

czas na odpowiedzi: piątek, 11 września 2009 20:00

POWODZENIA i zapraszam do wspólnej zabawy!

Sep 1 09

Konkurs książkowy – runda 4

by Marcin Goł

Nareszcie! Ciesze się bardzo że znalazła się osoba, która znała odpowiedź na pytanie nr 3 – gratulacje dla OpenRowset’a!!!! Ponieważ odpowiedź na pytanie zajęła “nieco” więcej czasu niż przewidziałem (poprzedni termin był do poniedziałku) – postanowiłem że nie będziemy czekać do czwartku z 4 rundą pytań tylko zadam już teraz:

Pytanie #4

Znowu coś dla DBA: Polecenie dbcc checkdb jest wykonywane w kontekście połączenia lub na bazie, która została jawnie wskazana np.: dbcc checkdb (AdventureWorks2008) – tak czy siak polecenie zawsze testuje jedną bazę (z kontekstu lub wskazaną).

Czy powyższa teza jest prawdziwa? Jesli ktoś uważa inaczej to proszę o przykłady wywołań dbcc checkdb kiedy sprawdza więcej niż 1 bazę.

Czas na odpowiedzi: piątek 2009-09-04 20:00

Powowdzenia!

Aug 27 09

Konkurs książkowy – runda 3

by Marcin Goł

Najbardziej dokładną odpowiedź na pytanie zadane w drugiej rundzie udzielił ml – wielkie gratulacje! Faktycznlie chodziło o problemy z procesorami, których liczba rdzeni jest różna od potęgi 2 – mam nadzieje że zwrócenie uwagi na ten problem pomoże wam uniknąć w przyszłości problemów – np. z takimi procesorami jak planowany na początek 2010 – nowy procesor AMD mający 12 rdzeni…

Pytanie #3

Ponownie pytanie dla developerów: w najnowszej wersji SQL Server wprowadzono nowe typy danych min. hierarchyid – służący do modelowania struktury drzewiastej. Jedną z prywatnych metod tego typu danych jest DecendantLimit(), zwraca ona maksymalną wartość spośród węzłów potomnych. Podobny efekt do wywołania: węzeł.DescendantLimit() możemy osiągnąć wywołaniem – węzeł.GetAncester(1).GetDescendant(węzeł,null).

Jednakże istnieje przynajmniej 1 przypadek kiedy wywołanie węzeł.GetAncester(1).GetDescendant(węzeł,null) nie spełni swojej roli jak węzeł.DescendantLimit(), jaka to sytuacja ?

Czas odpowiedzi na pytania: czwartek 03.09.2009 20:00.

Czekam na odpowiedzi i życzę powodzenia! A dotychczas nagrodzonych proszę o kontakt na mój adres email.

Aug 24 09

Konkurs książkowy – runda 2

by Marcin Goł

Cieszę się że konkurs wzbudził tak duże zainteresowanie – mam nadzieje że kolejne pytania będą również dla Was ciekawe!!!

Podsumowanie pytania#1:

Mówiąc szczerze mam “małą” zagwozdkę – gdyż dobrej odpowiedzi jako pierwszy udzielił Łukasz Grala – jednakże najbardziej wyczerpująca była odpowiedź jakiej udzielił p.kulczynski tutaj. Ale reguły są regułami i na tę chwilę książką wędruje do Łukasza, a p.kulczynskiemu spróbuję znaleźć coś extra!

GRATULACJE !!!!!!

Pytanie #2 (tym razem coś dla administratorów):

Chce zainstalować SQL Server 2005 na serwerze:

CPU: Intel Xeon E7450
RAM: 8GB
dyski: RAID 1 (system 76GB), RAID 5(bazy 100GB), RAID 1(log 20GB)
system operacyjny: Windows Server 2003 (już zainstalowany i spatchowany)

co powinienem zrobić żeby poprawnie zainstalować SQL Server na tej maszynie ? Dostępną mam płytę z SQL Server 2005 RTM oraz plik exe z Service Packiem 3 (instalujemy DB Engine + Workstation components)

Poprawna instalacja – zakończona sukcesem (bez błędów), po której się podnoszą usługi SQL Server; finalnie dostępny build SQL Server 2005 SP3.

Ponieważ teraz pytanie jest prostsze skracamy czas odpowiedzi do czwartku 27 sierpnia 2009 20:00. W ramach wyjaśnienia dodam jeszcze że to pytanie nie pyta Was o konfigurację zgodną z best practicies – ono pyta __jak zainstalować SQL Server__.

Powodzenia!!!

Aug 21 09

MTS 2009 – harmonogram

by Marcin Goł

Jak pewnie wiecie wczoraj ruszyła rejestracja na sesje MTS 2009, ja dziś dokonałem wyboru i można mnie będzie spotkać na sesjach:

Wtorek, 29 września 2009
0930-1045 Sesja generalna – otwierająca
1110-1225 How Windows storage is changing: everything going VHD! (Mark Minasi)
1340-1445 Nadciąga Azure – prawdziwa burza czy tylko lekkie zachmurzenie? (Daniel Celeda)
1520-1635 Droga do Genevy (Tomasz Onyszko)
1700-1815 Uncovering Windows two least understood security stars: UAC and WIL (Mark Minasi)
1900-2400 Bloggers Underground #2.5

Środa, 30 września 2009
0900-1015 Manageability enhancements in SQL server 2008 (Kimberly L. Tripp)
1040-1155 Achieving High-Availability with SQL Server 2008 (Paul S. Randal)
1310-1425 Reliability and scalability enhanvements in SQL Server 2008 (Paul S. Randal)
1450-1605 SQL Server 2005/2008 Database Maintenance – Practical tips and tricks for all SQL Server Databases (Kimberly L. Tripp)
1605-1620 Sesja generalna – zamykająca

Dodatkowo z tego co wiem to będę dostępny również na stanowisku ATE – ale kiedy i w jakich godzinach jest jeszcze ustalane.

Aug 20 09

Bloggers Underground #2.5

by Marcin Goł

Nie wiem czy pamiętacie bardzo fajną imprezę Bloggers Underground zorganizowaną w Warszawie przed MTS 2008 ? Było ciekawie – można było spotkać nietuzinkowych ludzi, których normalnie znamy pod postacią nicków lub wiemy tylko że siedzą gdzieś tam “w kuchni” dużych portali.

Również i w tym roku odbędzie się Bloggers Underground – tym razem w wersji #2.5 (prawie jak R2 ;-)).

Zapraszam wszystkich pasjonatów życia online ;-) (ja już potwierdziłem swój udział).

Aug 19 09

Konkurs książkowy

by Marcin Goł

Nie wiem czy wiecie ale właśnie jestem w trakcie przeprowadzki z Warszawy do Torunia – w związku z tym robię małą inwentaryzację książek jakie mam na półkach. Kilka z nich postanowiłem oddać osobom którym się bardziej przydadzą. Książki dotyczą SQL Server 2005 – jest to seria Step-by-Step oraz kilka innych pozycji (chyba Programming SQL Server, Applied Techniques i coś tam jeszcze – nie pamiętam dokładnie).

Zasady konkursu są jasne – 1 pytanie tygodniowo – jedna książka tygodniowo. Kto pierwszy udzieli satysfakcjonującej odpowiedzi ten wybiera sobie książkę z tych co są do wybrania. Odpowiedzi udzielamy tutaj w komentarzach. Myślę że o ewentualnych odpowiedziach możemy dyskutować na forum WSS.pl. Jeśli nie określono inaczej odpowiedzi będa weryfikowane na SQL Server 2008 SP1.

Pytanie pierwsze:

Jaka jest różnica pomiędzy predykatami IN/EXISTS (NOT IN/NOT EXISTS) – odpowiedź powinna zawierać informację o tym czy występują jakieś (jakie?) różnice w logice, wydajności działania?

Czas  na odpowiedzi: poniedziałek, 24 sierpnia 2009 – 20:00.

EDIT:
Komentarze są moderowane – tzn. że muszę je zaakceptować żeby były widoczne. Plan jest taki że będę akceptował jak leci wszystkie odpowiedzi – być może wywiąże się dyskusja np. jeśli jakaś odpowiedź będzie niepełna to tu na blogu padnie wyjaśnienie osoby, która ma inne zdanie. Po zakończeniu każdego pytania – czyli w poniedziałek wieczorem wybiorę odpowiedź, która była najszybsza i najlepsza.

Powodzenia!!!

Aug 10 09

SQL Server 2008 R2 CTP – już za chwilę !!!

by Marcin Goł

Jakiś czas temu, jeszcze na moim poprzednim blogu pisałem o wersji R2 SQL Server… . A dziś raptem godzinę temu dostałem mail zaczynającego się słowami:

“The SQL Server Team is excited to announce the release of the August Community Technology Preview (CTP) of SQL Server 2008 R2.”

w dalszej części maila można przeczytać:

“Available on August 10th to TechNet/MSDN Subscribers and on August 12th to the general public…”

dla przypomnienia dodam jeszcze że MS przygotował już trochę materiałów dostępnych min. tu.

Aug 4 09

Wielkanoc, święta, dni wolne…

by Marcin Goł

Co jakiś czas na forum wss.pl powraca temat jak zrobić kalendarz żeby było dobrze, żeby obliczał święta ruchome, żeby nie trzeba ich było wklepywać z palca itd itd. Podejścia do tematu możemy zrobić min. takie 2 rozwiązania:

  1. robimy prostą tabelę przechowującą dni świąteczne (w roku jest ich kilkanaście więc nawet można je wpisać ręcznie)
  2. robimy tabelę przechowującą wszystkie dni z interesującego nas zakresu i oznaczamy w niej dni “specjalne” będące np. dniem wolnym, weekendem itd

Jak się łatwo domyśleć drugie podejście jest o wiele bardziej uniwersalne pozwala łatwo wyliczyć liczbę dni pracujących pomiędzy datami itd.

Robiąc wczoraj porządki na laptopie znalazłem mój kod napisany bardzo dawno temu, który robi właśnie tabelę z kalendarzem i oznacza w niej święta oraz kilka innych ciekawych faktów.

co otrzymacie po wykonaniu skrypty:

1) tabelę dbo.mgDatyKalendarz z kolumnami:

  1. data datetime,
  2. rok,
  3. rok_przestepny,
  4. kwartal_roku,
  5. miesiac_roku,
  6. tydzien_roku,
  7. dzien_roku,
  8. dzien_miesiaca,
  9. dzien_miesiaca_ostatni,
  10. dzien_tygodnia,
  11. dzien_wolny,
  12. uwagi

2) funkcję wyliczającą datę Wielkanocy dla danego roku (dbo.mgDatyPobierzWielkanoc)

3) funkcję sprawdzającą czy dany rok jest rokiem przestępnym (dbo.mgDatyCzyRokPrzestepny)

4) procedurę wypełniającą tabelę kalendarza (dbo.mgDatyWypelnij)

Uwaga końcowa: powinniście dostosować rozwiązanie (kolumny w tabeli z datami oraz indeksy) na własne potrzeby – w szczególności indeksy, których nie ma.

Jeśli ktoś uważa że załączony kod może mu się przydać – nie ma problemu, jednakże jest dostarczany “as is” i nie odpowiadam jeśli wywoła jakieś szkody (aczkolwiek u mnie działa ;-)).

Link: kalendarz.sql