INF: Cross-Database kepemilikan Chaining perubahan perilaku dalam SQL Server 2000 Paket Layanan 3

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 810474 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Microsoft SQL Server paket layanan 3 (SP3) menyediakan baru peningkatan keamanan terkait pilihan untuk mengkonfigurasi database salib kepemilikan chaining, Mengaktifkan lintas-database kepemilikan chaining untuk semua database selama penataan. Artikel ini membahas kepemilikan lintas-database chaining perilaku dalam SQL Server 2000 SP3. Dengan opsi baru ini, Anda dapat mengontrol Apakah Anda mengizinkan lintas-database kepemilikan chaining. Secara default, ini pilihan dinonaktifkan. Microsoft menganjurkan agar Anda menggunakan opsi default, karena itu membuat server database Anda lebih aman.

INFORMASI LEBIH LANJUT

Kepemilikan Chaining

Secara default, semua database objek memiliki pemilik. Ketika suatu objek seperti sebagai tampilan, prosedur yang disimpan, atau fungsi ditetapkan pengguna referensi lain objek, rantai kepemilikan didirikan. Sebagai contoh, sebuah tabel yang dimiliki oleh pengguna yang sama. Ketika pengguna yang sama memiliki objek sumber, lihat, disimpan prosedur, atau fungsi ditetapkan pengguna, dan semua objek target (mendasari tabel, pandangan, atau objek lain), rantai kepemilikan dikatakan terputus. Ketika rantai kepemilikan terputus, SQL Server akan memeriksa hak akses pada objek sumber tapi tidak pada target objek.

Cross-Database kepemilikan Chaining

Cross-database kepemilikan chaining terjadi ketika objek sumber tergantung pada objek dalam database lain. Karya-karya rantai kepemilikan lintas-database dalam satu cara sebagai kepemilikan chaining dalam database, kecuali bahwa terputus rantai kepemilikan didasarkan pada semua pemilik objek yang dipetakan ke sama akun login. Oleh karena itu, dalam rantai kepemilikan lintas-database, jika sumber objek dalam database sumber dan target objek dalam database target dimiliki oleh account login yang sama, SQL Server tidak memeriksa hak akses pada target objek.

Jika Anda memiliki lebih dari satu database yang digunakan oleh aplikasi, dan bahwa aplikasi panggilan disimpan prosedur atau dilihat di database yang didasarkan pada objek dalam database lain, lalu lintas-database kepemilikan chaining digunakan. Aplikasi yang mengandalkan lintas-database kepemilikan chaining dapat menghasilkan izin ditolak kesalahan jika lintas-database kepemilikan chaining pilihan dimatikan.

Risiko yang terkait dengan Cross-Database kepemilikan Chaining

Microsoft menganjurkan Anda untuk menonaktifkan kepemilikan lintas-database chaining pilihan karena tindakan yang sangat istimewa pengguna dapat melakukan:
  • Database pemilik dan anggota db_ddladmin atau db_owners database peran dapat membuat objek yang dimiliki oleh pengguna lain. Objek ini berpotensi dapat menargetkan objek dalam database lainnya. Ini berarti Jika Anda mengaktifkan lintas-database kepemilikan chaining, Anda harus benar-benar percaya pengguna ini dengan data di semua database. Untuk mengidentifikasi anggota db_ddladmin dan db_owners peran dalam database saat ini, jalankan berikut Transact-SQL perintah:
    exec sp_helprolemember 'db_ddladmin' exec sp_helprolemember 'db_owner'
  • Pengguna dengan izin buat DATABASE dapat membuat baru database dan melampirkan ada database. Jika lintas-database kepemilikan chaining adalah diaktifkan, para pengguna dapat mengakses objek dalam database lain dari baru database dibuat atau terlampir.
Meskipun Microsoft menganjurkan bahwa Anda mematikan lintas-database kepemilikan chaining untuk keamanan maksimal, ada beberapa lingkungan di mana Anda dapat benar-benar percaya Anda sangat istimewa pengguna; oleh karena itu, Anda dapat mengaktifkan salib database kepemilikan untuk database khusus untuk memenuhi persyaratan aplikasi tertentu.

Cara mengkonfigurasi Cross-Database kepemilikan Chaining selama Setup

