Utilizzo di Microsoft SQL Server come fonte perAWS SCT - AWS Schema Conversion Tool

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo di Microsoft SQL Server come fonte perAWS SCT

È possibile utilizzareAWS SCTper convertire schemi, oggetti di codice del database e codice dell'applicazione da SQL Server alle seguenti destinazioni:

  • Amazon RDS for MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS for PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

  • Amazon RDS per SQL Server

  • Amazon RDS for MariaDB

Nota

AWS SCTnon supporta l'utilizzo di Amazon RDS per SQL Server come sorgente.

È possibile utilizzareAWS SCTper creare un rapporto di valutazione per la migrazione di schemi, oggetti di codice del database e codice applicativo da SQL Server a Babelfish per Aurora PostgreSQL, come descritto di seguito.

Privilegi per Microsoft SQL Server come fonte

I privilegi richiesti per Microsoft SQL Server come origine sono i seguenti:

  • VIEW DEFINITION

  • VIEW DATABASE STATE

IlVIEW DEFINITIONil privilegio consente agli utenti con accesso pubblico di visualizzare le definizioni degli oggetti.AWS SCTutilizza ilVIEW DATABASE STATEprivilegio per verificare le funzionalità dell'edizione SQL Server Enterprise.

Ripeti l'assegnazione per ogni database di cui desideri convertire lo schema.

Inoltre, concedi i seguenti privilegi sumasterbanca dati:

  • VIEW SERVER STATE

  • VISUALIZZA QUALSIASI DEFINIZIONE

AWS SCTutilizza ilVIEW SERVER STATEprivilegio per raccogliere le impostazioni e la configurazione del server. Assicurati di concedere ilVIEW ANY DEFINITIONprivilegio di visualizzare gli endpoint.

Per leggere informazioni su Microsoft Analysis Services, eseguire il comando seguente damasterdatabase.

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

Nell'esempio precedente, sostituire<user_name>segnaposto con il nome dell'utente a cui hai concesso i privilegi in precedenza.

Per leggere informazioni su SQL Server Agent, aggiungi il tuo utente alSQLAgentUserruolo. Eseguire il comando seguente nelmsdbbanca dati.

EXEC sp_addrolemember <SQLAgentRole>, <user_name>;

Nell'esempio precedente, sostituire<SQLAgentRole>segnaposto con il nome del ruolo di SQL Server Agent. Quindi sostituire il<user_name>segnaposto con il nome dell'utente a cui hai concesso i privilegi in precedenza. Per ulteriori informazioni, consulta la paginaAggiungere un utente a SQLAgentUser ruolonelGuida per l'utente di Amazon RDS.

Per rilevare la spedizione in log, concedi ilSELECT on dbo.log_shipping_primary_databasesprivilegio sulmsdbbanca dati.

Per utilizzare l'approccio di notifica della replica DDL, concediRECEIVE ON <schema_name>.<queue_name>privilegio sui database di origine. In questo esempio, sostituire i<schema_name>segnaposto con il nome dello schema del database. Quindi, sostituisci il<queue_name>segnaposto con il nome di una tabella di coda.

Utilizzo dell'autenticazione di Windows quando si utilizza Microsoft SQL Server come origine

Se la tua applicazione viene eseguita su un'intranet basata su Windows, puoi utilizzare l'autenticazione di Windows per l'accesso al database. Per accedere al database SQL Server, l'autenticazione di Windows utilizza l'identità Windows corrente stabilita sul thread del sistema operativo. Puoi quindi mappare l'identità Windows a un database SQL Server e alle autorizzazioni. Per connettersi a SQL Server utilizzando l'autenticazione di Windows, devi specificare l'identità Windows utilizzata dall'applicazione sta utilizzando. Inoltre, devi concedere l'accesso all'identità Windows al database SQL Server.

