Archiwum dla kategorii ‘SQL’

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

SQL 2012 – Instalacja Books Online lokalnie czyli offline

2012-02-09

Od wersji 2012 SQL serwera, wraz z serwerem domyślnie NIE instaluje się dokumentacja w postaci Books Online. Gdyby miało to być niewygodne, można samodzielnie zainstalować Books Online lokalnie. Oto jak: Uruchom SQL Server Management Studio Kliknij Help Kliknij Manage Help Settings Wybierz Install content from online Wybierz, które podręczniki chcesz zainstalować klikając Add Na zakończenie […]

By Rafał Kraik in SQL

Przenoszenie tabeli (stosu lub indeksu clustrowanego) między grupami plików

2012-02-08

Tworząc w bazie danych tabelę nie zawsze wiesz, w której dokładnie grupie plików powinna się ona rzeczywiście znaleźć. Tergo rodzaju rzeczy możesz chcieć zmienić podczas życia tabeli. Przypomnijmy. Jeżeli tabela ma indeks clustered to ta tabela jest indeksem clustrowanym. Jeżeli zaś tabela nie posiada indeksu clusterd, to jest stosem. Tak więc pytanie „Jak przenieść tabelę […]

By Rafał Kraik in SQL

Jak sprawdzić zajętość plików bazy danych za pomocą komendy T-SQL?

2012-02-08

Załóżmy, że masz bazę danych: CREATE DATABASE [Example] ON PRIMARY ( NAME = N’PrimaryFile’, FILENAME = N’C:\MSSQL\DATA\PrimaryFile.mdf’ , SIZE = 3072KB , FILEGROWTH = 1024KB ), FILEGROUP [SECONDARY] ( NAME = N’SecondaryFile’, FILENAME = N’C:\MSSQL\DATA\SecondaryFile.ndf’ , SIZE = 3072KB , FILEGROWTH = 1024KB ) LOG ON ( NAME = N’Example_log’, FILENAME = N’C:\MSSQL\DATA\Example_log.ldf’ , SIZE […]

By Rafał Kraik in SQL