Dokumen ini menjelaskan cara mengekspor login SQL Server, ID keamanan
(SID), dan hash sandi dari instance Cloud SQL untuk SQL Server menggunakan
prosedur tersimpan sp_help_revlogin.
Saat memigrasikan database atau menyiapkan sinkronisasi database antara instance SQL Server, Anda harus membuat ulang login pengguna di instance tujuan dengan SID dan hash sandi yang cocok. Tindakan ini memastikan bahwa pengguna database tetap dipetakan ke login server yang sesuai dan mempertahankan izin mereka.
Cloud SQL untuk SQL Server menyediakan prosedur tersimpan sp_help_revlogin di database
msdb untuk membuat skrip Transact-SQL (T-SQL) guna membuat ulang login pengguna.
Sebelum memulai
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi flag database, minta administrator untuk memberi Anda peran IAM berikut pada project:
- Cloud SQL Admin (
roles/cloudsql.admin) - Cloud SQL Editor (
roles/cloudsql.editor)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin
cloudsql.instances.update
yang diperlukan untuk
mengonfigurasi flag database.
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Izin database
Pastikan Anda memiliki akses ke peran pengguna SQL Server sqlserver default.
Aktifkan flag database
Untuk menginstal prosedur tersimpan sp_help_revlogin di database msdb, aktifkan flag database cloud sql enable sp_help_revlogin di instance Anda.
KonsolGoogle Cloud
- Di Konsol Google Cloud , buka halaman Instance Cloud SQL.
- Klik nama instance untuk membuka halaman Ringkasan.
- Klik Edit.
- Di bagian Customize your instance, luaskan Flags.
- Klik Tambahkan tanda.
- Pilih cloud sql enable sp_help_revlogin dari daftar flag yang tersedia.
- Tetapkan nilai flag ke on.
- Klik Simpan.
gcloud CLI
Aktifkan flag menggunakan gcloud CLI:
gcloud sql instances patch INSTANCE_NAME \ --database-flags="cloud sql enable sp_help_revlogin=on"
Ganti INSTANCE_NAME dengan nama instance Cloud SQL Anda.
Menghubungkan menggunakan alat klien yang didukung
Prosedur tersimpan sp_help_revlogin menghasilkan skrip CREATE LOGIN
yang dibuat menggunakan pernyataan T-SQL PRINT (pesan informasi), bukan
set hasil tabular (pernyataan SELECT).
Hubungkan ke instance Cloud SQL Anda menggunakan salah satu alat berikut:
- SQL Server Management Studio (SSMS): hubungkan ke instance, jalankan prosedur, dan lihat skrip yang dihasilkan di tab Messages. Atau, tekan Control+T untuk mengubah mode output eksekusi ke Hasil ke Teks sebelum menjalankan kueri.
- Visual Studio Code: hubungkan menggunakan ekstensi MSSQL, jalankan prosedur, dan lihat skrip yang dihasilkan di tab Messages.
Utilitas sqlcmd: hubungkan ke instance dan keluarkan skrip yang dihasilkan langsung ke file SQL:
sqlcmd -S INSTANCE_IP \ -U USERNAME \ -P PASSWORD -d msdb \ -Q "EXEC dbo.sp_help_revlogin" -o output_logins.sqlGanti kode berikut:
INSTANCE_IP: alamat IP instance Cloud SQL Anda.USERNAME: nama pengguna database administratif Anda (sepertisqlserver).PASSWORD: sandi pengguna database Anda.
Mengekspor login menggunakan sp_help_revlogin
Hubungkan ke database msdb dan jalankan prosedur tersimpan sp_help_revlogin.
Untuk mengekspor semua login pelanggan:
EXEC msdb.dbo.sp_help_revlogin;Untuk mengekspor login tertentu:
EXEC msdb.dbo.sp_help_revlogin @login_name = 'LOGIN_NAME';Ganti
LOGIN_NAMEdengan nama login yang akan diekspor.
Membuat ulang login di instance tujuan
- Salin pernyataan
CREATE LOGINyang dihasilkan dari output kueri. - Hubungkan ke instance SQL Server tujuan Anda.
- Jalankan pernyataan yang dihasilkan di jendela kueri atau menggunakan
sqlcmd.
Pernyataan yang dihasilkan membuat login di instance tujuan dengan SID asli, database default, dan hash sandi. Untuk mengetahui informasi selengkapnya tentang pertimbangan saat mentransfer kredensial login di seluruh instance, lihat dokumentasi Microsoft tentang Mentransfer kredensial login dan sandi antar-instance SQL Server.
Batasan dan login yang dikecualikan
sp_help_revlogin secara otomatis mengecualikan jenis login berikut
dari ekspor:
- Google Cloud akun layanan dan akun pengelolaan internal.
- Akun sistem SQL Server internal (login yang diawali dengan
##). - Login yang ditetapkan ke peran server tetap
sysadmin. - Login yang ditetapkan ke peran server administratif yang dibatasi.
Menonaktifkan flag database
Jika Anda tidak lagi memerlukan prosedur tersimpan, tetapkan tanda ke off (atau hapus tanda dari instance):
KonsolGoogle Cloud
- Di Konsol Google Cloud , buka halaman Instance Cloud SQL.
- Klik nama instance untuk membuka halaman Ringkasan.
- Klik Edit.
- Di bagian Customize your instance, luaskan Flags.
- Temukan cloud sql enable sp_help_revlogin dan tetapkan nilainya ke off (atau klik Hapus untuk menghapus tanda).
- Klik Simpan.
gcloud CLI
gcloud sql instances patch INSTANCE_NAME \ --database-flags="cloud sql enable sp_help_revlogin=off"
Jika disetel ke off atau dihapus, Cloud SQL akan otomatis menghapus
dbo.sp_help_revlogin dari database msdb.
Langkah berikutnya
- Untuk mengetahui informasi selengkapnya tentang pengguna SQL Server, lihat Pengguna SQL Server.
- Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi flag database, lihat Mengonfigurasi flag database.
- Untuk mengetahui informasi selengkapnya tentang prosedur tersimpan yang didukung, lihat Prosedur tersimpan SQL Server.
- Untuk mengetahui informasi selengkapnya tentang mentransfer kredensial login dan sandi, lihat Mentransfer kredensial login dan sandi antar-instance SQL Server.