poniedziałek, 21 lipca 2014

Aktualizacja składników MSSQL 2012 Server cz.4

Kolejną ważną sprawą dotyczącą dbania o instancję jest konieczność instalowania aktualizacji dotyczących wszystkich lub tylko niektórych komponentów składających się instancję bazy danych.
Aktualizować MSSQL'a możemy na dwa sposoby poprzez automatyczne aktualizacje Windows Update lub też poprzez przygotowanie do tego celu WSUS'a. Trochę trudniejszą sprawą jest wdrażanie aktualizacji ręcznie.
Ważną sprawą jest konieczność zaktualizowania wszystkich połączonych ze sobą komponentów.
Jeżeli posiadamy min. 2 instancje na jednym serwerze a na nich zainstalowane współużytkowane funkcje takie jak np.:Managment Tools lub Integration Services muszą być aktualizowane do najnowszej wersji dla obydwu instancji.
Podczas instalacji instancji możemy wskazać z jakiego miejsca mają być pobierane aktualizację.
Podczas instalacji pakietu Service Pack możemy w graficznym okienku wskazać dla  których instancji mają być instalowane.


niedziela, 20 lipca 2014

Automatyczne uruchamianie makra

Na potrzeby firmy musiałem napisać makro, które po uruchomieniu zostałoby automatycznie wykonane.
Wiedziałem w jaki sposób stworzyć makro, które wykona się przy pomocy skrótu klawiszowego lub też po przypisaniu makra do buttona.
Jednak znalazłem sposób, przy pomocy którego makro wykona się samo.

1) Uruchamiamy Dewelopera z menu:


2) W sekcji ThisWorkbook wklejamy kod naszego makra:


Łamanie hasła administratora Windows 7

Ostatnimi czasy musiałem dostać się do komputera do którego nie znałem hasła administratora. Jakiś czas temu pisałem już o zdejmowaniu hasła administratora przy pomocy zmodyfikowanej w tym celu dystrybucji GNU/Linux, również w tym przypadku użyłem do tego Linuxa, a dokładniej mówiąc PuppyLinux. Obraz około 165MB wrzuciłem na pendrive'a (ważne aby był to dobry sprzęt ponieważ przy zbyt wolnej prędkości odczytu/zapisu pojawiają się irytujące przycięcia systemu.)

Uruchamiamy system z pendriv'a, następnie montujemy:


Dalej musimy zmodyfikować sethc.exe, tak aby można było dostać się do konsoli cmd, i wpisać restart hasła:

niedziela, 13 lipca 2014

Konfiguracja instancji MSSQL 2012 Server cz.3

W poprzednich wpisach skonfigurowaliśmy wstępnie środowisko oraz zainstalowaliśmy MS SQL na 3 maszynach wirtualnych.
Teraz czas przyjrzeć się dokładniej parametrom, które możemy zmienić w samej instancji serwera.
Klikając prawym klawiszem myszy na nazwę instancji, następnie wybierając  Properties:





Widzimy listę dostępnych opcji:

1) General - wyświetla informację na temat instancji, takie jak używany język, system operacyjny,pamieć, liczba procesorów itd. Nie możemy na tej zakładce niczego modyfikować.








2) Memory (Pamięć) -  na tej zakładce możemy skonfigurować min. oraz max. liczbę pamięci dostępnej dla instancji oraz pamięci przeznaczoną na indeksowanie bazy. Jeżeli baza działa w systemie 32-bitowym najniższa wartość jaką możemy wpisać w pole maksymalna wielkość pamięci to 64MB, natomiast dla systemu 64-bitowego wynosi ona 128MB, natomiast maksymalna to 2 PB (2 147 483 647 MB).








3) Processors (Procesory) - w tej zakładce możemy skonfigurować tzw. koligację procesora, czyli przypisanie procesora do określonego wątku.
Możemy przypisać przy pomocy T-SQL konkretne procesory (2 oraz 3) do wątków roboczych wydamy polecenie:

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=2,3

Jeżeli chcemy wykorzystać wszystkie procesory dla wątków roboczych wykonamy poniższe polecenie:

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=AUTO







4) Security (Zabezpieczenia) - zawiera opcje uwierzytelnienia serwera, inspekcje logować, ustawienia serwera proxy itd.







5) Connections (Połączenia) - możemy ustawić maksymalną liczbę połączeń do bazy.

6) Database Settings (Ustawienia bazy danych) -  pozwala skonfigurować domyślnego współczynnika wypełnienia indeksu, czasu przechowywania nośników kopii zapasowych, interwału odzyskiwania oraz domyślnych lokalizacji baz danych.






7) Advanced (Zaawansowane) - konfiguruje FILESTREAM (pozwala wrzucić do bazy pliki), uruchomienia wyzwalaczy, czas wygaśnięcia zdalnego logowania oraz opcji pracy równoległej.






8) Permissions (Uprawnienia) - konfiguracja uprawnienia na poziomie instancji.








9) Domyślne bazy po zainstalowaniu instancji:

