Mniej znane polecenia na SQL Serwerze (CHECKPOINT, KILL, SHUTDOWN)

2011-10-29

Zacznijmy od niegroźnego polecenia

CHECKPOINT

Powoduje ono uruchomienie procesu CHECKPOINT polegającego na przepisaniu „brudnych stron” z bufora SQL Serwera na dysk. Domyślnie czynność ta wykonuje się sama, bez naszej ingerencji, a wpływ ma na nią opcja serwera 'Recovery Interval’. Jeżeli chcesz aby baza danych po awarii odtwarzała się szybciej to zmniejsz recovery interval. Chceckpointy będą występować częściej. Można śledzić kiedy dochodzi do systemowego CHECKPOINTA poprzez pefrmon.

Polecenie CHECKPOINT uruchamiane z ręki wywołuje zapis tylko dla bieżącej bazy danych. Czytaj dalej »

By Rafał Kraik in SQL

C# Jak pracować z ComboBox

2011-10-28

Budując interfejs dla użytkownika chcemy często dać użytkownikowi intuicyjny interfejs, z którego będzie mógł wybierać zrozumiałe dla siebie pozycje. Z drugiej strony programista nie chce pracować z długimi napisami, wolałby raczej pracować z kodami, nierzadko nawet jednoliterowymi kodami.

Idealnie do takiego celu nadaje się ComboBox. Ma on ciekawe właściwości: Czytaj dalej »

Jak uruchomić procedurę zaraz po uruchomieniu usługi SQL Server?

2011-10-28

Można co najmniej na dwa sposoby:

  1. Poprzez sp_procoption
    lub
  2. Poprzez SQL Server Agenta

Ale po kolei: Czytaj dalej »

By Rafał Kraik in SQL

PHP 4 i PHP 5 na jednym serwerze Apache (PHP 5 jako CGI, z mysql)

2011-10-16

Nie samym Microsoftem programista żyje. Na Linuxie trzeba było zainstalować PHP 5, tak by się zgrał z Apache i MySql. Cały problem polegał jednak na tym, że na serwerze Apache był skonfigurowany z PHP 4 uruchamianym jako moduł. Na dodatek PHP 4 nie mogło być zamienione na PHP 5, bo były pewne strony, które wymagały starszej wersji PHP. No więc po kolei: Czytaj dalej »

By Rafał Kraik in Błedy, Linuxy, SQL

Jak wybrać co drugi rekord (SELECT co drugi rekord)

2011-10-15

Jeżeli trzeba wyświetlić co drugi rekord to trzeba sobie odpowiedzieć na pytanie co to znaczy co drugi rekord! Załóżmy, że zamierzam wyświetlić co drugiego pracownika z tabeli Person.Person ze względu na numer pracownika (BusinessEntietyID).

Załóżmy więc, że układam wszystkich pracowników wg ich ID.  Wybór co drugiego jest teraz już prosty z algorytmicznego punktu widzenia. Numerujemy sobie pracowników (np funkcją Row_Number, opisaną już na mobilo).  Potem wybieramy parzystych lub nieparzystych wykorzystując funkcję modulo. Czytaj dalej »

By Rafał Kraik in Błedy, SQL

Błąd podczas kompilacji php „xml2-config not found”

2011-10-14

Podczas instalacji PHP v5  wystąpił błąd po uruchomieniu polecenia ./configure:

configure: error: xml2-config not found. Please check your libxml2 installation.

Co ciekawe biblioteka xml-2 była już zainstalowana. Czytaj dalej »

By Rafał Kraik in Błedy, Linuxy

Jak sprawić aby nawet administrator lub właściciel bazy danych nie mógł jej usunąć?

2011-10-10

Bezpośrednio będzie to trudne do ustawienia, ale jeżeli zaprząc do pracy trigger DDL, to będzie łatwiej. Rozważ następujący trigger uruchamiany podczas usuwania jakiejkolwiek bazu danych:

CREATE TRIGGER tr_drop_db ON ALL SERVER
FOR DROP_DATABASE
AS
BEGIN
PRINT 'Dropping database is not allowed. Contact me ……..’
ROLLBACK
END Czytaj dalej »
By Rafał Kraik in Błedy, SQL