Jun 23 09

Optymalizacja serwera baz danych

by Marcin Goł

Wielokrotnie odpowiadając na wss.pl na pytania o optymalizacje podrzucałem komuś linki do poniższego wykresu:

imp_perf

Ta prawda objawiona pochodzi z rozdziału 14 dokumentu: Improving .NET Application Performance and Scalability. Myślę że powyższego nie ma co analizować – tak po prostu jest – w świecie baz danych najważniejsza jest aplikacja i dobry projekt baz danych – reszta to juz pojedyncze procenty. Bardzo fajnie się z tym wiąże ankieta jaką Paul Randal zrobił na swoim blogu. Pytanie jakie postawił Paul brzmi: what’s the most important thing when performance tuning?, a wyniki ankiety do zobaczenia tutaj.

Jun 23 09

rss – wyjaśnienie

by Marcin Goł

Ponieważ pojawiło się trochę pytań związanych z rssami, krótki komunikat:

- rss całego bloga ma adres:

http://itsouldiers.com/blog/feed/

- rss dla kategorii ma adres:

http://itsouldiers.com/blog/category/NazwaKategorii/feed/

- rss da taga ma adres:

http://itsouldiers.com/blog/category/NazwaTaga/feed/

jeśli w nazwie kategorii/taga są spacje to zamiast nich wpisujcie minus np.: rss dla kategorii bazy danych:

http://itsouldiers.com/blog/category/bazy-danych/feed/

Jun 23 09

Nowa baza? nowe wrażenia?

by Marcin Goł

Masz nowego Klienta? A może odziedziczyłeś bazę w spadku? Twoja firma się rozrasta (lub ktoś się rozrasta)? Jest wiele sytuacji, kiedy stajemy się szczęśliwcami administrującymi bazami danych “po kimś”. Co w takiej sytuacji zrobić? Jak powinna wyglądać checklista pierwszych tygodni pracy?

Inspiracją do poniższego tekstu był podobny artykuł pod tytułem: 9 Things to Do When You Inherit a Database. To co przeczytanie poniżej skrzywia developerskie podejście autorki wskazanego artykułu na korzyść DBA :)

read more…

Jun 21 09

-T 845, czyli lock pages w praktyce

by Marcin Goł

Jak uruchomić SQL Server 2008 SP1 CU2 x64 Standard Edition z opcją Locked Pages in memory ???

Potrzebujemy:

  1. DBA – sztuk: 1
  2. Instancja SQL Server 2008 SP1 CU2 x64 Standard Edition – sztuk: 1
  3. 5 minut wolnego czasu

read more…

Apr 27 09

Błąd 3041 podczas wykonywania backupu

by Marcin Goł

Błąd 3041 – otrzymywałem przy okazji backupu baz danych wykonywanego przez Maintenance Plan. Pierwsza myśl – znowu problem uprawnień … klikam kombinuje i nic … no to patrze w log aplikacyjny może coś więcej będzie … e-e nie było. No to google a tam min. linki takie jak ten czy ten- generalnie nic pomocnego. W totalnej desperacji posądziłem już UAC’a z Windows 2008 x64 że to jego sprawka – ale jak się łatwo domyśleć to był ślepy zaułek.

read more…

Feb 25 09

Bulk insert i problem ze znakiem < LF >…

by Marcin Goł

Problem:
jak przy pomocy BULK INSERT zaimportować pliki, kiedy znak nowej linii mają rozdzielany przy pomocy <LF> (zamiast windowsowego <CR><LF>) ?

Podpowiedź:
nie należy szukać wśród kombinacji \n i \r

Rozwiązanie:

DECLARE @sql varchar(1000)
SET @sql = 'BULK INSERT table_name FROM ''file_path'' WITH (FIELDTERMINATOR = ''\t'', ROWTERMINATOR = '''+CHAR(10)+''')'
EXEC (@sql)

Więcej o problemie <CR><LF> można znaleźć tutaj: http://en.wikipedia.org/wiki/CRLF.

Oct 7 08

Czy SQL Server wie ile może wykorzystać CPU ?

by Marcin Goł

Na jednym z ostatnich spotkań PLSSUG Ziemek Borowski miał świetną sesję o licencjonowaniu. W pewnym momencie sesji stwierdził że licencencje SQL Serverowe można ustawiać za pomocą wpisów w rejestrze … zapalony tym stwierdzeniem oraz wczorajszym pogonieniem mnie przez Pawła Potasińskiego poszukałem i znalazłem :))

read more…

Jun 1 08

Like ‘[A-Z]QLServer’ vs. like ‘_QLServer’

by Marcin Goł

ostatnio na forum wss.pl pojawił się wątek o przeszukiwaniu ciągów znakowych, punktem wyjścia dla niniejszego researchu był post Pawła Potasińskiego (aka brejk):

————————————————————————————-

Akodo_Shado:
select name from slowa
where name LIKE ‘kote[a-z]%’.
Efekt był piorunujący! 140 wyników w mig.

brejk:
I nic dziwnego. Przecież w tych 3,5 mln słów ile mogło się zaczynać od “kote” :-) Naturalne, że przy tak dobrej selektywności serwer może użyć indeksu na polu name (jakiegokolwiek indeksu, warto dodać).

Akodo_Shado:
Konsekwencja tego problemu jest też taka, że
o ile ‘kote[a-z]%’ robi się błyskawicznie o tyle
‘[a-z]%otek’ już nie koniecznie.

brejk:
Co w tym dziwnego? W drugim przypadku serwer musi przecież przeszukać praktycznie całą tabelę (od a do z).

————————————————————————————-

read more…