Usando o Microsoft SQL Server como origem para AWS SCT - AWS Schema Conversion Tool

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando o Microsoft SQL Server como origem para AWS SCT

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.

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 <user_name> pelo nome do usuário que você concedeu com os privilégios anteriores.

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 <SQLAgentRole> pelo nome do perfil do SQL Server Agent. Em seguida, substitua o espaço reservado <user_name> 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.

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 <schema_name>.<queue_name> em seus bancos de dados de origem. Neste exemplo, substitua o espaço reservado <schema_name> pelo nome do esquema do banco de dados. Substitua o espaço reservado <queue_name> pelo nome de uma tabela de filas.

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.

  1. Instalar o driver de JDBC.

  2. 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) ou D\lib\JDBC4.1\enu\auth\x64 (se estiver executando um sistema operacional de 64 bits). É aqui que o seu sqljdbc_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
  1. Na AWS Schema Conversion Tool, escolha Adicionar origem.

  2. Escolha Microsoft SQL Server e, em seguida, escolha Avançar.

    A caixa de diálogo Adicionar origem é exibida.

  3. Em Nome da conexão, insira um nome para o banco de dados. A AWS SCT exibe esse nome na árvore no painel esquerdo.

  4. 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:

      1. Em AWS Secret, escolha o nome do segredo.

      2. 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 Usar o AWS Secrets Manager.

    • 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
      Server name

      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]
      Server port

      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 obter mais informações, consulte Baixar os drivers de banco de dados necessários.

      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 obter 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\

  5. Escolha Testar conexão para verificar se a AWS SCT pode se conectar ao banco de dados de origem.

  6. Escolha Conectar para se conectar ao banco de dados de origem.