Nieudana instalacja SQL Server potrafi zabrać więcej czasu niż samo przygotowanie aplikacji. W tym poradniku pokazuję, jak dobrać edycję, sprawdzić wymagania, przejść przez instalację na Windows, skonfigurować dostęp z aplikacji .NET i uniknąć problemów z uwierzytelnianiem, usługami oraz zaporą sieciową.
Najważniejsze decyzje przed uruchomieniem instalatora
- SQL Server 2025 jest obecnie najnowszą główną wersją dla instalacji lokalnych.
- Do nauki i developmentu najczęściej wystarczy Developer albo bezpłatny Express.
- Instalacja wymaga systemu x64, minimum 6 GB wolnego miejsca na dysku systemowym i odpowiedniej wersji Windows.
- Dla aplikacji lokalnej wybierz Windows Authentication, a tryb mieszany włącz tylko wtedy, gdy rzeczywiście potrzebujesz loginów SQL.
- Po instalacji trzeba sprawdzić usługę silnika, połączenie w SSMS oraz protokół TCP/IP, jeśli baza ma być dostępna z innego komputera.
Wybierz edycję SQL Server do konkretnego zastosowania
Najwięcej nieporozumień pojawia się jeszcze przed kliknięciem przycisku instalacji. SQL Server ma kilka edycji, a różnią się nie tylko funkcjami, lecz także licencją i limitami sprzętowymi. W 2026 roku dla większości programistów najrozsądniejszym wyborem będzie SQL Server 2025 Developer do pracy lokalnej albo Express do małych aplikacji.
| Edycja | Kiedy ma sens | Najważniejsze ograniczenia |
|---|---|---|
| Developer | Development, testy, nauka, projekty .NET | Nie jest przeznaczona do produkcji |
| Express | Nauka, aplikacje desktopowe i małe systemy | Limit bazy do 50 GB, ograniczenia pamięci i CPU |
| Standard | Produkcja w małych i średnich firmach | Wymaga licencji, maksymalnie 256 GB pamięci dla bufora silnika |
| Enterprise | Duże środowiska i wymagania wysokiej dostępności | Najwyższy koszt licencji i większa złożoność administracyjna |
| Evaluation | Krótki test funkcji edycji Enterprise | Okres ewaluacyjny wynosi 180 dni |
Edycja Developer zawiera funkcje porównywalne z wariantem Enterprise, ale jej licencja pozwala używać jej wyłącznie do developmentu i testów. To świetna opcja dla programisty, lecz nie wolno traktować jej jako bezpłatnego serwera produkcyjnego.
Express jest prostszy i bezpłatny, ale jego limity mogą szybko stać się odczuwalne. Dla SQL Server 2025 maksymalny rozmiar pojedynczej bazy Express wynosi 50 GB, a silnik może wykorzystać maksymalnie 1 procesor lub 4 rdzenie oraz około 1,4 GB pamięci bufora. Do nauki SQL i małego API to zwykle wystarcza, ale przy większym systemie trzeba zaplanować migrację do innej edycji.
SQL Server Express LocalDB ma jeszcze lżejszą formę. Uruchamia się w kontekście użytkownika i dobrze pasuje do lokalnych eksperymentów, testów integracyjnych oraz prostych aplikacji desktopowych. Nie traktowałbym go jednak jako zamiennika normalnego serwera, jeśli aplikacja ma działać stale albo korzystać z wielu komputerów.
Sprawdź wymagania zanim uruchomisz setup.exe
SQL Server 2025 działa na systemach Windows 10 lub nowszym oraz na Windows Server 2019 i nowszych. Instalacja wymaga procesora x64, więc stary system 32-bitowy odpada już na starcie. W praktyce bardziej niż minimalne parametry liczy się ilość pamięci i szybkość dysku, bo to one wpływają na komfort pracy z bazą.
| Element | Minimum | Rozsądna wartość do developmentu |
|---|---|---|
| Procesor | x64, 1,4 GHz | 2 GHz lub więcej |
| Pamięć RAM | 512 MB dla Express, 1 GB dla pozostałych edycji | Minimum 4 GB dla silnika, więcej przy Visual Studio i Dockerze |
| Wolne miejsce | 6 GB na dysku systemowym | Kilkanaście GB z zapasem na bazy, logi i aktualizacje |
| Framework | .NET Framework 4.7.2 | Aktualny obsługiwany framework systemowy |
| System | Windows 10 lub nowszy, Windows Server 2019 lub nowszy | Windows 11 albo wspierana wersja Windows Server |
Wymóg 6 GB wolnego miejsca dotyczy dysku systemowego, nawet jeśli pliki danych zapiszesz na innym woluminie. Instalator korzysta z katalogów tymczasowych Windows, dlatego brak miejsca na dysku C często powoduje błąd wyglądający na niezwiązany z przestrzenią dyskową.
Przed instalacją zainstaluj wszystkie oczekujące aktualizacje systemu i wykonaj restart. Szczególnie przy instalacji na Windows Server warto sprawdzić, czy nie ma oczekującego ponownego uruchomienia. Instalator SQL Server potrafi zatrzymać się już na kontroli wstępnej, jeśli system uważa, że aktualizacja nie została jeszcze dokończona.
Przygotuj lokalizacje plików
Na komputerze developerskim domyślne ścieżki są akceptowalne. Na serwerze produkcyjnym oddzieliłbym przynajmniej pliki danych, logi transakcyjne i kopie zapasowe. Log transakcyjny to plik, w którym SQL Server zapisuje operacje potrzebne między innymi do odtwarzania i zapewnienia spójności bazy.
Nie umieszczaj wszystkiego na jednym powolnym dysku, jeśli baza ma obsługiwać realny ruch. Taki układ działa podczas testu, ale przy większej liczbie zapisów szybko staje się wąskim gardłem.
Instalacja SQL Server krok po kroku
Po uruchomieniu instalatora jako administrator otwiera się SQL Server Installation Center. W przypadku lokalnej instalacji wybierz opcję utworzenia nowej autonomicznej instancji albo dodania funkcji do istniejącej instalacji. Angielskie określenie sql server installation odnosi się właśnie do tego procesu, obejmującego wybór edycji, funkcji, instancji i usług.
- Uruchom setup.exe z nośnika instalacyjnego lub rozpakowanego obrazu.
- Przejdź do sekcji instalacji i wybierz nową instalację samodzielną.
- Zaakceptuj warunki licencyjne i przejdź przez kontrolę reguł instalatora.
- Wybierz edycję, na przykład Developer do developmentu albo Express do małego projektu.
- Zaznacz funkcje, których naprawdę potrzebujesz.
- Ustaw nazwę instancji oraz konta usług.
- Wybierz tryb uwierzytelniania i skonfiguruj administratorów silnika.
- Sprawdź podsumowanie i rozpocznij instalację.
Wybierz tylko potrzebne funkcje
Dla typowej aplikacji ASP.NET Core wystarczy Database Engine Services. To główny silnik relacyjnej bazy danych. Nie zaznaczaj bez zastanowienia Analysis Services, Integration Services ani dodatkowych komponentów, jeśli nie masz konkretnego scenariusza użycia.
W SQL Server 2025 część dawnych komponentów została usunięta lub przeniesiona do innych produktów. Dotyczy to między innymi Reporting Services, Data Quality Services, Master Data Services oraz Azure Synapse Link. Jeżeli korzystasz ze starszej dokumentacji, sprawdź, czy opisywana funkcja nadal znajduje się w wybranej wersji.
Instancja domyślna czy nazwana
Instancja to osobne środowisko SQL Server działające na jednym komputerze. Instancja domyślna jest rozpoznawana po samej nazwie hosta, na przykład localhost. Instancja nazwana wymaga dopisania nazwy, na przykład localhost\SQLEXPRESS.
Do nauki możesz zostawić ustawienia domyślne. W środowisku firmowym nazwana instancja bywa wygodniejsza, gdy na jednym serwerze działają różne wersje lub niezależne środowiska. Trzeba jednak pamiętać, że komplikuje to konfigurację sieci, szczególnie gdy SQL Server korzysta z portów dynamicznych.
Uwierzytelnianie i konto administratora
Jeśli aplikacja działa w domenie Windows, preferuję Windows Authentication. Hasła nie są wtedy przechowywane w konfiguracji aplikacji, a dostęp można kontrolować przez użytkowników i grupy systemowe.
Tryb SQL Server and Windows Authentication, nazywany też Mixed Mode, ma sens wtedy, gdy aplikacja lub narzędzie musi logować się przez użytkownika SQL. W takim przypadku ustaw silne hasło dla konta sa, dodaj osobne konto aplikacyjne z minimalnymi uprawnieniami i nie używaj sa w connection stringu aplikacji.
Podczas instalacji dodaj swoje konto do administratorów SQL Server. Bez tego możesz wprawdzie uruchomić usługę, ale później stracić dostęp do konfiguracji instancji. To jeden z tych drobnych kroków, które oszczędzają dużo nerwów po restarcie komputera.
Po instalacji skonfiguruj połączenie z aplikacją
Sama obecność usługi SQL Server nie oznacza jeszcze, że aplikacja może się z nią połączyć. Najpierw uruchom SQL Server Management Studio i sprawdź, czy logowanie działa lokalnie. SSMS jest narzędziem administracyjnym instalowanym niezależnie od silnika bazy danych.
Sprawdź nazwę serwera
Dla instancji domyślnej użyj nazwy komputera albo localhost. Dla instancji nazwanej wpisz format localhost\NazwaInstancji. W projektach .NET często spotkasz również połączenie do LocalDB zapisane jako (localdb)\MSSQLLocalDB.
Przykładowy connection string dla uwierzytelniania Windows może wyglądać tak:
Server=localhost;Database=Sklep;Trusted_Connection=True;TrustServerCertificate=True;Dla instancji nazwanej zmień wartość serwera, na przykład:
Server=localhost\SQLEXPRESS;Database=Sklep;Trusted_Connection=True;TrustServerCertificate=True;Parametr TrustServerCertificate=True bywa przydatny lokalnie, gdy korzystasz z certyfikatu deweloperskiego. Na produkcji nie powinien zastępować poprawnej konfiguracji certyfikatów i walidacji połączenia.
Włącz TCP/IP tylko wtedy, gdy jest potrzebne
Połączenia lokalne mogą korzystać z Shared Memory, ale aplikacja na innym komputerze potrzebuje zwykle TCP/IP. Włączysz go w SQL Server Configuration Manager, w ustawieniach protokołów dla konkretnej instancji. Po zmianie uruchom ponownie usługę SQL Server.
Dla instancji domyślnej często stosuje się port 1433. Przy instancjach nazwanych można używać SQL Server Browser i portów dynamicznych, ale w środowisku produkcyjnym wolę ustawić stały port i otworzyć w zaporze wyłącznie wymagany ruch.
Nie wystarczy wyłączyć zapory Windows na czas testu. Bezpieczniejszy układ to reguła przychodząca dla konkretnego portu, ograniczona do podsieci albo adresów serwerów, które rzeczywiście muszą korzystać z bazy.
Przeczytaj również: Oracle CREATE TABLE od podstaw - klucze, identity i CTAS
Ustaw limity pamięci
SQL Server chętnie wykorzystuje dostępną pamięć. Na komputerze deweloperskim może to spowodować, że Visual Studio, przeglądarka i kontenery Docker zaczną działać ospale. Ustawienie Max Server Memory pozwala zostawić systemowi i innym procesom rozsądny zapas.
Nie ma jednej wartości dobrej dla każdego komputera. Na maszynie z 16 GB RAM przeznaczenie około 8-10 GB dla SQL Server może być sensowne, jeśli równolegle uruchamiasz IDE. Na serwerze z jednym przeznaczeniem limit ustawia się inaczej, zależnie od obciążenia, systemu operacyjnego i pozostałych usług.
Najczęstsze problemy i szybka diagnostyka
Jeśli instalator zakończy pracę błędem, nie zaczynaj od ponownej instalacji wszystkiego. Najpierw sprawdź logi instalatora oraz konkretną regułę, która nie przeszła kontroli. W większości przypadków problemem jest brak uprawnień administratora, oczekujący restart, niezgodny system albo zajęty port.
| Objaw | Prawdopodobna przyczyna | Co sprawdzić |
|---|---|---|
| Nie można połączyć się z serwerem | Zatrzymana usługa lub błędna nazwa instancji | SQL Server Services, nazwa instancji, logi systemowe |
| Działa lokalnie, ale nie z innego komputera | Wyłączony TCP/IP albo blokada zapory | Protokół TCP/IP, port, reguły firewall |
| Login failed for user | Zły tryb uwierzytelniania lub brak uprawnień | Windows Authentication, login SQL, mapowanie do bazy |
| Instalator zatrzymuje się na kontroli systemu | Brak miejsca, pending restart albo niezgodna wersja Windows | Dysk systemowy, Windows Update, wymagania x64 |
| Aplikacja działa bardzo wolno | Za mało pamięci, wolny dysk lub brak indeksów | Limit pamięci, plan zapytania, obciążenie dysku |
Komunikat „server not found” nie musi oznaczać uszkodzonej bazy. Często aplikacja wskazuje instancję domyślną, podczas gdy zainstalowano Express jako instancję nazwaną. Wtedy problem rozwiązuje poprawienie nazwy serwera w konfiguracji, a nie reinstalacja SQL Server.
Jeżeli używasz konta SQL i logowanie nie działa, sprawdź, czy podczas instalacji włączono Mixed Mode. Samo wpisanie loginu i hasła w connection stringu nie aktywuje tego trybu. Trzeba także potwierdzić, że użytkownik istnieje, jest odblokowany i ma dostęp do wskazanej bazy.
Instalacja powtarzalna dla zespołu i CI
Na jednym komputerze wygodny jest kreator graficzny, ale w zespole lepiej dążyć do instalacji powtarzalnej. SQL Server można instalować z wiersza poleceń albo za pomocą pliku konfiguracji, w którym zapisujesz między innymi edycję, funkcje, ścieżki i tryb uwierzytelniania.
To podejście ma największą wartość wtedy, gdy przygotowujesz kilka maszyn developerskich, środowisko testowe albo automatyzację na serwerze. Zamiast odtwarzać ustawienia z pamięci, przechowujesz je w kontrolowanym pliku i możesz sprawdzić zmiany podczas code review.
setup.exe /Q /ACTION=Install /FEATURES=SQLENGINE
/INSTANCENAME=MSSQLSERVER
/SQLSVCACCOUNT="NT Service\MSSQLSERVER"
/IACCEPTSQLSERVERLICENSETERMSDokładne parametry zależą od wersji, edycji i wybranych komponentów, dlatego przed użyciem trybu cichego sprawdź składnię dla konkretnego instalatora. Najpierw przetestuj konfigurację na maszynie tymczasowej. Cicha instalacja przyspiesza wdrożenia, ale utrudnia znalezienie błędu, jeśli pominiesz wymagany parametr.
W środowisku .NET często rozdzielam instalację silnika od tworzenia schematu bazy. SQL Server Setup przygotowuje usługę, natomiast migracje Entity Framework Core albo skrypty SQL tworzą tabele, indeksy i dane. Dzięki temu aktualizacja aplikacji nie wymaga ponownego uruchamiania instalatora serwera.
Co sprawdzić przed rozpoczęciem pracy z bazą
- Usługa SQL Server uruchamia się automatycznie po restarcie.
- Możesz zalogować się lokalnie przez SSMS.
- Aplikacja korzysta z właściwej nazwy instancji.
- Uwierzytelnianie odpowiada konfiguracji serwera.
- TCP/IP i zapora są ustawione tylko wtedy, gdy baza ma przyjmować połączenia sieciowe.
- Pliki danych, logi i kopie zapasowe mają zaplanowane lokalizacje.
- Developer nie trafia na produkcję, a Express nie jest używany bez sprawdzenia limitów.
Najbezpieczniejszy schemat dla typowego projektu wygląda prosto. Do lokalnego developmentu wybierz Developer, uruchom tylko Database Engine, używaj Windows Authentication i trzymaj bazę poza repozytorium kodu. Na serwerze produkcyjnym dodaj kontrolę dostępu, kopie zapasowe, stały port, monitoring oraz osobne konta usług.
Dobra instalacja SQL Server nie kończy się na komunikacie „Setup completed successfully”. Dopiero poprawne połączenie, ograniczenie uprawnień, przemyślane ścieżki plików i sprawdzony scenariusz odtwarzania bazy pokazują, że środowisko jest naprawdę gotowe do pracy.
