Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Einrichten einer lokalen SQL Server-Datenbank


Übersicht

In diesem Handbuch sprechen wir über die Installation und Konfiguration einer SQL Server-Instanz und des sqlcmd Befehlszeilen-Client. Wir erklären Ihnen, wie Sie diese Komponenten auf Ihrem Computer für den lokalen Zugriff installieren und einrichten.

Dieses Handbuch behandelt die folgenden Plattformen:

  • Einrichten von SQL Server unter Windows
  • Einrichten von SQL Server unter macOS (mit Docker)
  • Einrichten von SQL Server unter Linux
    • Ubuntu
    • CentOS und Red Hat
    • Mit Docker

Navigieren Sie zu den Abschnitten, die den Plattformen entsprechen, mit denen Sie arbeiten werden.



SQL Server unter Windows einrichten

Microsoft stellt auf seiner Website native Windows-Installationsprogramme für SQL Server bereit und bietet verschiedene Versionen von SQL Server an, die für unterschiedliche Zwecke geeignet sind. Für die Zwecke dieses Handbuchs werden wir die kostenlose Developer Edition herunterladen und installieren. Sie können ganz einfach von der Developer Edition auf eine kostenpflichtige Version upgraden, wenn Sie sie für die Produktion verwenden möchten.

Besuchen Sie zunächst die Microsoft-Seite für SQL Server. Suchen Sie den Abschnitt zur Developer Edition und klicken Sie auf Jetzt herunterladen :

Sobald der Download abgeschlossen ist, doppelklicken Sie auf die Datei, um das Installationsprogramm auszuführen (möglicherweise müssen Sie bestätigen, dass Sie dem Programm erlauben möchten, Änderungen an Ihrem Computer vorzunehmen).

Auf dem Startbildschirm des Installationsprogramms werden Sie aufgefordert, die Art der Installation auszuwählen, die Sie durchführen möchten:

Wählen Sie Einfach um mit einer herkömmlichen Installation unter Verwendung der gebräuchlichsten Optionen fortzufahren.

Als Nächstes werden Sie aufgefordert, den Lizenzbedingungen der Developer Edition zuzustimmen:

Wenn Sie die Lizenz gelesen haben und den Bedingungen zustimmen, klicken Sie auf Akzeptieren um fortzufahren.

Als nächstes bestätigen oder ändern Sie den Installationsort:

Wenn Sie fertig sind, klicken Sie auf Installieren um den Installationsvorgang zu starten.

Das Installationsprogramm beginnt mit dem Herunterladen und Installieren von Komponenten, um SQL Server auf Ihrem Computer einzurichten:

Wenn die Installation abgeschlossen ist, erscheint ein Bildschirm mit den aktuellen Installationseigenschaften:

Um sich sofort mit der neuen SQL Server-Instanz zu verbinden, klicken Sie auf Jetzt verbinden unten.

Ein neues Fenster wird Cmd Das Fenster erscheint und meldet Sie automatisch bei der SQL Server-Instanz mit dem sqlcmd an Kunde:

Wie in einem Kommentar oben im Fenster gezeigt, können Sie sich jederzeit manuell mit dem sqlcmd mit SQL Server verbinden Client durch Eingabe von:

sqlcmd -S <yourhostname> -E

Um die aktuelle SQL-Sitzung zu beenden, geben Sie Folgendes ein:

EXIT


SQL Server auf macOS einrichten

Obwohl Microsoft kein natives Installationsprogramm für macOS bereitstellt, unterstützen sie die Ausführung von SQL Server auf macOS über Docker. Der Hauptcontainer von SQL Server Docker wird unter Verwendung eines Linux-Containers erstellt, sodass jeder Host, der Docker-Container ausführen kann, den Datenbankserver ausführen kann.

Sie benötigen mindestens 2 GB Arbeitsspeicher (wahrscheinlich mindestens etwas mehr), um das Image erfolgreich auszuführen, Docker selbst benötigt jedoch mindestens 4 GB Arbeitsspeicher.

Stellen Sie zunächst sicher, dass Docker auf Ihrem System installiert ist. Docker Desktop für Mac enthält Docker Engine und andere verwandte Anwendungen. Wenn Sie Docker noch nicht installiert haben, befolgen Sie die Anweisungen im obigen Link.

Sobald Sie Docker eingerichtet und ausgeführt haben, können Sie das SQL Server-Docker-Image aus Microsoft Container Registry abrufen, indem Sie Folgendes eingeben:

docker pull mcr.microsoft.com/mssql/server:2019-latest

