2011-06-11
Update:
Chcesz zobaczyć, jak zainstalować przykładową bazę danych AdventureWorks? Zajrzyj do darmowego filmu – części Kursu „SQL #1 Instalacja i narzędzia„. Odszukaj na stronie film: „Przykładowa lekcja: Instalacja przykładowej bazy danych AdventureWorks”
Jak pisałem w tym artykule, spod adresu http://go.microsoft.com/fwlink/?LinkId=87843 można ściągnąć przykładową bazę danych AdventureWorks. Wybierz oczywiście bazę danych zgodną z Twoim serwerem.Jeżeli jest to bazadanych 2008, pamiętaj o włączeniu opcji FILESTREAM (bo inaczej instalacja sie nie uda). Poniżej obrazki krok po kroku, jak zaistalować przykładowe bazy danych z Codeplex: Czytaj dalej »
2011-06-09
Chcesz zobaczyć, jak zainstalować SQL Server 2016, aby samodzielnie zacząć naukę SQL? Zajrzyj do darmowego filmu – części Kursu „SQL #1 Instalacja i narzędzia„. Odszukaj na stronie film: „Przykładowa lekcja: Prosta instalacja SQL Server”. A jeśli chcesz, aby na Twoim serwerze pojawiła się też przykładowa baza danych obejrzyj też „Instalacja przykładowej bazy danych AdventureWorks”
Od czasu do czasu ktoś mnie pyta, jak mam sobie w domu zainstalować SQL serwer, żeby sobie poćwiczyć i się pobawić. A… kiedy pytają mnie ” jak zainstalować SQL Server” to odpowiadam:…
1. Najpierw ściągnij sobie wersje instalacyjną:
- Demo – jeżeli chcesz się pobawić pełną wersja przez określony czas
- Express – jeżeli zadowoli cię wersja ograniczona, ale bez limitu czasu
- Inną, np Enterprise jeżeli masz do niej dostęp poprzez Technet Plus lub MSDN Czytaj dalej »
2011-06-07
Czasami trzeba ograniczyć dostęp do strony internetowej. Rozwiązaniem o niezbyt wyszukanym poziomie zabezpieczeń, ale w wielu wypadkach wystarczającym jest utworzenie pliku .htaccess. Wejście na tak zabezpieczoną stronę kończy się wyświetleniem okienka pytającego o nazwę użytkownika i hasło. Podasz dobre to się dostaniesz na stronę.

Czytaj dalej »
2011-06-06
Identity to dobry sposób na to by SQL Serwer zwolnił nas z konieczności wymyślania klucza podstawowego. Serwer sam będzie generował kolejne numery dla nowo wstawianych rekordów, więc każdy rekord będzie miał niezależny i unikalny numer, gdyby tylko nie to, że kolumna Identity nie musi być unikalna…. Czytaj dalej »
2011-06-04
Co się dzieje na olimpiadzie, kiedy 2 zawodników uzyska dokładnie taki sam wynik? Powiedzmy w skoku wzwyż obaj przeskoczyli poprzeczkę na wysokości 2,20 i był to najwyższy wynik na zawodach. Gdyby, chociaż jeden z nich był kobietą, a jeden mężczyzną, to dalibyśmy im po medalu w osobnych kategoriach. Ale jeżeli nie można zróżnicować ich wyników?
Jedna z propozycji jest taka, aby dać im po „złotym medalu”, ale kolejny zawodnik nie dostanie miejsca drugiego, tylko trzecie. Pozycja numer 2 i srebrny medal zostaną nieprzydzielone.
SQL Serwer ma dwie funkcje pozwalające budować taki ranking: RANK() i DENSE_RANK(). Czytaj dalej »
2011-06-01
Ach ile tutaj plików tymczasowych. Trzeba by to posprzątać, pomyślał pewnego razu admin Linuxa. Oczywiście nowych plików nie usuwamy, tylko te stare. Rach ciach i uff… ile teraz wolnego miejsca i jak czysto w tym tmp! W końcu serwer działa już ponad roczek bez przerwy.
Aż tu nagle przychodzi mail „Czy to co jest na stronie … to twoja robota?”. A co tam jest? Zaglądam i widzę „Błąd połączenia z bazą danych”.
O rety. To chyba moja sprawka. Szybko na serwer, spróbuję zatrzymać mysql i uruchomić go ponownie. Pewnie to pomoże. Idę do /etc/init.d, a tam:
./mysqld stop
Shutting down mysqld:/usr/local/mysql/bin/mysqladmin: connect to server at 'localhost’ failed
error: 'Can’t connect to local MySQL server through socket '/tmp/mysql.sock’ (2)’
Check that mysqld is running and that the socket: '/tmp/mysql.sock’ exists! Czytaj dalej »
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 określone miejsce.
Ale co jeżeli chcielibyśmy, żeby każdy z tych rekordów otrzymał swój numer? Z pomocą przyjdzie funkcja ROW_NUMBER: Czytaj dalej »