Conexão aos Microsoft SQL Servers com o AWS Schema Conversion Tool
Você pode usar a AWS SCT para converter esquemas, objetos de código de banco de dados e o código de aplicativo do SQL Server para os seguintes destinos:
Amazon RDS para MySQL
Amazon Aurora Edição Compatível com MySQL
Amazon RDS para PostgreSQL
Amazon Aurora Edição Compatível com PostgreSQL
Amazon RDS para SQL Server
Amazon RDS para MariaDB
nota
A AWS SCT não oferece suporte ao uso do Amazon RDS para SQL server como origem.
Você pode usar a AWS SCT para criar um relatório de avaliação para a migração de esquemas, objetos de código de banco de dados e código de aplicativo do SQL Server para o Babelfish para Aurora PostgreSQL, conforme descrito a seguir.
Tópicos
- Privilégios do Microsoft SQL Server como origem
- Usando a autenticação do Windows ao usar o Microsoft SQL Server como origem
- Conectando-se ao SQL Server como origem
- Convertendo o SQL Server em MySQL
- Migrar do SQL Server para o PostgreSQL com o AWS Schema Conversion Tool
- Migrar do SQL Server para o Amazon RDS para SQL Server com o AWS Schema Conversion Tool
Privilégios do Microsoft SQL Server como origem
Os privilégios obrigatórios para Microsoft SQL Server como origem são listados a seguir:
-
VIEW DEFINITION
-
VIEW DATABASE STATE
O privilégio VIEW DEFINITION
permite que usuários com acesso público vejam as definições de objetos. A AWS SCT usa o privilégio VIEW DATABASE STATE
para verificar os atributos da edição SQL Server Enterprise.
Repetir a concessão para cada banco de dados cujo esquema que você está convertendo.
Além disso, conceda os seguintes privilégios no banco de dados master
:
-
VIEW SERVER STATE
-
VIEW ANY DEFINITION
A AWS SCT usa o privilégio VIEW SERVER STATE
para coletar as definições e configurações do servidor. Certifique-se de conceder o privilégio VIEW ANY DEFINITION
de visualizar endpoints.
Para ler as informações sobre o Microsoft Analysis Services, execute o comando a seguir no banco de dados master
.
EXEC master..sp_addsrvrolemember @loginame = N'
<user_name>
', @rolename = N'sysadmin'
No exemplo anterior, substitua o espaço reservado
pelo nome do usuário que você concedeu com os privilégios anteriores.<user_name>
Para ler informações sobre o SQL Server Agent, adicione seu usuário ao perfil SQLAgentUser
. Execute o comando a seguir no banco de dados msdb
.
EXEC sp_addrolemember
<SQLAgentRole>
,<user_name>
;
No exemplo anterior, substitua o espaço reservado
pelo nome do perfil do SQL Server Agent. Em seguida, substitua o espaço reservado <SQLAgentRole>
pelo nome do usuário que você concedeu com os privilégios anteriores. Para obter mais informações, consulte Adicionar um usuário ao perfil SQLAgentUser no Guia do usuário do Amazon RDS.<user_name>
Para detectar o envio de logs, conceda o privilégio SELECT on dbo.log_shipping_primary_databases
no banco de dados msdb
.
Para usar a abordagem de notificação da replicação DDL, conceda o privilégio RECEIVE ON
em seus bancos de dados de origem. Neste exemplo, substitua o espaço reservado <schema_name>
.<queue_name>
pelo nome do esquema do banco de dados. Substitua o espaço reservado <schema_name>
pelo nome de uma tabela de filas.<queue_name>
Usando a autenticação do Windows ao usar o Microsoft SQL Server como origem
Se o seu aplicativo for executado em uma intranet baseada no Windows, você poderá usar a autenticação do Windows para acesso ao banco de dados. A autenticação do Windows usa a identidade atual do Windows estabelecida no thread do sistema operacional para acessar o banco de dados do SQL Server. Em seguida, você pode mapear a identidade do Windows para um banco de dados e para as permissões do SQL Server. Para se conectar ao SQL Server usando a autenticação do Windows, você deve especificar a identidade do Windows que seu aplicativo está usando. Também é necessário conceder o acesso de identidade do Windows ao banco de dados do SQL Server.
O SQL Server possui dois modos de acesso: modo de autenticação do Windows e modo misto. O modo de autenticação do Windows habilita a autenticação do Windows e desabilita a autenticação do SQL Server. O modo misto habilita a autenticação do Windows e a autenticação do SQL Server. A autenticação do Windows está sempre disponível e não pode ser desativada. Para obter mais informações sobre a autenticação do Windows, consulte a documentação do Microsoft Windows.
Um possível exemplo de criação de usuário no TEST_DB é mostrado abaixo.
USE [TEST_DB] CREATE USER [TestUser] FOR LOGIN [TestDomain\TestUser] GRANT VIEW DEFINITION TO [TestUser] GRANT VIEW DATABASE STATE TO [TestUser]
Usando a autenticação do Windows com uma conexão JDBC
O driver JDBC não oferece suporte à autenticação do Windows quando o driver é usado em sistemas operacionais que não sejam Windows. Credenciais de autenticação do Windows, como nome de usuário e senha, não são automaticamente especificados ao se conectar ao SQL Server a partir de sistemas operacionais que não sejam Windows. Nesses casos, os aplicativos devem usar a autenticação do SQL Server.
Na string de conexão JDBC, o parâmetro integratedSecurity
deve ser especificado para se conectar usando a autenticação do Windows. O driver JDBC oferece suporte à autenticação integrada do Windows em sistemas operacionais Windows por meio do parâmetro de string de conexão integratedSecurity
.
Para usar a autenticação integrada.
-
Instalar o driver de JDBC.
-
Copie o arquivo
sqljdbc_auth.dll
para um diretório no caminho do sistema Windows no computador em que o driver JDBC está instalado.Os arquivos
sqljdbc_auth.dll
são instalados no seguinte local:<diretório de instalação>\sqljdbc_<versão>\<linguagem>\auth\
Ao tentar estabelecer uma conexão com o banco de dados do SQL Server usando a autenticação do Windows, você pode receber o erro: Este driver não está configurado para autenticação integrada. Esse problema pode ser resolvido executando as seguintes ações:
Declare duas variáveis que indicam o caminho instalado do seu JDBC:
variable name: SQLJDBC_HOME; variable value: D:\lib\JDBC4.1\enu
(onde seu sqljdbc4.jar existe);variable name: SQLJDBC_AUTH_HOME; variable value: D\lib\JDBC4.1\enu\auth\x86
(se estiver executando um sistema operacional de 32 bits) ouD\lib\JDBC4.1\enu\auth\x64
(se estiver executando um sistema operacional de 64 bits). É aqui que o seusqljdbc_auth.dll
está localizado.-
Copie
sqljdbc_auth.dll
na pasta onde o JDK/JRE está sendo executado. Você pode copiar na pasta lib, bin, etc. Por exemplo, você pode copiar na pasta a seguir.[JDK_INSTALLED_PATH]\bin; [JDK_INSTALLED_PATH]\jre\bin; [JDK_INSTALLED_PATH]\jre\lib; [JDK_INSTALLED_PATH]\lib;
Certifique-se de que na sua pasta da biblioteca JDBC só tenha o arquivo SQLJDBC4.jar. Remova qualquer outro arquivo sqljdbc*.jar dessa pasta (ou copie em outra pasta). Se você estiver adicionando o driver como parte do programa, certifique-se de adicionar apenas o SQLJDBC4.jar como o driver a ser usado.
Copie o arquivo sqljdbc_auth.dll na pasta com o aplicativo.
nota
Se você estiver executando uma Java Virtual Machine (JVM) de 32 bits, use o arquivo sqljdbc_auth.dll na pasta x86, mesmo se o sistema operacional for a versão x64. Se você estiver executando uma JVM de 64 bits em um processador x64, use o arquivo sqljdbc_auth.dll na pasta x64.
Ao se conectar a um banco de dados do SQL Server, você pode escolher a Autenticação do Windows ou a Autenticação do SQL Server para a opção Autenticação.
Conectando-se ao SQL Server como origem
Use o procedimento a seguir para se conectar ao banco de dados de origem do Microsoft SQL Server com a AWS Schema Conversion Tool.
Para conectar-se a um banco de dados de origem do Microsoft SQL Server
-
Na AWS Schema Conversion Tool, escolha Adicionar origem.
-
Escolha Microsoft SQL Server e, em seguida, escolha Avançar.
A caixa de diálogo Adicionar origem é exibida.
-
Em Nome da conexão, insira um nome para o banco de dados. A AWS SCT exibe esse nome na árvore no painel esquerdo.
-
Use as credenciais do banco de dados da AWS Secrets Manager ou insira-as manualmente:
-
Para usar as credenciais do banco de dados do Secrets Manager, use as instruções a seguir:
-
Em AWS Secret, escolha o nome do segredo.
-
Escolha Preencher para preencher automaticamente todos os valores na caixa de diálogo de conexão do banco de dados do Secrets Manager.
Para obter informações sobre o uso de credenciais de banco de dados do Secrets Manager, consulte a Configurar o AWS Secrets Manager no AWS Schema Conversion Tool.
-
-
Para inserir manualmente as informações de conexão do banco de dados de origem do Microsoft SQL Server, use as instruções a seguir:
Parâmetro Ação Nome do servidor Digite o Serviço de Nome de Domínio (DNS) ou o endereço IP do servidor de banco de dados de origem.
Você pode se conectar ao seu banco de dados do SQL Server de origem usando um protocolo de endereço IPv6. Para fazer isso, certifique-se de usar colchetes para inserir o endereço IP, conforme mostrado no exemplo a seguir.
[2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
Porta do servidor Digite a porta usada para se conectar ao servidor de banco de dados de origem.
Nome da instância Digite o nome da instância do banco de dados SQL Server. Para encontrar o nome da instância, execute a consulta
SELECT @@servername;
em seu banco de dados SQL Server.Autenticação Escolha o tipo de autenticação em Autenticação do Windows e Autenticação do SQL Server.
Nome de usuário e Senha Insira as credenciais do banco de dados para se conectar ao seu servidor de banco de dados de origem.
A AWS SCT usa a senha para se conectar ao seu banco de dados de origem somente quando você escolhe se conectar ao seu banco de dados em um projeto. Para proteger-se contra a exposição da senha do banco de dados de origem, a AWS SCT não armazena a senha por padrão. Se fechar o projeto da AWS SCT e abri-lo novamente, você será solicitado a informar a senha para se conectar ao banco de dados de origem, conforme necessário.
Usar SSL Escolha essa opção para usar Secure Sockets Layer (SSL) para se conectar ao banco de dados. Forneça as seguintes informações adicionais, conforme aplicável, na guia SSL:
-
Certificado de servidor confiável: selecione essa opção para confiar no certificado de servidor.
-
Armazenamento de confiança: a localização de um armazenamento de confiança que contém certificados. Para que esse local apareça na seção Configurações globais, certifique-se de adicioná-lo.
Armazenar senha A AWS SCT cria um cofre seguro para armazenar certificados SSL e senhas do banco de dados. Habilitar essa opção permite que você armazene a senha do banco de dados e se conecte rapidamente a ele sem a necessidade de informar a senha.
Caminho do driver Sql Server Digite o caminho para o driver a ser usado para a conexão com o banco de dados de origem. Para ter mais informações, consulte Instalação de drivers JDBC para o AWS Schema Conversion Tool.
Se você armazenar o caminho do driver nas configurações globais do projeto, o caminho do driver não aparecerá na caixa de diálogo de conexão. Para ter mais informações, consulte Armazenamento de caminhos do driver nas configurações globais.
Biblioteca de autenticação do Windows Insira o caminho para o arquivo
sqljdbc_auth.dll
. Por padrão, esse arquivo é instalado no seguinte local:<installation directory of the JDBC driver>
sqljdbc_<version>
\<language>
\auth\ -
-
-
Escolha Testar conexão para verificar se a AWS SCT pode se conectar ao banco de dados de origem.
-
Escolha Conectar para se conectar ao banco de dados de origem.