Le repliche in lettura di Amazon Relational Database Service (Amazon RDS) per Microsoft SQL Server replicano in modo asincrono le modifiche all'istanza primaria. I miei dati di accesso non vengono sincronizzati quando creo un'istanza. Desidero creare e sincronizzare gli accessi quando creo un'istanza.
Risoluzione
Crea un accesso SQL sull'istanza primaria e sincronizza l'accesso con una replica in lettura
Le istanze del motore di database autenticano gli accessi di SQL Server e memorizzano le password di accesso nel database primario. Puoi mappare gli accessi SQL a un utente del database in un database o a utenti diversi in database diversi. Gli accessi e gli utenti generano un ID di istruzione (SID) univoco. Quando sincronizzi gli accessi sulla replica in lettura, assicurati che il SID di accesso corrisponda al SID sull'istanza primaria.
Per creare un accesso SQL sull'istanza primaria e sincronizzare l'accesso con una replica in lettura, completa i seguenti passaggi:
-
Esegui la seguente query sull'istanza primaria per creare un accesso a SQL Server denominato testlogin:
USE [master]
GO
CREATE LOGIN [testlogin] WITH PASSWORD=N'Pa$$word';
-
Esegui la seguente query sull'istanza primaria per verificare di avervi creato testlogin:
SELECT name FROM sys.sql_logins WHERE name = 'testlogin';
-
Esegui la seguente query sull'istanza primaria per trovare il SID che mappa a testlogin:
SELECT name, sid FROM sys.sql_logins WHERE name = 'testlogin';
Esempio di output:
name sid
-------------------------------------------------------------------------------
testlogin 0xEBF23823BDEAED42823C76C8706F4B6B
-
Esegui la seguente query sulla replica in lettura per creare un nuovo accesso denominato testlogin che mappa al SID dall'istanza primaria:
CREATE Login testlogin WITH password = N'Pa$$word', SID = 0xEBF23823BDEAED42823C76C8706F4B6B;
-
Esegui la seguente query sulla replica in lettura per verificare di aver creato il nuovo accesso con lo stesso SID dell'istanza primaria:
SELECT name, sid FROM sys.sql_logins WHERE name = 'testlogin';
Crea un accesso Windows su un'istanza primaria e sulla replica in lettura
Gli accessi a SQL Server autenticati da Windows sono accessi a livello di istanza in cui il sistema operativo (OS) gestisce l'autenticazione. Puoi mappare gli accessi Windows all'account AWS di un utente, a un gruppo di sicurezza locale o a un account di dominio.
Per creare un accesso Windows sull'istanza primaria e sulla replica in lettura, completa i seguenti passaggi:
-
Esegui la seguente query sull'istanza primaria per creare un accesso a Windows denominato SQLAD\user1:
CREATE LOGIN [SQLAD\user1] FROM WINDOWS
WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO
-
Esegui il seguente comando sulla replica in lettura per creare un accesso denominato SQLAD\user1:
CREATE LOGIN [SQLAD\user1] FROM WINDOWS
WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO
Nota: Amazon RDS non fornisce autorizzazioni di alto livello su un database primario. Pertanto, non puoi utilizzare le procedure di archiviazione esadecimale sp_help_revlogin or sp_hexadecimal fornite da Microsoft per generare accessi in Amazon RDS.