Dadurch werden alle erforderlichen Bildebenen auf Ihr lokales System heruntergeladen, was einen schnelleren Start ermöglicht.

Wenn Sie bereit sind, den Container zu starten, geben Sie den folgenden Befehl ein.

Denken Sie daran, <password> zu ersetzen mit dem Wert Ihres beabsichtigten Passworts und wählen Sie einen Wert, der der Passwortrichtlinie des Bildes entspricht. Zum Zeitpunkt der Erstellung dieses Artikels ist die Richtlinie wie folgt definiert:„Das Passwort muss mindestens 8 Zeichen lang sein und Zeichen aus drei der folgenden vier Gruppen enthalten:Großbuchstaben, Kleinbuchstaben, Basis-10-Ziffern und Symbole.“:

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

Der SQL-Server-Container wird im Hintergrund gestartet. Die angezeigte Zeichenfolge ist die ID des neuen Containers.

Sie können überprüfen, ob der Container betriebsbereit ist, indem Sie Folgendes eingeben:

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

Sie sollten mssql sehen Container in der Liste. Wenn der Container nicht ausgeführt wird oder Sie Probleme haben, können Sie versuchen, seine Protokolle anzuzeigen, um festzustellen, ob hilfreiche Nachrichten vorhanden sind:

docker logs mssql

Auf dem SQL Server-Container ist nicht nur der Datenbankserver installiert, er verfügt auch über einige der gängigen Tools, einschließlich sqlcmd Befehlszeilen-Client. Um diesen Client zum Verbinden mit der Datenbankinstanz zu verwenden, können Sie docker exec verwenden um auf den Befehl zuzugreifen und sich bei der Datenbank zu authentifizieren:

docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Sie werden beim SQL Server innerhalb des Containers authentifiziert und in eine SQL-Shell verschoben. Sie können überprüfen, ob alles funktioniert, indem Sie Folgendes eingeben:

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)

Geben Sie Folgendes ein, um die SQL-Sitzung zu beenden und zu Ihrer normalen Shell zurückzukehren:

EXIT

Um den SQL Server-Container zu beenden, wenn Sie fertig sind, können Sie ihn stoppen, indem Sie Folgendes eingeben:

docker stop mssql

Geben Sie Folgendes ein, um die Containerinstanz (einschließlich aller darin enthaltenen Daten!) zu entfernen:

docker rm mssql

Um die Daten in Ihrem SQL Server-Container zu speichern, können Sie eine der in der Microsoft-Dokumentation beschriebenen Techniken verwenden oder einen Blick auf die Docker-eigene Dokumentation zur Verwendung von Datenvolumes mit Containern werfen.



SQL Server unter Linux einrichten

Die Installationsmethoden unterscheiden sich je nach verwendeter Linux-Distribution. Befolgen Sie den Abschnitt unten, der Ihrer Linux-Distribution entspricht. Es gibt auch Anweisungen zur Verwendung von Docker, wenn Sie diese Konfiguration bevorzugen oder eine nicht aufgeführte Distribution verwenden möchten.

  • Ubuntu
  • CentOS und Red Hat
  • Mit Docker

Ubuntu

Der einfachste Weg, SQL Server unter Ubuntu 20.04 zu installieren, ist die Installation aus den von Microsoft bereitgestellten dedizierten Repositories. Ihr Computer muss über mindestens 2 GB Arbeitsspeicher verfügen, um die erforderliche Software erfolgreich installieren und ausführen zu können.

Fügen Sie Ihrem System zunächst eine neue Repository-Definition hinzu, indem Sie Folgendes eingeben:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2019.list)"

Sie müssen auch ein separates Repository hinzufügen, um Zugriff auf sqlcmd zu erhalten binäre und andere Tools:

sudo add-apt-repository "$(wget --quiet -O - https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"

Fügen Sie als Nächstes den Microsoft-Paketsignaturschlüssel zu apt hinzu damit es den Paketen im neuen Repository vertraut:

wget --quiet -O - https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Wenn das Repository eingerichtet ist, können Sie SQL Server und sqlcmd installieren Befehlszeilen-Client durch Eingabe von:

sudo apt install mssql-server mssql-tools unixodbc-dev

Nach Abschluss der Installation müssen Sie Ihre neue Datenbankinstanz konfigurieren. Führen Sie dazu das enthaltene mssql-conf setup aus Skript, um einige der grundlegenden Eigenschaften Ihres neuen Systems festzulegen:

sudo /opt/mssql/bin/mssql-conf setup

