Usando o Microsoft SQL Server como fonte paraAWS 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 fonte paraAWS SCT

Você pode usarAWS SCTpara converter esquemas, objetos de código de banco de dados e código de aplicativo do SQL Server para os seguintes destinos:

  • Amazon RDS para MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS para PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

  • Amazon RDS for SQL Server

  • Amazon RDS para MariaDB

Você pode usarAWS SCTpara 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 for Aurora PostgreSQL, conforme descrito a seguir.

Privilégios do Microsoft SQL Server como uma fonte

Os privilégios obrigatórios para Microsoft SQL Server como origem são listados a seguir:

  • VIEW DEFINITION

  • VIEW DATABASE STATE

OVIEW DEFINITIONo privilégio permite que usuários com acesso público vejam as definições de objetos.AWS SCTusa oVIEW DATABASE STATEprivilégio de verificar os recursos 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 nomasterbanco de dados

  • VIEW SERVER STATE

  • VER QUALQUER DEFINIÇÃO

AWS SCTusa oVIEW SERVER STATEprivilégio de coletar configurações e configurações do servidor. Verifique se você conceder oVIEW ANY DEFINITIONprivilégio de visualizar os endpoints.

Para ler informações sobre o Microsoft Analysis Services, execute o comando a seguir nomasterbanco de dados

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

No exemplo anterior, substitua a<user_name>espaço reservado com o 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 àSQLAgentUserfunção do Execute o seguinte comando nomsdbbanco de dados

EXEC sp_addrolemember <SQLAgentRole>, <user_name>;

No exemplo anterior, substitua a<SQLAgentRole>espaço reservado com o nome da função SQL Server Agent. Em seguida, substitua o<user_name>espaço reservado com o nome do usuário que você concedeu com os privilégios anteriores. Para obter mais informações, consulte:Adicionar um usuário ao SQLAgentUser funçãonaManual do usuário do Amazon RDS.

Para detectar o envio de registros, conceda oSELECT on dbo.log_shipping_primary_databasesprivilégio nomsdbbanco de dados

Para usar a abordagem de notificação da replicação de DDL, conceda aRECEIVE ON <schema_name>.<queue_name>privilégio em seus bancos de dados de origem. Neste exemplo, substitua o<schema_name>espaço reservado com o nome do esquema de seu banco de dados. Em seguida, substitua o<queue_name>espaço reservado com o nome de uma tabela de filas.

Usando a Autenticação do Windows ao usar o Microsoft SQL Server como fonte

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

Usar 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. As credenciais de autenticação do Windows, como nome de usuário e senha, não são especificadas automaticamente 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 em vez disso.

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.

    Osqljdbc_auth.dllos arquivos são instalados no seguinte local:

    <diretório de instalação>\sqljdbc_<versão>\<linguagem>\auth\

Quando você tenta estabelecer uma conexão com o banco de dados do SQL Server usando a Autenticação do Windows, você pode receber este erro: Esse 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 você estiver executando um sistema operacional de 32 bits) ouD\lib\JDBC4.1\enu\auth\x64(se você estiver executando um sistema operacional de 64 bits). É aqui que seusqljdbc_auth.dllestá localizado.

  • Copiarsqljdbc_auth.dllpara a pasta em que seu 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 pasta da biblioteca JDBC, você tenha somente o arquivo SQLJDBC4.jar. Remova quaisquer outros arquivos sqljdbc*.jar dessa pasta (ou copie-os para outra pasta). Se você estiver adicionando o driver como parte do seu programa, certifique-se de adicionar somente 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.

Conexão ao SQL Server como uma fonte

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. NoAWS Schema Conversion Tool, escolhaAdicionar fonte.

  2. EscolhaMicrosoft SQL Servere, em seguida, escolhaPróximo.

    OAdicionar fonteUma caixa de diálogo é exibida.

  3. ParaNome da conexão, insira um nome para o seu banco de dados.AWS SCTexibe esse nome na árvore no painel esquerdo.

  4. Use credenciais de banco de dadosAWS Secrets Managerou insira-os manualmente:

    • Para usar as credenciais do banco de dados do Secrets Manager, use as seguintes instruções:

      1. ParaSeccedimento do, escolha o nome do segredo.

      2. EscolhaPreencherpara preencher automaticamente todos os valores na caixa de diálogo de conexão do banco de dados do Secrets Manager.

      Para obter mais informações sobre como usar credenciais de banco de dados do Secrets ManagerUsar 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 na tabela a seguir.

      Para este parâmetro Faça o seguinte
      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.

      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 emAutenticaçãoeAutenticação SQL Server.

      Nome de usuário e Senha

      Digite o nome de usuário e a senha para se conectar ao servidor de banco de dados de origem.

      AWS SCTusa 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 evitar a exposição da senha do seu banco de dados de origem,AWS SCTnã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 SSL (Secure Sockets Layer) para conectar-se ao banco de dados. Forneça as seguintes informações adicionais, conforme apropriado, na guia SSL:

      • Certificado de servidor de confiança: Selecione essa opção para confiar no certificado do servidor.

      • Loja: A localização de uma loja fiduciária contendo certificados. Para que esse local apareça naConfigurações globaisseção, certifique-se de adicioná-la.

      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, consulteBaixando 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, consulteArmazenando caminhos de driver nas configurações globais

      Biblioteca de autenticação do Windows

      Insira o caminho para osqljdbc_auth.dllarquivo Por padrão, esse arquivo é instalado no seguinte local:

      <installation directory of the JDBC driver>sqljdbc_<version>\<language>\auth\

  5. EscolhaTestes de conexãopara verificar queAWS SCTpode se conectar ao seu banco de dados de origem.

  6. EscolhaConecte-separa se conectar ao seu banco de dados de origem.