SQL Server prevede due modalità di accesso: modalità autenticazione di Windows e modalità mista. La modalità autenticazione di Windows abilita l'autenticazione di Windows e disabilita l'autenticazione di SQL Server. La modalità mista abilita sia l'autenticazione di Windows che l'autenticazione di SQL Server. L'autenticazione di Windows è sempre disponibile e non può essere disattivata. Per ulteriori informazioni sull'autenticazione di Windows, consulta la documentazione di Microsoft Windows.

Di seguito è riportato un possibile esempio di creazione di un utente in TEST_DB

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

Utilizzo dell'autenticazione di Windows con una connessione JDBC

Il driver JDBC non supporta l'autenticazione di Windows se viene utilizzato su sistemi operativi diversi da Windows. Le credenziali di autenticazione di Windows, ad esempio nome utente e password, non vengono specificate automaticamente durante la connessione a SQL Server da sistemi operativi non Windows. In questi casi, le applicazioni devono invece utilizzare l'autenticazione di SQL Server.

Nella stringa di connessione a JDBC, per connettersi utilizzando l'autenticazione di Windows deve essere specificato il parametro integratedSecurity. Il driver JDBC supporta l'autenticazione integrata di Windows su sistemi operativi Windows tramite il parametro della stringa di connessione integratedSecurity.

Per utilizzare l'autenticazione integrata

  1. Installa il driver JDBC.

  2. Copia il file sqljdbc_auth.dll in una directory nel percorso di sistema di Windows sul computer in cui è installato il driver JDBC.

    Ilsqljdbc_auth.dlli file vengono installati nella seguente posizione:

    <directory di installazione>\sqljdbc_<versione>\<lingua>\auth\

