Sincronizzazione degli utenti e degli oggetti del database con una replica di lettura SQL del server - Amazon Relational Database Service

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à.

Sincronizzazione degli utenti e degli oggetti del database con una replica di lettura SQL del server

Tutti gli accessi, i ruoli server personalizzati, i job degli SQL agenti o altri oggetti a livello di server presenti nell'istanza DB primaria al momento della creazione di una replica di lettura dovrebbero essere presenti nella replica di lettura appena creata. Tuttavia, tutti gli oggetti a livello di server creati nell'istanza database primaria dopo la creazione della replica di lettura non verranno replicati automaticamente ed è necessario crearli manualmente nella replica di lettura.

Gli utenti del database vengono replicati automaticamente dall'istanza database primaria nella replica di lettura. Poiché il database di replica di lettura è in modalità di sola lettura, l'identificatore di sicurezza (SID) dell'utente del database non può essere aggiornato nel database. Pertanto, quando si creano gli SQL accessi nella replica di lettura, è essenziale assicurarsi che il login SID di tale accesso corrisponda al SQL login corrispondente nell'SIDistanza DB principale. Se non sincronizzi gli SQL accessi, non saranno in grado SIDs di accedere al database nella replica di lettura. Gli accessi autenticati di Windows Active Directory (AD) non presentano questo problema perché il SQL server li ottiene da Active Directory. SID

Per sincronizzare un SQL accesso dall'istanza DB primaria alla replica di lettura
  1. Eseguire la connessione all'istanza database primaria.

  2. Crea un nuovo SQL accesso nell'istanza DB principale.

    USE [master] GO CREATE LOGIN TestLogin1 WITH PASSWORD = 'REPLACE WITH PASSWORD';
    Nota

    Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.

  3. Crea un nuovo utente del database per l'SQLaccesso al database.

    USE [REPLACE WITH YOUR DB NAME] GO CREATE USER TestLogin1 FOR LOGIN TestLogin1; GO
  4. Controlla il SID SQL login appena creato nell'istanza database principale.

    SELECT name, sid FROM sys.server_principals WHERE name = TestLogin1;
  5. Connettersi alla replica di lettura. Crea il nuovo SQL accesso.

    CREATE LOGIN TestLogin1 WITH PASSWORD = 'REPLACE WITH PASSWORD', SID=[REPLACE WITH sid FROM STEP #4];
In alternativa, se si dispone dell'accesso al database delle repliche di lettura, è possibile correggere l'utente orfano come segue:
  1. Connettersi alla replica di lettura.

  2. Individuare gli utenti orfani nel database.

    USE [REPLACE WITH YOUR DB NAME] GO EXEC sp_change_users_login 'Report'; GO
  3. Crea un nuovo SQL accesso per l'utente orfano del database.

    CREATE LOGIN TestLogin1 WITH PASSWORD = 'REPLACE WITH PASSWORD', SID=[REPLACE WITH sid FROM STEP #2];

    Esempio:

    CREATE LOGIN TestLogin1 WITH PASSWORD = 'TestPa$$word#1', SID=[0x1A2B3C4D5E6F7G8H9I0J1K2L3M4N5O6P];
    Nota

    Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.