Ihnen werden eine Reihe von Fragen gestellt, um den Datenbankserver zu konfigurieren.

Zuerst werden Sie gefragt, welche Edition von SQL Server Sie verwenden möchten:

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):

Wenn Sie eine kostenpflichtige Lizenz haben, können Sie die entsprechende Version auswählen. Wenn Sie den Server in einer Nicht-Produktionsumgebung verwenden, ist es sicher, die Developer Edition zu wählen.

Als Nächstes müssen Sie die Lizenzbedingungen erneut akzeptieren:

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]:

Schließlich müssen Sie ein Kennwort für das SQL Server-Systemadministratorkonto (an vielen Stellen SA-Konto genannt) festlegen und bestätigen:

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

So verwenden Sie sqlcmd Client zum Herstellen einer Verbindung mit Ihrer SQL Server-Instanz ist es am einfachsten, die mssql-tools hinzuzufügen Binary-Verzeichnis zu Ihrem PATH . Um dies zu konfigurieren, geben Sie Folgendes ein:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Resourcen Sie anschließend eine der beiden obigen Dateien, um den neuen PATH auszuwerten für Ihre aktuelle Sitzung:

source ~/.bashrc

Sie können sich jetzt mit Ihrer Datenbankinstanz verbinden, indem Sie Folgendes eingeben:

sqlcmd -U SA -S 127.0.0.1

Sie werden nach dem Passwort gefragt, das Sie zuvor eingerichtet haben. Nach erfolgreicher Authentifizierung werden Sie in eine SQL-Shell versetzt. Von hier aus können Sie überprüfen, ob alles funktioniert, indem Sie die Version des Servers drucken:

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)

Um die SQL-Shell zu verlassen und zur Befehlszeile zurückzukehren, können Sie Folgendes eingeben:

EXIT


CentOS und Red Hat

Der einfachste Weg, SQL Server auf CentOS oder Red Hat zu installieren, ist die Verwendung der von Microsoft bereitgestellten Repositories. Linux-Hosts müssen über mindestens 2 GB Arbeitsspeicher verfügen, um SQL Server installieren und ausführen zu können.

Vor der Installation von SQL Server müssen Sie dessen Abhängigkeiten installieren und konfigurieren. Wir brauchen sowohl Python 2 als auch OpenSSL 10, um fortzufahren:

sudo yum install python2 compat-openssl10

Konfigurieren Sie nach der Installation von Python 2 das System so, dass es als Standard-Python-Instanz verwendet wird:

sudo alternatives --config python

Wählen Sie aus der folgenden Liste die Nummer aus, die der Installation von Python 2 zugeordnet ist. Im folgenden Beispiel ist dies Option 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

Nachdem die Abhängigkeiten vorhanden sind, können Sie jetzt das YUM-Repository von SQL Server konfigurieren:

sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/mssql-server-2019.repo

Anschließend müssen Sie ein zusätzliches Repository konfigurieren, um Zugriff auf sqlcmd zu erhalten und andere Tools:

sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/$(rpm --eval %{rhel})/prod.repo

Sobald die Repositorys konfiguriert sind, installieren Sie SQL Server, indem Sie Folgendes eingeben:

sudo yum install mssql-server mssql-tools unixODBC-devel

Nach Abschluss der Installation müssen Sie Ihre neue Datenbankinstanz konfigurieren. Führen Sie dazu das enthaltene mssql-conf setup aus Skript, um einige der grundlegenden Eigenschaften Ihres neuen Systems festzulegen:

sudo /opt/mssql/bin/mssql-conf setup

Ihnen werden eine Reihe von Fragen gestellt, um den Datenbankserver zu konfigurieren.

Zuerst werden Sie gefragt, welche Edition von SQL Server Sie verwenden möchten:

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):

Wenn Sie eine kostenpflichtige Lizenz haben, können Sie die entsprechende Version auswählen. Wenn Sie den Server in einer Nicht-Produktionsumgebung verwenden, ist es sicher, die Developer Edition zu wählen.

Als Nächstes müssen Sie die Lizenzbedingungen erneut akzeptieren:

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]:

Schließlich müssen Sie ein Kennwort für das SQL Server-Systemadministratorkonto (an vielen Stellen SA-Konto genannt) festlegen und bestätigen:

Enter the SQL Server system administrator password:Confirm the SQL Server system administrator password:

So verwenden Sie sqlcmd Client zum Herstellen einer Verbindung mit Ihrer SQL Server-Instanz ist es am einfachsten, die mssql-tools hinzuzufügen Binary-Verzeichnis zu Ihrem PATH . Um dies zu konfigurieren, geben Sie Folgendes ein:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrcecho 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

