

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Connect Microsoft SQL Server mit AWS Schema Conversion Tool
<a name="CHAP_Source.SQLServer"></a>

Sie können AWS SCT es verwenden, um Schemas, Datenbankcode-Objekte und Anwendungscode aus SQL Server in die folgenden Ziele zu konvertieren: 
+ Amazon RDS für MySQL
+ Amazon Aurora MySQL-Compatible Edition
+ Amazon RDS für PostgreSQL
+ Amazon Aurora PostgreSQL-Compatible Edition
+ Amazon RDS für SQL Server
+ Amazon RDS für MariaDB

**Anmerkung**  
AWS SCT unterstützt nicht die Verwendung von Amazon RDS for SQL Server als Quelle.

Sie können AWS SCT damit einen Bewertungsbericht für die Migration von Schemas, Datenbankcodeobjekten und Anwendungscode von SQL Server zu Babelfish for Aurora PostgreSQL erstellen, wie im Folgenden beschrieben.

**Topics**
+ [Berechtigungen für Microsoft SQL Server als Quelle](#CHAP_Source.SQLServer.Permissions)
+ [Verwenden der Windows-Authentifizierung bei Verwendung von Microsoft SQL Server als Quelle](#CHAP_Source.SQLServer.Permissions.WinAuth)
+ [Verbindung zu SQL Server als Quelle herstellen](#CHAP_Source.SQLServer.Connecting)
+ [Umwandeln von SQL Server in MySQL](CHAP_Source.SQLServer.ToMySQL.md)
+ [Migration von SQL Server zu PostgreSQL mit AWS Schema Conversion Tool](CHAP_Source.SQLServer.ToPostgreSQL.md)
+ [Migration von SQL Server zu Amazon RDS for SQL Server mit AWS Schema Conversion Tool](CHAP_Source.SQLServer.ToRDSSQLServer.md)

## Berechtigungen für Microsoft SQL Server als Quelle
<a name="CHAP_Source.SQLServer.Permissions"></a>

Die für Microsoft SQL Server als Quelle erforderlichen Rechte lauten wie folgt: 
+ VIEW DEFINITION
+ VIEW DATABASE STATE

Mit dieser `VIEW DEFINITION` Berechtigung können Benutzer mit öffentlichem Zugriff Objektdefinitionen einsehen. AWS SCT verwendet das `VIEW DATABASE STATE` Recht, um die Funktionen der SQL Server Enterprise Edition zu überprüfen.

Gewähren Sie die erforderlichen Berechtigungen für alle Datenbanken, deren Schemata Sie konvertieren.

Gewähren Sie außerdem die folgenden Berechtigungen für die Datenbank `master`:
+ VIEW SERVER STATE
+ VIEW ANY DEFINITION

AWS SCT verwendet das `VIEW SERVER STATE` Recht, Servereinstellungen und -konfigurationen zu sammeln. Stellen Sie sicher, dass Sie die `VIEW ANY DEFINITION` Berechtigung zum Anzeigen von Endpunkten gewähren.

Führen Sie den folgenden Befehl in der Datenbank `master` aus, um Informationen über Microsoft Analysis Services zu lesen.

```
EXEC master..sp_addsrvrolemember @loginame = N'{{<user_name>}}', @rolename = N'sysadmin'
```

Ersetzen Sie im vorherigen Beispiel den `{{<user_name>}}` Platzhalter durch den Namen des Benutzers, dem Sie zuvor die Berechtigungen erteilt haben.

Um Informationen über den SQL Server-Agent zu lesen, fügen Sie Ihren Benutzer zur `SQLAgentUser` Rolle hinzu. Führen Sie den folgenden Befehl für die Datenbank `msdb` aus.

```
EXEC sp_addrolemember {{<SQLAgentRole>}}, {{<user_name>}};
```

Ersetzen Sie im vorherigen Beispiel den Platzhalter `{{<SQLAgentRole>}}` durch den Namen der SQL-Server-Agent-Rolle. Ersetzen Sie dann den `{{<user_name>}}` Platzhalter durch den Namen des Benutzers, dem Sie zuvor die Berechtigungen erteilt haben. Weitere Informationen finden Sie unter [Hinzufügen eines Benutzers zur SQLAgent Benutzerrolle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Agent.html#SQLServerAgent.AddUser) im *Amazon RDS-Benutzerhandbuch*.

Gewähren Sie die Berechtigung `SELECT on dbo.log_shipping_primary_databases` für die Datenbank `msdb`, um den Versand von Protokollen zu erkennen.

Um den Benachrichtigungsansatz der DDL-Replikation zu verwenden, gewähren Sie die entsprechenden `RECEIVE ON {{<schema_name>}}.{{<queue_name>}}` Rechte für Ihre Quelldatenbanken. Ersetzen Sie in diesem Beispiel den Platzhalter `{{<schema_name>}}` durch den Schemanamen Ihrer Datenbank. Ersetzen Sie dann den Platzhalter `{{<queue_name>}}` durch den Namen einer Warteschlangen-Tabelle.

## Verwenden der Windows-Authentifizierung bei Verwendung von Microsoft SQL Server als Quelle
<a name="CHAP_Source.SQLServer.Permissions.WinAuth"></a>

Wenn Ihre Anwendung auf einem Windows-basierten Intranet ausgeführt wird, können Sie möglicherweise die Windows-Authentifizierung für den Zugriff auf die Datenbank verwenden. Die Windows-Authentifizierung verwendet die aktuelle Windows-Identität auf der Betriebssystem-Thread für den Zugriff auf die SQL Server-Datenbank. Sie können dann die Windows-Identität auf eine SQL Server-Datenbank und Berechtigungen abbilden. Zum Herstellen einer Verbindung mit SQL Server unter Verwendung der Windows-Authentifizierung müssen Sie die Windows-Identität angeben, die Ihre Anwendung verwendet. Außerdem müssen Sie der Windows-Identität Zugriff auf die SQL Server-Datenbank erteilen.

SQL Server verfügt über zwei Zugriffsmodi: Windows-Authentifizierung-Modus und gemischter Modus. Der Windows-Authentifizierung-Modus aktiviert die Windows-Authentifizierung und deaktiviert die SQL Server-Authentifizierung. Der gemischte Modus aktiviert die Windows-Authentifizierung und die SQL Server-Authentifizierung. Die Windows-Authentifizierung ist immer verfügbar und kann nicht deaktiviert werden. Weitere Informationen über die Windows-Authentifizierung finden Sie in der Microsoft Windows-Dokumentation. 

Nachfolgend finden Sie ein Beispiel für das Erstellen eines Benutzers in TEST\_DB.

```
USE [TEST_DB]
CREATE USER [TestUser] FOR LOGIN [TestDomain\TestUser]
GRANT VIEW DEFINITION TO [TestUser]
GRANT VIEW DATABASE STATE TO [TestUser]
```

### Verwenden der Windows-Authentifizierung mit einer JDBC-Verbindung
<a name="CHAP_Source.SQLServer.Permissions.WinAuth.JDBC"></a>

Der JDBC-Treiber unterstützt keine Windows-Authentifizierung, wenn der Treiber für Nicht-Windows-Betriebssysteme verwendet wird. Anmeldeinformationen für die Windows-Authentifizierung, wie z. B. Benutzername und Kennwort, werden nicht automatisch angegeben, wenn von einem anderen Betriebssystem als Windows aus eine Verbindung zu SQL Server hergestellt wird. In solchen Fällen müssen die Anwendungen stattdessen die SQL Server-Authentifizierung verwenden.

In der JDBC-Verbindungszeichenfolge, muss der Parameter `integratedSecurity` angegeben werden, um eine Verbindung unter Verwendung der Windows-Authentifizierung herzustellen. Der JDBC-Treiber unterstützt die integrierte Windows-Authentifizierung auf Windows-Betriebssysteme über den `integratedSecurity`-Verbindungszeichenfolgenparameter.

Verwendung der integrierten Authentifizierung

1. Installieren Sie den JDBC-Treiber.

1. Kopieren Sie die `sqljdbc_auth.dll`-Datei in ein Verzeichnis im Windows-Systempfad auf dem Computer, auf dem der JDBC-Treiber installiert ist.

   Die `sqljdbc_auth.dll` Dateien werden am folgenden Speicherort installiert:

   <*Installationsverzeichnis*>\\sqljdbc\_<*version*>\\<*language*>\\auth\\

Wenn Sie versuchen, eine Verbindung zu SQL Server-Datenbank unter Verwendung der Windows-Authentifizierung herzustellen, ist es möglich, dass der folgende Fehler auftritt: Dieser Treiber ist nicht für die integrierte Authentifizierung konfiguriert. Dieses Problem kann gelöst werden, indem Sie die folgenden Aktionen ausführen:
+ Deklarieren Sie zwei Variablen, die auf den installierten Pfad Ihres JDBC verweisen:

   `variable name: SQLJDBC_HOME; variable value: D:\lib\JDBC4.1\enu`(wo Ihre sqljdbc4.jar existiert);

  `variable name: SQLJDBC_AUTH_HOME; variable value: D\lib\JDBC4.1\enu\auth\x86`(wenn Sie ein 32-Bit-Betriebssystem verwenden) oder `D\lib\JDBC4.1\enu\auth\x64` (wenn Sie ein 64-Bit-Betriebssystem verwenden). Hier befindet sich Ihr`sqljdbc_auth.dll`. 
+ Kopieren `sqljdbc_auth.dll` Sie in den Ordner, in dem Ihr JDK/JRE läuft. Sie können in den lib-Ordner, in den bin-Ordner usw. kopieren. Beispielsweise können Sie in den folgenden Ordner kopieren.

  ```
  [JDK_INSTALLED_PATH]\bin;
  [JDK_INSTALLED_PATH]\jre\bin;
  [JDK_INSTALLED_PATH]\jre\lib;
  [JDK_INSTALLED_PATH]\lib;
  ```
+ Stellen Sie sicher, dass Sie in Ihrem JDBC-Bibliotheksordner nur die SQLJDBC4 JAR-Datei haben. Entfernen Sie alle anderen sqljdbc\*.jar-Dateien aus diesem Ordner (oder kopieren Sie sie in einen anderen Ordner). Wenn Sie den Treiber als Teil Ihres Programms hinzufügen, stellen Sie sicher, dass Sie nur SQLJDBC4 .jar als zu verwendenden Treiber hinzufügen.
+ Kopieren Sie die sqljdbc\_auth.dll-Datei in den Ordner mit Ihrer Anwendung.

**Anmerkung**  
Wenn Sie eine 32-Bit-JVM (Java Virtual Machine) ausführen, verwenden Sie die sqljdbc\_auth.dll-Datei im Ordner x86, auch wenn das Betriebssystem die x64-Version ist. Wenn Sie eine 64-Bit-JVM auf einem x64-Prozessor ausführen, verwenden Sie die sqljdbc\_auth.dll-Datei im Ordner x64.

Wenn Sie eine Verbindung zu einer SQL Server-Datenbank herstellen, können Sie entweder **Windows Authentication (Windows-Authentifizierung)** oder **SQL Server Authentication (SQL Server-Authentifizierung)** für die Option **Authentication (Authentifizierung)** verwenden.

## Verbindung zu SQL Server als Quelle herstellen
<a name="CHAP_Source.SQLServer.Connecting"></a>

Gehen Sie wie nachfolgend beschrieben vor, um mit dem AWS Schema Conversion Tool eine Verbindung zu Ihrer Microsoft SQL Server-Quelldatenbank herzustellen. 

**So stellen Sie eine Verbindung zu einer Microsoft SQL Server-Quelldatenbank her**

1. Wählen Sie im AWS Schema Conversion Tool die Option **Quelle hinzufügen** aus.

1. Wählen Sie **Microsoft SQL Server** und dann **Weiter**. 

   Das Dialogfeld „**Quelle hinzufügen**“ wird angezeigt.

1. Geben Sie **unter Verbindungsname** einen Namen für Ihre Datenbank ein. AWS SCT zeigt diesen Namen in der Baumstruktur im linken Bereich an. 

1. Verwenden Sie die Datenbankanmeldedaten von AWS Secrets Manager oder geben Sie sie manuell ein:
   + Gehen Sie wie folgt vor, um Datenbankanmeldedaten von Secrets Manager zu verwenden:

     1. Wählen Sie für **AWS Secret** den Namen des Secrets aus.

     1. Wählen Sie **Auffüllen**, um alle Werte im Datenbankverbindungsdialogfeld von Secrets Manager automatisch auszufüllen.

     Hinweise zur Verwendung von Datenbankanmeldedaten von Secrets Manager finden Sie unter[Konfiguration AWS Secrets Manager in der AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md).
   + Gehen Sie wie folgt vor, um die Verbindungsinformationen zur Microsoft SQL Server-Quelldatenbank manuell einzugeben:  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html)

1. Wählen Sie **Verbindung testen**, um zu überprüfen, ob eine Verbindung zu Ihrer Quelldatenbank hergestellt werden AWS SCT kann. 

1. Wählen Sie **Connect**, um eine Verbindung zu Ihrer Quelldatenbank herzustellen.