Archiwum za miesiąc 2012-03

Przedłużenie okresu próbnego w Windows Server 2008 (TRIAL REARM)

2012-03-09

Jeśli skorzystałeś z próbnej wersji Windows Server 2008, masz 60 dni zabawy z tym systemem operacyjnym. Jeżeli zabawa Ci się podoba, a nie pamiętasz kiedy zainstalowałeś serwer użyj następującego polecenia do sprawdzenia ilości pozostałych dni: slmgr -dli Oto wynik:

Czy mam problem z wydajnością dysku?

2012-03-06

Funkcja systemowa  fn_virtualfilestats pokaże wiele ciekawych informacji o tym jak bardzo jest używany plik bazy danych: SELECT * FROM fn_virtualfilestats(DB_ID(’AdventureWorks2008R2′), NULL)  Przydatne są oczywiście kolumny: Bytes on disk Number Reads / Bytes Read Number Writes / Bytes Written Kolumna IO Stall Read MS mówi o tym ile w sumie czasu trzeba było czekać na wykonanie […]

Rozmiar plików bazy danych (w tym rozmiar loga transakcyjnego)

2012-03-06

  Szukałem polecenia pokazującego rozmiar loga transakcyjnego. Oto ono: SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, Physical_Name, (size*8)/1024 SizeMB FROM sys.master_files WHERE DB_NAME(database_id) = 'AdventureWorks2008R2′ Zapytanie pochodzi z http://blog.sqlauthority.com/2010/02/08/sql-server-find-the-size-of-database-file-find-the-size-of-log-file/

By Rafał Kraik in SQL

Najstarsza aktywna transakcja

2012-03-06

Podczas wykonywania loga transakcyjnego liczysz na to, że zwolni się miejsce w logu na kolejne transakcje. TO prawda, ale… zwalniane jest miejsce tylko z tych częśi loga transakcyjnego, które nie są w danej chwili aktywne, to znaczy nie zawierają ani jednej aktywnej transakcji. Tymczasem może się zdarzyć, że gdzieś w logu „wisi” zapomniana przez użytkownika […]

By Rafał Kraik in SQL

Rzut okiem w log transakcyjny

2012-03-06

Log transakcyjny składa się z Virtual Log Files. Podobnie jak właściwa baza danych składa się ze stron i extentów, tak log transakcyjny składa się z VLF. Zaraz po utworzeniu bazy danych (i loga) można sprawdzić ile i jakich VLF zostało utworzonych: CREATE DATABASE x ALTER DATABASE x SET RECOVERY FULL DBCC LOGINFO (x) W tym przypadku plik […]

By Rafał Kraik in SQL

Przykład SQL Injection. Jak się zabezpieczyć przed SQL Injection?

2012-03-03

Na atak SQL Injection narażone są programy, w których programista zdecydował się „sklejać” zapytania z fragmentów instrukcji SQL wpisanych przez programistę z fragmentami tekstu wpisywanymi przez użytkowników. Takie zapytanie, powstałe wskutek złączenia kodu programisty są następnie uruchamiane jako tzw. dynamiczny SQL. O ile w przypadku gdy użytkownik podaje „normalne” dane, zapytanie będzie działać zgodnie z […]

By Rafał Kraik in SQL