No i przyszło mi się zderzyć z CLR na SQL. Jeśli chodzi o tworzenie bibliotek – no problem. Kompilujesz ładujesz, działa. Sęk w tym, że na jednym serwerze ciągle pojawiał się błąd z załadowaniem bibliotek CLR. Bład wskazywał na brak pamięci. Tymczasem na systemie z 16 GB RAM miałem 7GB RAM wolnego. Jak diagnozować ten przypadek? […]
Archiwum dla kategorii ‘SQL’
SQL: CLR: z jakiej pamięci korzystamy?
SQL: a właściwie to na jakim windowsie jesteśmy?
Przypomina mi się chwila szaleństwa, dawno temu, kiedy chciałem sprawdzić czy można zainstalować SQL server na… Linuxie. Jedyne co znalazłem wtedy na stronach Microsoft, to artykuły o tym jak migrować się z Linux na Windows… Tym razem problem polegał na tym, że miałem dostęp do SQL, ale nie miałem do serwera. Chciałem się dowiedzieć, jaka […]
Sprawdzenie wielkości clustra dyskowego
SQL przechowuje dane na stronach Każda strona ma 8KB SQL czyta dane z dysku w extentach (1 extent = 8 * strona, czyli 64KB) Dlatego dobrze by było gdyby wielkość clustra na dysku wynosiła również 64 KB. Poniższa komenda pozwala sprawdzić rozmiar clustra dyskowego: fsutil fsinfo ntfsinfo [drive letter]
SQL: Przykładowe dane do testowania wydajności aplikacji
Microsoft dostarcza do testowania MS SQL Server przykładowe dane w postaci szkoleniowej bazy danych AdventureWorks. Wielu na nią narzeka, że zbyt skomplikowana. Dawniej można było uczyć się i ćwiczyć na bazie NorthWind lub Pubs. Były to bazy o o wiele prostszej strukturze. Przykładowe bazy można pobrać z: Northwind & Pubs – https://www.microsoft.com/en-us/download/details.aspx?id=23654 Adventureworks – http://msftdbprodsamples.codeplex.com/ (Baza z […]
SQL: Podział miesiąca na tygodnie
Problem: Microsoft wypuszcza aktualizacje w drugi wtorek miesiąca. Aktualizacje są instalowane na serwerach w pierwszym, drugim, trzecim i kolejnych tygodniach po publikacji. Jak przeliczyć datę instalacji na numer tygodnia? Oto propozycja, która przynajmniej częściowo rozwiązuje ten problem: DECLARE @SecondTuesday AS DATETIME = '2015-06-10′ DECLARE @InstallDate AS DATETIME = '2015-06-19′ SELECT CASE WHEN @InstallDate BETWEEN @SecondTuesday AND […]
PIVOT i CTE – zestawienie dysków z komputera (macierz informacyjna)
Problem: Zapytanie zwraca informacje o komputerach i dyskach w kolejnych wierszach. Chcemy, aby nazwy dysków powędrowały do kolumn. Rozwiązanie: Załóżmy, że struktura tabeli wygląda następująco: CREATE TABLE #disks (machineid int, letter CHAR(2), size int, label char(16), comment char(20)) INSERT #disks VALUES(1,’c:’,100,’system’,’backup’), (1,’d:’,200,’data’,’backup’) Żeby litery dysków pojawiły się w kolumnach użyj tabeli przestawnej: SELECT machineid, [c:],[d:] […]
SQL DBA diagnostic queries
Bardzo przydatny zestaw zapytań diagnostycznych dla SQL publikowany co miesiąc przez Glena Berry’ego: http://www.sqlskills.com/blogs/glenn/sql-server-diagnostic-information-queries-for-april-2015/