Menyinkronkan pengguna database dan objek dengan replika baca SQL Server - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyinkronkan pengguna database dan objek dengan replika baca SQL Server

Setiap login, peran server kustom, pekerjaan SQL agen, atau objek tingkat server lainnya yang ada di instans DB utama pada saat membuat replika baca diharapkan hadir dalam replika baca yang baru dibuat. Namun, objek tingkat server apa pun yang dibuat dalam instans DB utama setelah pembuatan replika baca tidak akan direplikasi secara otomatis, dan Anda harus membuatnya secara manual di replika baca.

Pengguna basis data secara otomatis direplikasi dari instans DB primer ke replika baca. Karena database replika baca dalam mode hanya-baca, pengidentifikasi keamanan (SID) dari pengguna database tidak dapat diperbarui dalam database. Oleh karena itu, saat membuat SQL login di replika baca, penting untuk memastikan bahwa login tersebut SID cocok dengan login yang sesuai di SQL instans DB utama. SID Jika Anda tidak SIDs menyinkronkan SQL login, mereka tidak akan dapat mengakses database dalam replika baca. Login Terautentikasi Windows Active Directory (AD) tidak mengalami masalah ini karena SQL Server memperoleh SID dari Direktori Aktif.

Untuk menyinkronkan SQL login dari instans DB utama ke replika baca
  1. Hubungkan ke instans DB utama.

  2. Buat SQL login baru di instans DB utama.

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

    Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.

  3. Buat pengguna database baru untuk SQL login di database.

    USE [REPLACE WITH YOUR DB NAME] GO CREATE USER TestLogin1 FOR LOGIN TestLogin1; GO
  4. Periksa SQL login SID yang baru dibuat di instans DB primer.

    SELECT name, sid FROM sys.server_principals WHERE name = TestLogin1;
  5. Hubungkan ke replika baca. Buat SQL login baru.

    CREATE LOGIN TestLogin1 WITH PASSWORD = 'REPLACE WITH PASSWORD', SID=[REPLACE WITH sid FROM STEP #4];
Sebagai alternatif, jika Anda memiliki akses ke basis data replika baca, Anda dapat memperbaiki pengguna yatim piatu sebagai berikut:
  1. Hubungkan ke replika baca.

  2. Identifikasi pengguna yatim piatu dalam basis data.

    USE [REPLACE WITH YOUR DB NAME] GO EXEC sp_change_users_login 'Report'; GO
  3. Buat SQL login baru untuk pengguna database yatim piatu.

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

    Contoh:

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

    Tetapkan kata sandi selain penggugah (prompt) yang ditampilkan di sini sebagai praktik terbaik keamanan.