Dalam Setup Microsoft SQL Server paket layanan 3 (SP3), sebuah dialog yang baru kotak telah ditambahkan untuk memungkinkan administrator sistem untuk mengontrol apakah Salib database kepemilikan chaining akan diijinkan. Jika Anda memilih Mengaktifkan lintas-database kepemilikan chaining untuk semua database selama penataan SQL Server 2000 SP3, Anda memungkinkan ini pilihan di semua database. Ini adalah perilaku default sebelum SQL Server 2000 SP3. Terlepas dari pilihan yang Anda pilih selama penataan, Anda dapat kemudian mengubah server dan database dukungan untuk cross-database kepemilikan chaining baik dengan menggunakan perintah Transact-SQL atau dari SQL Server Enterprise Manager.

Cara mengkonfigurasi Cross-Database kepemilikan Chaining setelah instalasi

Untuk mengubah kepemilikan lintas-database chaining konfigurasi, menggunakan pilihan baru di sp_configure dan sp_dboption disimpan prosedur.

Catatan Jika Anda melepaskan dan kemudian kembali database, Anda harus mengaktifkan kembali salib-database kepemilikan chaining.
  • Konfigurasi database salib kepemilikan chaining dengan menggunakan perintah Transact-SQL:
    • Mengkonfigurasi lintas-database kepemilikan chaining dukungan untuk contoh SQL Server dengan yang baru Salib DB kepemilikan Chaining opsi untuk sp_configure. Bila opsi ini diatur ke 0, Anda dapat mengontrol lintas-database kepemilikan chaining tingkat database dengan menggunakan sp_dboption. Bila opsi ini diatur ke 1, Anda tidak dapat membatasi lintas-database kepemilikan chaining. Ini adalah pra-SQL Server 2000 SP3 perilaku. Jika Anda mengubah pilihan ini, termasuk mengkonfigurasi ulang pilihan untuk mengkonfigurasi ulang contoh tanpa harus restart. Sebagai contoh, gunakan perintah berikut untuk memungkinkan lintas-database kepemilikan chaining dalam semua database:
      EXEC sp_configure 'Cross DB Ownership Chaining', '1'; RECONFIGURE 
      
    • Mengkonfigurasi lintas-database kepemilikan chaining di database tingkat dengan yang baru DB chaining opsi untuk sp_dboption. Bila opsi ini diatur ke false, database tidak berpartisipasi dalam database salib kepemilikan chaining baik sebagai sumber atau target database. Bila opsi ini disetel true, database dapat berpartisipasi dalam rantai kepemilikan lintas-database. Secara default, opsi ini palsu untuk semua pengguna database setelah Anda menerapkan SQL Server 2000 SP3. Perintah berikut memungkinkan lintas-database kepemilikan chaining untuk Northwind database:
      EXEC sp_dboption 'Northwind', 'db chaining', 'true'

    Efek sp_dboption yang diwujudkan hanya ketika sp_configure Salib DB kepemilikan Chaining pilihan diatur ke 0. Juga, untuk mengaktifkan lintas-database kepemilikan chaining tingkat database, Anda harus mengaktifkan opsi ini pada kedua sumber dan target database.
  • Konfigurasi database salib kepemilikan chaining dengan menggunakan SQL Enterprise Manager:
    • Untuk mengatur pilihan ini untuk semua database, ikuti langkah-langkah:
      1. Klik kanan <server></server>.
      2. Klik untuk memilih Properti.
      3. Klik Keamanan.
      4. Klik untuk memilih Memungkinkan lintas-database kepemilikan chaining dalam Kepemilikan chainingbagian.
      5. Klik Baiklah. Anda akan diminta untuk menghentikan dan me-restart layanan SQL Server.
      6. Klik Oke .
    • Untuk mengaktifkan opsi ini di tingkat database, ikuti langkah-langkah berikut:
      1. Klik kanan <database></database>.
      2. Klik untuk memilih Properti.
      3. Klik Opsi.
      4. Klik untuk memilih Memungkinkan salib Database Kepemilikan Chaining dalam Tataan bagian

Properti

ID Artikel: 810474 - Kajian Terakhir: 03 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 2000 Service Pack 3
Kata kunci: 
kbproductlink kbinfo kbsysadmin kbupgrade kbsqlserv2000sp3fea kbmt KB810474 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:810474

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com