Przegląd
W tym przewodniku omówimy, jak zainstalować i skonfigurować instancję SQL Server oraz sqlcmd
klient wiersza poleceń. Omówimy, jak zainstalować i skonfigurować te komponenty na komputerze w celu uzyskania lokalnego dostępu.
Ten przewodnik obejmuje następujące platformy:
- Konfigurowanie SQL Server w systemie Windows
- Konfigurowanie SQL Server na macOS (z Dockerem)
- Konfigurowanie SQL Server w systemie Linux
- Ubuntu
- CentOS i Red Hat
- Z Dockerem
Przejdź do sekcji, które pasują do platform, z którymi będziesz pracować.
Konfigurowanie SQL Server w systemie Windows
Firma Microsoft udostępnia natywne instalatory systemu Windows dla programu SQL Server w swojej witrynie i oferuje różne wersje programu SQL Server odpowiednie do różnych celów. Na potrzeby tego przewodnika pobierzemy i zainstalujemy bezpłatną edycję programisty. Możesz łatwo uaktualnić wersję programistyczną do wersji płatnej, jeśli chcesz używać jej w produkcji.
Aby rozpocząć, odwiedź stronę Microsoft dotyczącą SQL Server. Znajdź sekcję związaną z wersją programisty i kliknij Pobierz teraz :
Po zakończeniu pobierania kliknij dwukrotnie plik, aby uruchomić instalator (może być konieczne potwierdzenie, że chcesz zezwolić programowi na wprowadzanie zmian na komputerze).
Na początkowym ekranie instalatora zostaniesz poproszony o wybranie typu instalacji, którą chcesz przeprowadzić:
Wybierz Podstawowe aby kontynuować konwencjonalną instalację, korzystając z najczęstszych opcji.
Następnie zostaniesz poproszony o wyrażenie zgody na warunki licencjonowania wersji dla programistów:
Po przeczytaniu licencji i zaakceptowaniu warunków kliknij Akceptuj aby kontynuować.
Następnie potwierdź lub zmień lokalizację instalacji:
Kiedy będziesz gotowy, kliknij Zainstaluj aby rozpocząć proces instalacji.
Instalator rozpocznie pobieranie i instalowanie komponentów w celu skonfigurowania programu SQL Server na komputerze:
Po zakończeniu instalacji pojawi się ekran z aktualnymi właściwościami instalacji:
Aby od razu połączyć się z nową instancją SQL Server, kliknij Połącz teraz na dole.
Nowe okno będzie Cmd
pojawi się okno i automatycznie zalogujesz się do instancji SQL Server za pomocą sqlcmd
klient:
Jak pokazano w komentarzu w górnej części okna, możesz w dowolnym momencie ręcznie połączyć się z SQL Server za pomocą sqlcmd
klient wpisując:
sqlcmd -S <yourhostname> -E
Aby wyjść z bieżącej sesji SQL, wpisz:
EXIT
Konfigurowanie SQL Server w systemie macOS
Chociaż firma Microsoft nie zapewnia natywnego instalatora dla systemu macOS, obsługuje uruchamianie programu SQL Server w systemie macOS za pośrednictwem platformy Docker. Główny kontener Docker SQL Server jest zbudowany przy użyciu kontenera Linux, co pozwala każdemu hostowi obsługującemu kontenery Docker na uruchomienie serwera bazy danych.
Aby pomyślnie uruchomić obraz, potrzebujesz co najmniej 2 GB pamięci (prawdopodobnie co najmniej trochę więcej), jednak sam Docker wymaga co najmniej 4 GB pamięci.
Aby rozpocząć, upewnij się, że masz w swoim systemie Docker. Docker Desktop dla komputerów Mac zawiera Docker Engine i inne powiązane aplikacje. Jeśli nie masz jeszcze zainstalowanego Dockera, postępuj zgodnie z instrukcjami zawartymi w powyższym linku.
Po uruchomieniu platformy Docker możesz pobrać obraz platformy Docker SQL Server z Microsoft Container Registry, wpisując:
docker pull mcr.microsoft.com/mssql/server:2019-latest
Spowoduje to pobranie wszystkich wymaganych warstw obrazu do systemu lokalnego, umożliwiając szybsze uruchamianie.
Gdy będziesz gotowy do uruchomienia kontenera, wpisz następujące polecenie.
Pamiętaj, aby zastąpić
docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
Kontener SQL Server zostanie uruchomiony w tle. Wyświetlany ciąg znaków to identyfikator nowego kontenera.
Możesz sprawdzić, czy kontener jest uruchomiony, wpisując:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
Powinieneś zobaczyć mssql
pojemnik na liście. Jeśli kontener nie działa lub masz problemy, możesz spróbować przejrzeć jego dzienniki, aby sprawdzić, czy są jakieś pomocne komunikaty:
docker logs mssql
Kontener SQL Server ma nie tylko zainstalowany serwer bazy danych, ale także niektóre z typowych dostępnych narzędzi, w tym sqlcmd
klient wiersza poleceń. Aby użyć tego klienta do połączenia z instancją bazy danych, możesz użyć docker exec
aby uzyskać dostęp do polecenia i uwierzytelnić się w bazie danych:
docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
Zostaniesz uwierzytelniony na serwerze SQL Server wewnątrz kontenera i wrzucony do powłoki SQL. Możesz sprawdzić, czy wszystko działa, wpisując:
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
Aby wyjść z sesji SQL i wrócić do normalnej powłoki, wpisz:
EXIT
Aby zamknąć kontener SQL Server po zakończeniu, możesz go zatrzymać, wpisując:
docker stop mssql
Aby usunąć instancję kontenera (w tym wszystkie dane w środku!), wpisz:
docker rm mssql
Aby zachować dane w kontenerze SQL Server, możesz użyć jednej z technik opisanych w dokumentacji Microsoft lub zapoznać się z dokumentacją Dockera dotyczącą używania woluminów danych z kontenerami.
Konfigurowanie SQL Server w systemie Linux
Metody instalacji różnią się w zależności od używanej dystrybucji Linuksa. Postępuj zgodnie z sekcją poniżej, która pasuje do twojej dystrybucji Linuksa. Istnieją również instrukcje dotyczące korzystania z Dockera, jeśli wolisz taką konfigurację lub chcesz użyć dystrybucji, której nie ma na liście.
- Ubuntu
- CentOS i Red Hat
- Z Dockerem
Ubuntu
Najłatwiejszym sposobem zainstalowania SQL Server na Ubuntu 20.04 jest instalacja z dedykowanych repozytoriów dostarczonych przez Microsoft. Twoja maszyna musi mieć co najmniej 2 GB pamięci, aby pomyślnie zainstalować i uruchomić niezbędne oprogramowanie.
Aby rozpocząć, dodaj nową definicję repozytorium do swojego systemu, wpisując:
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"
Musisz również dodać osobne repozytorium, aby uzyskać dostęp do sqlcmd
narzędzia binarne i inne:
sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
Następnie dodaj klucz podpisywania pakietu Microsoft do apt
aby ufa pakietom w nowym repozytorium:
wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Po skonfigurowaniu repozytorium możesz zainstalować SQL Server i sqlcmd
klienta wiersza poleceń, wpisując:
sudo apt install mssql-server mssql-tools unixodbc-dev
Po zakończeniu instalacji musisz skonfigurować nową instancję bazy danych. Aby to zrobić, uruchom dołączoną konfigurację mssql-conf
skrypt do ustawienia niektórych podstawowych właściwości nowego systemu:
sudo /opt/mssql/bin/mssql-conf setup
Zostaniesz poproszony o szereg pytań, aby skonfigurować serwer bazy danych.
Najpierw zapyta, jakiej wersji serwera SQL chcesz użyć:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
Jeśli masz płatną licencję, możesz wybrać odpowiednią wersję. Jeśli używasz serwera w środowisku nieprodukcyjnym, możesz bezpiecznie wybrać wersję programistyczną.
Następnie musisz ponownie zaakceptować postanowienia licencyjne:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
Na koniec musisz ustawić i potwierdzić hasło do konta administratora systemu SQL Server (w wielu miejscach nazywanego kontem SA):
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
Aby użyć sqlcmd
klienta do łączenia się z instancją SQL Server, najłatwiej jest dodać mssql-tools
katalog binarny do Twojej PATH
. Aby to skonfigurować, wpisz:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Następnie zaczerpnij jeden z dwóch powyższych plików, aby ocenić nową PATH
dla bieżącej sesji:
source ~/.bashrc
Możesz teraz połączyć się z instancją bazy danych, wpisując:
sqlcmd -U SA -S 127.0.0.1
Zostaniesz poproszony o podanie wcześniej skonfigurowanego hasła. Po pomyślnym uwierzytelnieniu zostaniesz przeniesiony do powłoki SQL. Tutaj możesz sprawdzić, czy wszystko działa, drukując wersję serwera:
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64> (1 rows affected)
Aby wyjść z powłoki SQL i wrócić do wiersza poleceń, możesz wpisać:
EXIT
CentOS i Red Hat
Najprostszym sposobem na zainstalowanie SQL Server na CentOS lub Red Hat jest skorzystanie z repozytoriów dostarczonych przez Microsoft. Hosty z systemem Linux muszą mieć co najmniej 2 GB pamięci, aby zainstalować i uruchomić SQL Server.
Przed zainstalowaniem programu SQL Server należy zainstalować i skonfigurować jego zależności. Aby kontynuować, potrzebujemy zarówno Pythona 2, jak i OpenSSL 10:
sudo yum install python2 compat-openssl10
Po zainstalowaniu Pythona 2 skonfiguruj system tak, aby używał go jako domyślnej instancji Pythona:
sudo alternatives --config python
Z poniższej listy wybierz numer związany z instalacją Pythona 2. W poniższym przykładzie będzie to opcja 2:
There are 2 programs which provide 'python'. Selection Command ----------------------------------------------- *+ 1 /usr/libexec/no-python 2 /usr/bin/python2 Enter to keep the current selection[+], or type selection number: 2
Mając istniejące zależności, możesz teraz skonfigurować repozytorium SQL Server YUM:
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo
Następnie musisz skonfigurować dodatkowe repozytorium, aby uzyskać dostęp do sqlcmd
i inne narzędzia:
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo
Po skonfigurowaniu repozytoriów zainstaluj SQL Server, wpisując:
sudo yum install mssql-server mssql-tools unixODBC-devel
Po zakończeniu instalacji musisz skonfigurować nową instancję bazy danych. Aby to zrobić, uruchom dołączoną konfigurację mssql-conf
skrypt do ustawienia niektórych podstawowych właściwości nowego systemu:
sudo /opt/mssql/bin/mssql-conf setup
Zostaniesz poproszony o szereg pytań, aby skonfigurować serwer bazy danych.
Najpierw zapyta, jakiej wersji serwera SQL chcesz użyć:
Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) - CPU Core utilization restricted to 20 physical/40 hyperthreaded 7) Enterprise Core (PAID) - CPU Core utilization up to Operating System Maximum 8) I bought a license through a retail sales channel and have a product key to enter.Details about editions can be found athttps://go.microsoft.com/fwlink/?LinkId=2109348&clcid=0x409Use of PAID editions of this software requires separate licensing through aMicrosoft Volume Licensing program.By choosing a PAID edition, you are verifying that you have the appropriatenumber of licenses in place to install and run this software.Enter your edition(1-8):
Jeśli masz płatną licencję, możesz wybrać odpowiednią wersję. Jeśli używasz serwera w środowisku nieprodukcyjnym, możesz bezpiecznie wybrać wersję programistyczną.
Następnie musisz ponownie zaakceptować postanowienia licencyjne:
The license terms for this product can be found in/usr/share/doc/mssql-server or downloaded from:https://go.microsoft.com/fwlink/?LinkId=2104294&clcid=0x409The privacy statement can be viewed at:https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409Do you accept the license terms? [Yes/No]:
Na koniec musisz ustawić i potwierdzić hasło do konta administratora systemu SQL Server (w wielu miejscach nazywanego kontem SA):
Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:
Aby użyć sqlcmd
klienta do łączenia się z instancją SQL Server, najłatwiej jest dodać mssql-tools
katalog binarny do Twojej PATH
. Aby to skonfigurować, wpisz:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
Następnie zaczerpnij jeden z dwóch powyższych plików, aby ocenić nową PATH
dla bieżącej sesji:
source ~/.bashrc
Możesz teraz połączyć się z instancją bazy danych, wpisując:
sqlcmd -U SA -S 127.0.0.1
Zostaniesz poproszony o podanie wcześniej skonfigurowanego hasła. Po pomyślnym uwierzytelnieniu zostaniesz przeniesiony do powłoki SQL. Tutaj możesz sprawdzić, czy wszystko działa, drukując wersję serwera:
SELECT @@VERSIONGO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (CentOS Linux 8) <X64> (1 rows affected)
Aby wyjść z powłoki SQL i wrócić do wiersza poleceń, możesz wpisać:
EXIT
Z Dockerem
Jeśli używasz dystrybucji Linuksa, dla której Microsoft nie dostarcza pakietów lub jeśli po prostu wolisz, inną opcją jest uruchomienie SQL Server z Dockerem. Aby pomyślnie uruchomić obraz, potrzebujesz co najmniej 2 GB pamięci (prawdopodobnie co najmniej trochę więcej).
Aby rozpocząć, upewnij się, że masz w swoim systemie silnik Docker Engine. Szczegółowe instrukcje dotyczące różnych platform można znaleźć w dokumentacji Docker Engine.
Po uruchomieniu platformy Docker możesz pobrać obraz platformy Docker SQL Server z Microsoft Container Registry, wpisując:
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Spowoduje to pobranie wszystkich wymaganych warstw obrazu do systemu lokalnego, umożliwiając szybsze uruchamianie.
Gdy będziesz gotowy do uruchomienia kontenera, wpisz następujące polecenie.
Pamiętaj, aby zastąpić
sudo docker run --env "ACCEPT_EULA=Y" --env "SA_PASSWORD=<password>" --publish 1433:1433 --name mssql --hostname mssql --detach mcr.microsoft.com/mssql/server:2019-latest
Kontener SQL Server zostanie uruchomiony w tle. Wyświetlany ciąg znaków to identyfikator nowego kontenera.
Możesz sprawdzić, czy kontener jest uruchomiony, wpisując:
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESffa9ef357b5c mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm…" 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp mssqlae00765e36fb hello-world "/hello" 24 minutes ago Exited (0) 24 minutes ago dreamy_swanson
Powinieneś zobaczyć mssql
pojemnik na liście. Jeśli kontener nie działa lub masz problemy, możesz spróbować przejrzeć jego dzienniki, aby sprawdzić, czy są jakieś pomocne komunikaty:
sudo docker logs mssql
Kontener SQL Server ma nie tylko zainstalowany serwer bazy danych, ale także niektóre z typowych dostępnych narzędzi, w tym sqlcmd
klient wiersza poleceń. Aby użyć tego klienta do połączenia z instancją bazy danych, możesz użyć docker exec
aby uzyskać dostęp do polecenia i uwierzytelnić się w bazie danych:
sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"
Zostaniesz uwierzytelniony na serwerze SQL Server wewnątrz kontenera i wrzucony do powłoki SQL. Możesz sprawdzić, czy wszystko działa, wpisując:
SELECT @@VERSION;GO
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Microsoft SQL Server 2019 (RTM-CU9) (KB5000642) - 15.0.4102.2 (X64) Jan 25 2021 20:16:12 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.5 LTS) <X64> (1 rows affected)
Aby wyjść z sesji SQL i wrócić do normalnej powłoki, wpisz:
EXIT
Aby zamknąć kontener SQL Server po zakończeniu, możesz go zatrzymać, wpisując:
sudo docker stop mssql
Aby usunąć instancję kontenera (w tym wszystkie dane w środku!), wpisz:
sudo docker rm mssql
Aby zachować dane w kontenerze SQL Server, możesz użyć jednej z technik opisanych w dokumentacji Microsoft lub zapoznać się z dokumentacją Dockera dotyczącą używania woluminów danych z kontenerami.