Aracılığıyla paylaş


Sunucu yapılandırması: çapraz veritabanı sahipliği zincirleme

Şunlar için geçerlidir: SQL Server

cross db ownership chaining SQL Server örneği için veritabanları arası sahiplik zincirini yapılandırma seçeneğini kullanın.

Bu sunucu seçeneği, veritabanı düzeyinde veritabanları arası sahiplik zincirini denetlemenize veya tüm veritabanları için veritabanları arası sahiplik zincirine izin vermenizi sağlar:

  • Örnek için kapalı olduğunda cross db ownership chaining (0), veritabanları arası sahiplik zinciri tüm veritabanları için devre dışı bırakılır.

  • Örnek için açık olduğunda cross db ownership chaining (1), veritabanları arası sahiplik zinciri tüm veritabanları için açıktır.

  • Deyiminin yan tümcesini SET kullanarak ALTER DATABASE tek tek veritabanları için veritabanları arası sahiplik zinciri ayarlayabilirsiniz. Yeni bir veritabanı oluşturuyorsanız, deyimini kullanarak CREATE DATABASE yeni veritabanı için veritabanları arası sahiplik zincirleme seçeneğini ayarlayabilirsiniz.

    cross db ownership chaining 1 SQL Server örneği tarafından barındırılan tüm veritabanlarının veritabanları arası sahiplik zincirine katılması gerekmediği ve bu ayarın güvenlik etkilerinin farkında olmadığınız sürece ayarı önerilmez.

Veritabanları arası sahiplik zincirinin durumunu denetleme

Veritabanları arası sahiplik zincirinin geçerli durumunu belirlemek için aşağıdaki sorguyu yürütür:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

sonucu 1 , veritabanları arası sahiplik zincirinin etkinleştirildiğini gösterir.

Veritabanları arası sahiplik zincirini denetleme

Veritabanları arası sahiplik zincirini açmadan veya kapatmadan önce:

  • Veritabanları arası sahiplik zincirini açmak veya kapatmak için sysadmin sabit sunucu rolünün üyesi olmanız gerekir.

  • Bir üretim sunucusunda veritabanları arası sahiplik zincirini kapatmadan önce, değişikliklerin uygulama işlevselliğini etkilemediğinden emin olmak için üçüncü taraf uygulamalar da dahil olmak üzere tüm uygulamaları tam olarak test edin.

  • ile cross db ownership chainingbelirtirsenizRECONFIGURE, sunucu çalışırken seçeneğini değiştirebilirsinizsp_configure.

  • Veritabanları arası sahiplik zinciri gerektiren veritabanlarınız varsa, önerilen yöntem kullanarak cross db ownership chainingörnek için seçeneği kapatmaktırsp_configure; ardından ALTER DATABASE deyimiyle bunu gerektiren tek tek veritabanları için veritabanları arası sahiplik zincirini açın.

Güvenlik riski

SQL Server'da veritabanları arası sahiplik zincirinin etkinleştirilmesi olası bir güvenlik açığına neden olabilir. Bu özellik etkin olduğunda, yükseltilmiş ayrıcalıklara sahip bir yerel veritabanı kullanıcısı izinleri ilerletmek ve sysadmin erişimi elde etmek için sahiplik zincirinden yararlanabilir.

Örnek düzeyinde veritabanları arası sahiplik zincirini etkinleştirmekten kaçınmalı ve kullanımını yalnızca güvenilen, ilgili veritabanlarıyla kısıtlamalısınız.