Microsoft SQL Server

Instalacja

Biblioteki:

Microsoft SQL Server

Pobieramy wersję Express: https://www.microsoft.com/pl-pl/sql-server/sql-server-downloads

Podczas instalacji będziemy pytani o różne opcje.

Wybieramy Custom.

Wybieramy New SQL Server…

Oznaczamy Azure…

Wpisujemy nazwę instancji. Instancji możemy mieć wiele – w późniejszym czasie możemy je dodawać.

Zaznaczamy uwierzytelnianie mieszane oraz wpisujemy hasło dla użytkownika administracyjnego sa.

Microsoft SQL Server Management Studio

Zalecam instalację tego narzędzia na każdym serwerze: https://aka.ms/ssmsfullsetup

Konfiguracja

Serwera

Włączamy protokół TCP/IP dla połączeń z sieci. Uruchamiamy Sql Server Configuration Manager i klikamy dwukrotnie na protokół TCP/IP:

Ustawiamy jak na poniższym zdjęciu:

Przechodzimy do IP Addresses:

Przy adresach IP ustawiamy Active: Yes, Enabled: Yes. Na samym końcu ustawiamy adres TCP Port: 1433. Zatwierdzamy i restartujemy SQL Server:

Klikamy dwukrotnie na SQL Server Browser:

Upewniamy się, że Start Mode jest ustawione na: Automatic

Jeśli SQL Server Browser nie jest uruchomiony to uruchamiamy go:

Zapora systemu Windows

Odblokowujemy porty w firewallu Windowsa dodając dwie reguły (Powershell z uprawnieniami administratora):

New-NetFirewallRule -DisplayName "MSSQL" -Direction inbound -Profile Any -Action Allow -LocalPort 1433 -Protocol TCP -EdgeTraversalPolicy Allow
New-NetFirewallRule -DisplayName "MSSQL Browser" -Direction inbound -Profile Any -Action Allow -LocalPort 1434 -Protocol UDP -EdgeTraversalPolicy Allow

Skrypty

Wykonanie skryptu z poziomu cmd:

osql -E -Q "SQL Query"

Kopia zapasowa

BACKUP DATABASE dbname TO DISK='C:\backup\dbname.bak';

Katalog docelowy powinien mieć uprawnienia umożliwiające zapis dla usługi SQL Server. Aby nadać należy wpisać użytkownika: NT Service\MSSQL$SQLEXPRESS

oraz sprawdzić nazwę:

Sprawdzenie czy ktoś jest zalogowany

Służą do tego zapytania:

EXEC sp_who;

lub:

EXEC sp_who2;

lub bardziej nadający się do przefiltrowania:

SELECT  spid,
        sp.[status],
        loginame [Login],
        hostname, 
        blocked BlkBy,
        sd.name DBName, 
        cmd Command,
        cpu CPUTime,
        physical_io DiskIO,
        last_batch LastBatch,
        [program_name] ProgramName   
FROM master.dbo.sysprocesses sp 
JOIN master.dbo.sysdatabases sd ON sp.dbid = sd.dbid
WHERE sp.hostname <> ''
ORDER BY spid

Optymalizacja bazy danych

Wykorzystanie pamięci

Całkowita oraz wolna pamięć serwera:

SELECT
(total_physical_memory_kb/1024) AS Total_OS_Memory_MB,
(available_physical_memory_kb/1024)  AS Available_OS_Memory_MB
FROM sys.dm_os_sys_memory;

Wykorzystanie pamięci przez SQL Server:

SELECT  
(physical_memory_in_use_kb/1024) AS Memory_used_by_Sqlserver_MB,  
(locked_page_allocations_kb/1024) AS Locked_pages_used_by_Sqlserver_MB,  
(total_virtual_address_space_kb/1024) AS Total_VAS_in_MB,
process_physical_memory_low,  
process_virtual_memory_low  
FROM sys.dm_os_process_memory;
SELECT
sqlserver_start_time,
(committed_kb/1024) AS Total_Server_Memory_MB,
(committed_target_kb/1024)  AS Target_Server_Memory_MB
FROM sys.dm_os_sys_info;

Znane problemy

Problem z zalogowaniem się użytkownika SQL

Należy sprawdzić czy jest włączone uwierzytelnianie mieszane (za pomocą Microsoft SQL Server Managment Studio) klikając PPM na serwer i wybierając Właściwości:

Zmiana i zatwierdzenie wymaga restartu usługi SQL Server.

Długie łączenie się do serwera

Należy sprawdzić czy porty 1433 TCP i 1434 UDP są odblokowane w firewallu oraz spróbować połączyć się za pomocą nazwy serwera. Jeśli po nazwie nie znajduje serwera to należy go sobie wpisać na stałe do pliku %SystemRoot%\system32\drivers\etc\hosts na komputerze klienta i dopisać do niego np:

1.2.3.4 nazwaSerweraMssql


Opublikowano:

Ostatni modyfikacja:

Tagi: