

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Vous pouvez l'utiliser AWS SCT pour convertir des schémas, des objets de code de base de données et du code d'application de SQL Server vers les cibles suivantes : 
+ Amazon RDS for MySQL
+ Amazon Aurora MySQL-Compatible Edition
+ Amazon RDS pour PostgreSQL
+ Amazon Aurora PostgreSQL-Compatible Edition
+ Amazon RDS for SQL Server
+ Amazon RDS for MariaDB

**Note**  
AWS SCT ne prend pas en charge l'utilisation d'Amazon RDS pour SQL Server en tant que source.

Vous pouvez l'utiliser AWS SCT pour créer un rapport d'évaluation pour la migration de schémas, d'objets de code de base de données et de code d'application de SQL Server vers Babelfish pour Aurora PostgreSQL, comme décrit ci-dessous.

**Topics**
+ [Privilèges pour Microsoft SQL Server en tant que source](#CHAP_Source.SQLServer.Permissions)
+ [Utilisation de l'authentification Windows lors de l'utilisation de Microsoft SQL Server comme source](#CHAP_Source.SQLServer.Permissions.WinAuth)
+ [Connexion à SQL Server en tant que source](#CHAP_Source.SQLServer.Connecting)
+ [Conversion de SQL Server en MySQL](CHAP_Source.SQLServer.ToMySQL.md)
+ [Migration de SQL Server vers PostgreSQL avec AWS Schema Conversion Tool](CHAP_Source.SQLServer.ToPostgreSQL.md)
+ [Migration de SQL Server vers Amazon RDS for SQL Server avec AWS Schema Conversion Tool](CHAP_Source.SQLServer.ToRDSSQLServer.md)

## Privilèges pour Microsoft SQL Server en tant que source
<a name="CHAP_Source.SQLServer.Permissions"></a>

Les privilèges requis pour Microsoft SQL Server en tant que source sont les suivants : 
+ VIEW DEFINITION
+ VIEW DATABASE STATE

Ce `VIEW DEFINITION` privilège permet aux utilisateurs disposant d'un accès public de consulter les définitions des objets. AWS SCT utilise le `VIEW DATABASE STATE` privilège pour vérifier les fonctionnalités de l'édition Enterprise de SQL Server.

Répétez l'octroi pour chaque base de données dont vous convertissez le schéma.

En outre, accordez les privilèges suivants sur la base de données `master` :
+ VIEW SERVER STATE
+ VIEW ANY DEFINITION

AWS SCT utilise le `VIEW SERVER STATE` privilège pour collecter les paramètres et la configuration du serveur. Assurez-vous d'accorder le `VIEW ANY DEFINITION` privilège d'afficher les points de terminaison.

Pour lire des informations sur Microsoft Analysis Services, exécutez la commande suivante sur la base de données `master`.

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

Dans l'exemple précédent, remplacez l'`{{<user_name>}}`espace réservé par le nom de l'utilisateur auquel vous avez accordé les privilèges précédents.

Pour lire des informations sur l'agent SQL Server, ajoutez votre utilisateur au `SQLAgentUser` rôle. Exécutez la commande suivante sur la base de données `msdb`.

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

Dans l’exemple précédent, remplacez l’espace réservé `{{<SQLAgentRole>}}` par le nom du rôle SQL Server Agent. Remplacez ensuite l'`{{<user_name>}}`espace réservé par le nom de l'utilisateur auquel vous avez accordé les privilèges précédents. Pour plus d'informations, consultez la section [Ajouter un utilisateur au rôle SQLAgent d'utilisateur](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Agent.html#SQLServerAgent.AddUser) dans le *guide de l'utilisateur Amazon RDS*.

Pour détecter l’expédition de journaux, accordez le privilège `SELECT on dbo.log_shipping_primary_databases` sur la base de données `msdb`.

Pour utiliser l'approche de notification de la réplication DDL, accordez le `RECEIVE ON {{<schema_name>}}.{{<queue_name>}}` privilège sur vos bases de données sources. Dans cet exemple, remplacez l’espace réservé `{{<schema_name>}}` par le nom du schéma de la base de données. Remplacez ensuite l’espace réservé `{{<queue_name>}}` par le nom d’une table de file d’attente.

## Utilisation de l'authentification Windows lors de l'utilisation de Microsoft SQL Server comme source
<a name="CHAP_Source.SQLServer.Permissions.WinAuth"></a>

Si votre application s'exécute sur un intranet Windows, vous pouvez utiliser l'authentification Windows pour accéder à la base de données. L'authentification Windows utilise l'identité Windows actuelle établie sur le thread du système d'exploitation pour accéder à la base de données SQL Server. Vous pouvez ensuite faire correspondre l'identité Windows à une base de données et à des permissions SQL Server. Pour vous connecter à SQL Server à l'aide de l'authentification Windows, vous devez spécifier l'identité Windows qu'utilise votre application. Vous devez également accorder l'accès à l'identité Windows à la base de données SQL Server.

SQL Server possède deux modes d'accès : le mode d'authentification Windows et le mode mixte. Le mode d'authentification Windows active l'authentification Windows et désactive l'authentification SQL Server. Le mode mixte active à la fois l'authentification Windows et l'authentification SQL Server. L'authentification Windows est toujours disponible et ne peut pas être désactivée. Pour plus d'informations sur l'authentification Windows, consultez la documentation Microsoft Windows. 

L'exemple ci-dessous illustre un moyen de créer un utilisateur dans TEST\_DB.

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

### Utilisation de l'authentification Windows avec une connexion JDBC
<a name="CHAP_Source.SQLServer.Permissions.WinAuth.JDBC"></a>

Le pilote JDBC ne prend pas en charge l'authentification Windows lorsque le pilote est utilisé sur des systèmes d'exploitation autres que Windows. Les informations d'authentification Windows, telles que le nom d'utilisateur et le mot de passe, ne sont pas spécifiées automatiquement lors de la connexion à SQL Server à partir de systèmes d'exploitation autres que Windows. Dans ce cas, les applications doivent plutôt utiliser l'authentification SQL Server.

Dans la chaîne de connexion JDBC, le paramètre `integratedSecurity` doit être spécifié pour se connecter à l'aide de l'authentification Windows. Le pilote JDBC prend en charge l'authentification Windows intégrée sur les systèmes d'exploitation Windows via le paramètre de chaîne de connexion `integratedSecurity`.

Pour utiliser l'authentification intégrée

1. Installez le pilote JDBC.

1. Copiez le fichier `sqljdbc_auth.dll` dans un répertoire sur le chemin d'accès système Windows sur l'ordinateur où le pilote JDBC est installé.

   Les `sqljdbc_auth.dll` fichiers sont installés à l'emplacement suivant :

   <*répertoire d'installation*>\\sqljdbc\_<*version*>\\<*language*>\\auth\\

Lorsque vous essayez d'établir une connexion à la base de données SQL Server à l'aide de l'authentification Windows, vous pouvez obtenir l'erreur suivante : Ce pilote n'est pas configuré pour l'authentification intégrée. Ce problème peut être résolu à l'aide des actions suivantes :
+ Déclaration de deux variables qui pointent vers le chemin d'accès de votre installation JDBC :

   `variable name: SQLJDBC_HOME; variable value: D:\lib\JDBC4.1\enu`(où se trouve votre fichier sqljdbc4.jar) ;

  `variable name: SQLJDBC_AUTH_HOME; variable value: D\lib\JDBC4.1\enu\auth\x86`(si vous utilisez un système d'exploitation 32 bits) ou `D\lib\JDBC4.1\enu\auth\x64` (si vous utilisez un système d'exploitation 64 bits). C'est ici que se `sqljdbc_auth.dll` trouve le vôtre. 
+ Copiez `sqljdbc_auth.dll` dans le dossier dans lequel vous êtes JDK/JRE en cours d'exécution. Vous pouvez effectuer la copie vers le dossier lib, dans le dossier Bin, etc. Par exemple, vous pouvez copier le fichier dans le dossier suivant.

  ```
  [JDK_INSTALLED_PATH]\bin;
  [JDK_INSTALLED_PATH]\jre\bin;
  [JDK_INSTALLED_PATH]\jre\lib;
  [JDK_INSTALLED_PATH]\lib;
  ```
+ Assurez-vous que le dossier de votre bibliothèque JDBC ne contient que le SQLJDBC4 fichier .jar. Supprimez tous les autres fichiers sqljdbc\*.jar de ce dossier (ou copiez-les dans un autre dossier). Si vous ajoutez le pilote dans le cadre de votre programme, assurez-vous d'ajouter uniquement SQLJDBC4 .jar comme pilote à utiliser.
+ Copie du fichier sqljdbc\_auth.dll dans le dossier contenant votre application.

**Note**  
Si vous exécutez une machine virtuelle Java (JVM) 32 bits, utilisez le fichier sqljdbc\_auth.dll situé dans le dossier x86, même si la version du système d'exploitation est x64. Si vous exécutez une machine virtuelle Java 64 bits sur un processeur x64, utilisez le fichier sqljdbc\_auth.dll dans le dossier x64.

Lorsque vous vous connectez à une base de données SQL Server, vous pouvez choisir l'**authentification Windows** ou l'**authentification SQL Server** comme option d'**authentification**.

## Connexion à SQL Server en tant que source
<a name="CHAP_Source.SQLServer.Connecting"></a>

Utilisez la procédure suivante pour vous connecter à une base de données source Microsoft SQL Server avec le AWS Schema Conversion Tool. 

**Pour vous connecter à une base de données source Microsoft SQL Server**

1. Dans le AWS Schema Conversion Tool, choisissez **Ajouter une source**.

1. Choisissez **Microsoft SQL Server**, puis **Next**. 

   La boîte de dialogue **Ajouter une source** apparaît.

1. Dans **Nom de connexion**, entrez le nom de votre base de données. AWS SCT affiche ce nom dans l'arborescence du panneau de gauche. 

1. Utilisez les informations d'identification de la base de données AWS Secrets Manager ou saisissez-les manuellement :
   + Pour utiliser les informations d'identification de base de données issues de Secrets Manager, suivez les instructions suivantes :

     1. Pour **AWS Secret**, choisissez le nom du secret.

     1. Choisissez **Populer pour renseigner** automatiquement toutes les valeurs dans la boîte de dialogue de connexion à la base de données depuis Secrets Manager.

     Pour plus d'informations sur l'utilisation des informations d'identification de base de données depuis Secrets Manager, consultez[Configuration AWS Secrets Manager dans AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md).
   + Pour saisir manuellement les informations de connexion à la base de données source Microsoft SQL Server, suivez les instructions suivantes :  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html)

1. Choisissez **Tester la connexion** pour vérifier que AWS SCT vous pouvez vous connecter à votre base de données source. 

1. Choisissez **Connect pour vous** connecter à votre base de données source.