Archiwum za miesiąc 2011-05

Funkcja rankująca ROW_NUMBER – stronicowanie danych

2011-05-30

Przyjrzymy się funkcji rankującej ROW_NUMBER. Ta funkcja „nadaje” rekordom numery kolejne, które są nadawane wg określonej kolejności. Zobaczmy następujące zapytanie: SELECT ProductID ,ProductNumber ,Color ,ListPrice FROM SalesLT.Product ORDER BY Color, ListPrice, ProductID W wyniku otrzymujemy uporządkowaną listę produktów. Dzięki temu, że sortując określiłeś klucz sortowania z dokładnością do ProductID, każdy rekord ma tu swoje jednoznacznie […]

By Rafał Kraik in SQL

Problemy z optmalizacją procedur składowanych w SQL (Opcja WITH RECOMPILE)

2011-05-27

Każde zapytanie realizowane przez SQL serwer podlega procesowi optymalizacji. Serwer ‘wymyśla sobie’ kilka sposobów z pomocą, których może dostać się do właściwych rekordów i zwrócić je klientom. Optymalizowane są zapytania, praktycznie za każdym razem, kiedy są uruchamiane, no chyba, że uda się je sparametryzować. Podobnie optymalizowane są procedury. Z tym, że tu można natknąć się […]

By Rafał Kraik in SQL

Jak wykonać kopię na SQL Express, bo nie ma SQL Server Agenta?

2011-05-25

Mail od klienta: Pojawił się inny problem. Wersja mojego sql servera 2008 to wersja Express i nie mogę uruchomić sql server agenta :). Jak zrobić cykliczny backup na wersji Express. Chciałbym uzyskać taki efekt aby full backup wykonywał się w każdy wtorek.

By Rafał Kraik in SQL

SQL – problem z uprawnieniami

2011-05-25

Mail od klienta: Dostałem bazę danych i muszę przygotować raporty. Tylko problem mam już na wstępie gdyż nie mogę się do tej bazy dostać. Jestem dodany jako administrator lokalny serwera. Komunikat o błedzie: The server principal ‚…’ is not able to access the database ‚…’ under the current security context (Microsoft SQL Server, Error:916)

Typy daty i czasu w SQL Server 2008

2011-05-19

Serwer SQL w wersji 2008 oferuje tyle typów związanych z czasem! Date, Time, stary, poczciwy DateTime, DateTime2, DateTimeOffset i wreszcie SmallDateTime. Uff dużo tego. Zacznijmy od zobaczenia tych typów w akcji:

By Rafał Kraik in SQL

Dlaczego nie używać typu float i real?

2011-05-13

SQL oferuje użytkownikom typy danych real i float. Oferują one bardzo dużą dokładność oraz możliwość zapisania w bazie danych bardzo dużych liczb. Zgodnie z informacją z Books Online: Data type Range Storage float – 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308 Depends on the value of n real – 3.40E + 38 to -1.18E […]

By Rafał Kraik in SQL

Porównanie typów INT

2011-05-09

Konstruując tabele, wprowadzając do nich jakieś wartości liczbowe często bezmyślnie wybieram typ INT. Dlaczego? Bo mało z tym typem problemów. Z jednej strony SQL serwer dobrze sobie z tym typem radzi, buduje wydajne indeksy, nie zajmuje zbyt wiele miejsca w pamięci, a z drugiej strony jeszcze mi się nie zdarzyło, żeby liczba wpisywana w dane […]

By Rafał Kraik in SQL