Resourcen Sie anschließend eine der beiden obigen Dateien, um den neuen PATH auszuwerten für Ihre aktuelle Sitzung:

source ~/.bashrc

Sie können sich jetzt mit Ihrer Datenbankinstanz verbinden, indem Sie Folgendes eingeben:

sqlcmd -U SA -S 127.0.0.1

Sie werden nach dem Passwort gefragt, das Sie zuvor eingerichtet haben. Nach erfolgreicher Authentifizierung werden Sie in eine SQL-Shell versetzt. Von hier aus können Sie überprüfen, ob alles funktioniert, indem Sie die Version des Servers drucken:

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)

Um die SQL-Shell zu verlassen und zur Befehlszeile zurückzukehren, können Sie Folgendes eingeben:

EXIT


Mit Docker

Wenn Sie eine Linux-Distribution verwenden, für die Microsoft keine Pakete bereitstellt, oder wenn Sie es einfach vorziehen, besteht eine weitere Option darin, SQL Server mit Docker auszuführen. Sie benötigen mindestens 2 GB Arbeitsspeicher (wahrscheinlich mindestens etwas mehr), um das Image erfolgreich auszuführen.

Stellen Sie zunächst sicher, dass Sie die Docker Engine auf Ihrem System haben. Detaillierte Anweisungen für verschiedene Plattformen finden Sie in der Docker Engine-Dokumentation.

Sobald Sie Docker eingerichtet und ausgeführt haben, können Sie das SQL Server-Docker-Image aus Microsoft Container Registry abrufen, indem Sie Folgendes eingeben:

sudo docker pull mcr.microsoft.com/mssql/server:2019-latest

Dadurch werden alle erforderlichen Bildebenen auf Ihr lokales System heruntergeladen, was einen schnelleren Start ermöglicht.

Wenn Sie bereit sind, den Container zu starten, geben Sie den folgenden Befehl ein.

Denken Sie daran, <password> zu ersetzen mit dem Wert Ihres beabsichtigten Passworts und wählen Sie einen Wert, der der Passwortrichtlinie des Bildes entspricht. Zum Zeitpunkt der Erstellung dieses Artikels ist die Richtlinie wie folgt definiert:„Das Passwort muss mindestens 8 Zeichen lang sein und Zeichen aus drei der folgenden vier Gruppen enthalten:Großbuchstaben, Kleinbuchstaben, Basis-10-Ziffern und Symbole.“:

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

Der SQL-Server-Container wird im Hintergrund gestartet. Die angezeigte Zeichenfolge ist die ID des neuen Containers.

Sie können überprüfen, ob der Container betriebsbereit ist, indem Sie Folgendes eingeben:

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

Sie sollten mssql sehen Container in der Liste. Wenn der Container nicht ausgeführt wird oder Sie Probleme haben, können Sie versuchen, seine Protokolle anzuzeigen, um festzustellen, ob hilfreiche Nachrichten vorhanden sind:

sudo docker logs mssql

Auf dem SQL Server-Container ist nicht nur der Datenbankserver installiert, er verfügt auch über einige der gängigen Tools, einschließlich sqlcmd Befehlszeilen-Client. Um diesen Client zum Verbinden mit der Datenbankinstanz zu verwenden, können Sie docker exec verwenden um auf den Befehl zuzugreifen und sich bei der Datenbank zu authentifizieren:

sudo docker exec --interactive --tty mssql /opt/mssql-tools/bin/sqlcmd -U SA -S 127.0.0.1 -P "<password>"

Sie werden beim SQL Server innerhalb des Containers authentifiziert und in eine SQL-Shell verschoben. Sie können überprüfen, ob alles funktioniert, indem Sie Folgendes eingeben:

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)

Geben Sie Folgendes ein, um die SQL-Sitzung zu beenden und zu Ihrer normalen Shell zurückzukehren:

EXIT

Um den SQL Server-Container zu beenden, wenn Sie fertig sind, können Sie ihn stoppen, indem Sie Folgendes eingeben:

sudo docker stop mssql

Geben Sie Folgendes ein, um die Containerinstanz (einschließlich aller darin enthaltenen Daten!) zu entfernen:

sudo docker rm mssql

Um die Daten in Ihrem SQL Server-Container zu speichern, können Sie eine der in der Microsoft-Dokumentation beschriebenen Techniken verwenden oder einen Blick auf die Docker-eigene Dokumentation zur Verwendung von Datenvolumes mit Containern werfen.