# Master - jest to najważniejsza baza, w której zapisywana jest konfiguracja SQL Servera – informacje o obiektach systemowych, loginach, lokalizacji poszczególnych plików czy podpiętych bazach użytkownika.Administrator zawsze powinien dbać o wykonywanie okresowej kopii bezpieczeństwa tej bazy.
# Model - jest to baza, która jest wzorcem dla pozostałych baz. W praktyce utworzenie nowej bazy w jest operacją skopiowania bazy model oraz większości jej ustawień. Jeżeli chcemy zmienić domyślne ustawienia dla pozostałych baz tworzonych na danym serwerze to często wystarczy wprowadzić modyfikację do bazy model. Należy jednak pamiętać, że może to za sobą pociągać rozmaite problemy – przykładowo załóżmy, że przypadkiem jeden z userów SQLa został podpięty do bazy model. Jeżeli nasza aplikacja podczas kreacji bazy będzie domyślnie tworzyła takiego samego operatora to najprawdopodobniej zostanie zwrócony błąd na skutek automatycznego przepięcia usera podczas pierwszego kroku czyli ‚create database’, a później próby założenia dokładnie takiego samego operatora ponownie.
# MSDB -  jest to baza tymczasowa, która jest na nowo tworzona po każdym restarcie usługi SQLa. Utworzenie struktury tej bazy odbywa się oczywiście na podstawie bazy model. Co zawiera ta baza? Przede wszystkim wszelkie obiekty tymczasowe takie jak bazy tymczasowe, kursory czy różne obiekty tworzone wewnętrznie przez proces SQLa podczas przetwarzania kolejnych instrukcji.
# Tempdb - jest to baza pomocnicza wykorzystywana przede wszystkim przez usługę SQL Server Agenta w celu przechowywania harmonogramów operacji. Baza jest również używana do przechowywania jobów, do wykonywania backupów oraz replikacji. Teoretycznie istnieje możliwość usunięcia tej bazy czego skutkiem będzie ograniczenie lub wyłączenie pewnych funkcjonalności ale nie powinno to spowodować całkowitego zatrzymania usługi SQLa.
#Resource Database – jest to ukryta baza systemowa, która pozostaje niewidoczna z poziomu Management Studio i w związku z tym mało osób zdaje sobie sprawę z jej istnienia. Głównym zadaniem tej bazy jest przechowywanie wszelkich obiektów systemowych w postaci chociażby procedur. Bazy nie można backupować w tradycyjny sposób, a jedynie poprzez odnalezienie na dysku właściwego pliku (mssqlsystemresource.mdf) oraz jego skopiowanie w bezpieczne miejsce. Baza powstała przede wszystkim z myślą o kolejnych aktualizacjach. Dzięki ukryciu bazy mamy pewność, że procedury nie zostaną zmodyfikowane przez użytkownika. W efekcie podczas aktualizacji SQL Servera wgranie odpowiednich poprawek polega po prostu na zastąpieniu wspomnianej bazy nowszą wersją.


Baza model pozwala skonfigurować ogólny szablon dla wszystkich późniejszych baz, możemy skonfigurować:

# Recovery Model - definiuje sposób odzyskiwania bazy danych (FULL. SIMPLE, BULK_LOGGED)

use [master]
GO
ALTER DATABASE [model] SET RECOVERY FULL WITH NO_WAIT
GO

#AUTO CLOSE -  pozwala na automatyczne zamykanie bazy podczas gdy nikt nie jest do niej podłączony, jednak nie jest to wskazane, ponieważ wybudzenie bazy zużywa zbyt dużo zasobów procesora.

use [master]
GO
ALTER DATABASE [model] SET AUTO_CLOSE ON  WITH NO_WAIT
GO
# Auto Shrink - pozwala na automatyczne zwolnienie niewykorzystanego miejsca w bazie. 

use [master]
GO
ALTER DATABASE [model] SET AUTO_SHRINK ON  WITH NO_WAIT
GO









10) Konfiguracja powiadamiania z bazy na maila:

Możemy skonfigurować powiadomienia na maila, dzięki czemu baza będzie wysyłać informację do nas w przypadku problemów z bazą:

10.1) Uruchamiamy SQL Server Managment Studio.

10.2) Prawym klawiszem klikamy na Database Mail  w węźle Managment, klikamy następnie na Configure Database Mail,

10.3) Na stronie Select Configure Task wybieramy Set up database mail by performing the following tasks, następnie Next.







10.4) Pojawi się okienko z informacją, że Database mail jest wyłączona, klikamy na YES.

10.5) Na stronie New Profile  wpisz nazwę i opis profilu, po czym klikamy Add.

10.6) W polu New Database Mail Account, wprowadzamy szczegółowe informacje konta pocztowego o klikamy na OK. Po powrocie do strony New Profile klikamy Next.



10.7) Na stronie Manage Profile Security, akceptujemy domyślne ustawienia i przechodzimy dalej.

10.8) Na stronie Configure System Parameters, konfigurujemy opcję czasowe odpowiedzialne na sprawdzenie połączenia z serwerem: liczbę ponownych prób łączenia, czas opóźnienia następnej próby połączenia  itd.

10.9) Na koniec klikamy na Finish.


W ten sposób mamy skonfigurowane automatyczne powiadamianie o połączeniach bazy.

sobota, 12 lipca 2014

Instalacja MSSQL 2012 Server cz.2

Przejdziemy teraz do instalacji instancji MS SQL 2012. Musimy dodać wymagany do instalacji  Net. Framework 3.5.

1) Logujemy się na pierwszą naszą maszynę (IP=x.x.x.20):

Musimy dodać Net Framework 3.5 do systemu, aby możliwe było zainstalowanie instancji 2012:




Podobnie instalujemy Net 3.5 na komputerze z IP=x.x.x.30.