Bagikan melalui


Konfigurasi server: rantai kepemilikan lintas db

Berlaku untuk:SQL Server

cross db ownership chaining Gunakan opsi untuk mengonfigurasi rantai kepemilikan lintas database untuk instans SQL Server.

Opsi server ini memungkinkan Anda mengontrol rantai kepemilikan lintas database di tingkat database atau untuk memungkinkan rantai kepemilikan lintas database untuk semua database:

  • Ketika cross db ownership chaining nonaktif (0) untuk instans, rantai kepemilikan lintas database dinonaktifkan untuk semua database.

  • Ketika cross db ownership chaining aktif (1) untuk instans, rantai kepemilikan lintas database aktif untuk semua database.

  • Anda dapat mengatur rantai kepemilikan lintas database untuk database individual menggunakan SET klausul ALTER DATABASE pernyataan. Jika Anda membuat database baru, Anda bisa mengatur opsi rantai kepemilikan lintas database untuk database baru menggunakan pernyataan tersebut CREATE DATABASE .

    Pengaturan cross db ownership chaining ke 1 tidak disarankan kecuali semua database yang dihosting oleh instans SQL Server harus berpartisipasi dalam rantai kepemilikan lintas database dan Anda mengetahui implikasi keamanan pengaturan ini.

Memeriksa status rantai kepemilikan lintas database

Untuk menentukan status rantai kepemilikan lintas database saat ini, jalankan kueri berikut:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Hasil dari 1 menunjukkan bahwa rantai kepemilikan lintas database diaktifkan.

Mengontrol rantai kepemilikan lintas database

Sebelum mengaktifkan atau menonaktifkan rantai kepemilikan lintas database:

  • Anda harus menjadi anggota peran server tetap sysadmin untuk mengaktifkan atau menonaktifkan rantai kepemilikan lintas database.

  • Sebelum menonaktifkan rantai kepemilikan lintas database di server produksi, uji sepenuhnya semua aplikasi, termasuk aplikasi pihak ketiga, untuk memastikan bahwa perubahan tidak memengaruhi fungsionalitas aplikasi.

  • Anda dapat mengubah cross db ownership chaining opsi saat server berjalan jika Anda menentukan RECONFIGURE dengan sp_configure.

  • Jika Anda memiliki database yang memerlukan rantai kepemilikan lintas database, praktik yang disarankan adalah menonaktifkan cross db ownership chaining opsi untuk instans menggunakan sp_configure; lalu, aktifkan rantai kepemilikan lintas database untuk database individual yang memerlukannya dengan pernyataan ALTER DATABASE .

Risiko keamanan

Mengaktifkan rantai kepemilikan lintas database di SQL Server memperkenalkan potensi kerentanan keamanan. Ketika fitur ini aktif, pengguna database lokal dengan hak istimewa yang ditingkatkan dapat mengeksploitasi rantai kepemilikan untuk meningkatkan izin dan berpotensi mendapatkan akses sysadmin .

Anda harus menghindari mengaktifkan rantai kepemilikan lintas database di tingkat instans, dan membatasi penggunaannya hanya untuk database terkait tepercaya.