Quando tenti di stabilire una connessione al database SQL Server utilizzando l'autenticazione di Windows, potresti ricevere l'errore "Il driver non è configurato per l'autenticazione integrata". Questo problema può essere risolto tramite le operazioni seguenti:

  • dichiarare due variabili che puntano al percorso di installazione del JDBC:

    variable name: SQLJDBC_HOME; variable value: D:\lib\JDBC4.1\enu(dove esiste il file sqljdbc4.jar);

    variable name: SQLJDBC_AUTH_HOME; variable value: D\lib\JDBC4.1\enu\auth\x86(se si utilizza un sistema operativo a 32 bit) oppureD\lib\JDBC4.1\enu\auth\x64(se utilizzi un sistema operativo a 64 bit). È qui che si trovasqljdbc_auth.dllsi trova.

  • Copiasqljdbc_auth.dllnella cartella in cui è in esecuzione il tuo JDK/JRE. è possibile eseguire la copia nella cartella lib, bin, ecc. Ad esempio, è possibile copiare nella cartella seguente.

    [JDK_INSTALLED_PATH]\bin; [JDK_INSTALLED_PATH]\jre\bin; [JDK_INSTALLED_PATH]\jre\lib; [JDK_INSTALLED_PATH]\lib;
  • Assicurati che nella cartella della libreria JDBC sia presente solo il file SQLJDBC4.jar. Rimuovi tutti gli altri file sqljdbc*.jar da quella cartella (o copiali in un'altra cartella). Se state aggiungendo il driver come parte del programma, assicuratevi di aggiungere solo SQLJDBC4.jar come driver da utilizzare.

  • copiare il file sqljdbc_auth.dll nella cartella dell'applicazione.

Nota

Se è in esecuzione una Java Virtual Machine (JVM) a 32 bit, utilizza il file sqljdbc_auth.dll nella cartella x86 anche se la versione del sistema operativo è x64. Se è in esecuzione una JVM a 64 bit su un processore x64, utilizza il file sqljdbc_auth.dll nella cartella x64.

Quando effettui la connessione a un database SQL Server, puoi scegliere Autenticazione Windows o Autenticazione SQL Server per l'opzione Autenticazione.

Connessione a SQL Server come origine

Utilizza la seguente procedura per connetterti al database di origine Microsoft SQL Server con AWS Schema Conversion Tool.

Per connettersi a un database di origine Microsoft SQL Server
  1. NelAWS Schema Conversion Tool, scegliAggiungi fonte.

  2. ScegliMicrosoft SQL Server, quindi scegliAvanti.

    LaAggiungi fonteViene visualizzata la finestra di dialogo.

  3. PerNome della connessione, inserisci un nome per il database.AWS SCTvisualizza questo nome nell'albero nel pannello di sinistra.

  4. Usa le credenziali del database diAWS Secrets Manageroppure inseriscile manualmente:

    • Per utilizzare le credenziali del database di Secrets Manager, utilizzare le seguenti istruzioni:

      1. PerSegreto AWS, scegli il nome del segreto.

      2. ScegliPopolaper inserire automaticamente tutti i valori nella finestra di dialogo di connessione al database da Secrets Manager.

      Per informazioni sull'utilizzo delle credenziali database da Secrets Manager, vedereUtilizzo di AWS Secrets Manager.

    • Per inserire manualmente le informazioni sulla connessione al database di origine di Microsoft SQL Server, utilizzare le seguenti istruzioni:

      Parametro Operazione
      Server name (Nome del server)

      Immetti il nome Domain Name Service (DNS) o l'indirizzo IP del server del database di origine.

      Puoi connetterti al database di SQL Server da dall'istanza database di SQL Server utilizzando un protocollo di indirizzi IPv6. A tale scopo, assicurati di utilizzare parentesi quadre per inserire l'indirizzo IP, come illustrato nell'esempio seguente.

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      Porta del server

      Immetti la porta utilizzata per la connessione al server del database di origine.

      Instance name (Nome dell'istanza)

      Immetti il nome dell'istanza per il database SQL Server. Per trovare il nome dell'istanza, lancia la query SELECT @@servername; sul database SQL Server.

      Autenticazione

      Scegli il tipo di autenticazione traAutenticazione WindowseAutenticazione di SQL Server.

      User name (Nome utente) e Password (Password)

      Inserisci le credenziali database per connetterti al database server di origine.

      AWS SCTutilizza la password per connettersi al database di origine solo quando si sceglie di connettersi al database in un progetto. Per evitare di esporre la password del database di origine,AWS SCTper impostazione predefinita, non memorizza la password. Se chiudi il tuo progetto AWS SCT e lo riapri, ti viene richiesta la password per la connessione al database di origine in base alle necessità.

      Use SSL (Usa SSL)

      Scegli questa opzione per utilizzare Secure Sockets Layer (SSL) per connettersi al database. Fornisci le seguenti informazioni aggiuntive, se applicabili, suSSLscheda:

      • Certificato del server di fiducia: seleziona questa opzione per considerare attendibile il certificato del server.

      • Trust Store: la posizione di un archivio attendibile contenente certificati. Affinché questa posizione appaia nellaImpostazioni globalisezione, assicurati di aggiungerla.

      Memorizza la password

      AWS SCT crea un insieme di credenziali sicure per archiviare i certificati SSL e le password del database. Abilitando questa opzione potrai archiviare la password del database e connetterti in modo rapido al database senza dover inserire la password.

      Sql Server Driver Path (Percorso driver Sql Server)

      Immetti il percorso al driver da utilizzare per la connessione al database di origine. Per ulteriori informazioni, consulta Scaricamento dei driver di database richiesti.

      Se archivi il percorso del driver nelle impostazioni globali del progetto, il percorso del driver non viene visualizzato nella finestra di dialogo della connessione. Per ulteriori informazioni, consulta Memorizzazione dei percorsi dei driver nelle impostazioni globali.

      Libreria di autenticazione di Windows

      Immettete il percorso delsqljdbc_auth.dllfile. Per impostazione predefinita, questo file viene installato nella seguente posizione:

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

  5. ScegliConnessione di provaper verificare cheAWS SCTpuò connettersi al database di origine.

  6. ScegliConnectper connettersi al database di origine.