Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Kapsanan veritabanı, diğer veritabanlarından ve veritabanını barındıran SQL Server örneğinden yalıtılmış bir veritabanıdır. SQL Server, kullanıcının veritabanını örnekten 4 şekilde yalıtmalarına yardımcı olur.
Veritabanını açıklayan meta verilerin çoğu veritabanında tutulur. (Ana veritabanında meta verilerin bakımını yapmaya ek olarak veya bunun yerine.)
Tüm meta veriler aynı harmanlama kullanılarak tanımlanır.
Kullanıcı kimlik doğrulaması veritabanı tarafından gerçekleştirilebilir ve bu da SQL Server örneğinin oturum açma işlemlerine olan veritabanları bağımlılığını azaltır.
SQL Server ortamı (DMV'ler, XEvents, vb.) raporlar ve kapsama bilgileri üzerinde işlem yapabilir.
Meta verileri veritabanında depolama gibi kısmen kapsanan veritabanlarının bazı özellikleri tüm SQL Server veritabanları için geçerlidir. Kısmen kapsanan veritabanlarının veritabanı düzeyinde kimlik doğrulaması ve katalog harmanlaması gibi bazı avantajlarının kullanıma sunulmadan önce etkinleştirilmesi gerekir. Kısmi kapsama, CREATE DATABASE ve ALTER DATABASE deyimleri kullanılarak veya SQL Server Management Studio kullanılarak etkinleştirilir. Kısmi veritabanı kapsamasını etkinleştirme hakkında daha fazla bilgi için bkz. Kısmen Kapsanan Veritabanına Geçiş.
Kısmi Veritabanı Kavramları
Tam kapsamlı bir veritabanı, veritabanını tanımlamak için gereken tüm ayarları ve meta verileri içerir ve veritabanının yüklü olduğu SQL Server Veritabanı Altyapısı örneğinde yapılandırma bağımlılıkları yoktur. SQL Server'ın önceki sürümlerinde, bir veritabanını SQL Server örneğinden ayırmak zaman alabilir ve veritabanı ile SQL Server örneği arasındaki ilişki hakkında ayrıntılı bilgi sahibi olmak gerekebilir. Kısmen kapsanan veritabanları, veritabanını SQL Server örneğinden ve diğer veritabanlarından ayırmayı kolaylaştırır.
İçerikteki veritabanı, kapsama ile ilgili özellikleri dikkate alır. Yalnızca veritabanında bulunan işlevlere dayalı kullanıcı tanımlı herhangi bir varlık tam olarak kapsanmış olarak kabul edilir. Veritabanı dışında bulunan işlevlere dayalı kullanıcı tanımlı herhangi bir varlık, yapılandırılmamış olarak kabul edilir. (Daha fazla bilgi için bu konunun devamında yer alan Kapsama bölümüne bakın.)
Aşağıdaki terimler, kapsanan veritabanı modeli için geçerlidir.
Veritabanı sınırı
Veritabanı ile SQL Server örneği arasındaki sınır. Veritabanı ile diğer veritabanları arasındaki sınır.
Bulunan
Tamamen veritabanı sınırında var olan bir öğe.
Tutarsız
Veritabanı sınırını geçen bir öğe.
İzole edilmemiş veritabanı
Kapsama alanı NONE olarak ayarlanmış bir veritabanı. SQL Server 2012 (11.x) öncesi sürümlerdeki tüm veritabanları bağımsız değildir. Varsayılan olarak, tüm SQL Server 2012 (11.x) ve sonraki veritabanlarında YOK olarak ayarlanmış bir kapsama vardır.
Kısmen kapsanan veritabanı
Kısmen kapsanan veritabanı, veritabanı sınırını aşan bazı özelliklere izin verebilen bir kapsanan veritabanıdır. SQL Server, kapsama sınırının ne zaman aşıldığında belirlenebilmesini içerir.
Sınırlandırılmış kullanıcı
Kapsanan veritabanları için iki tür kullanıcı vardır.
Parolalı bağımsız veritabanı kullanıcısı
Parolaları olan bağımsız veritabanı kullanıcılarının kimliği veritabanı tarafından doğrulanır. Daha fazla bilgi için bkz. Bağımsız Veritabanı Kullanıcıları - Veritabanınızı Taşınabilir Hale Getirme.
Windows sorumluları
Yetkili Windows kullanıcıları ve yetkili Windows gruplarının üyeleri doğrudan veritabanına bağlanabilir ve ana veritabanında oturum açmaya gerek yoktur. Veritabanı, Windows tarafından kimlik doğrulamasına güvenir.
Ana veritabanındaki oturum açma bilgilerini temel alan kullanıcılara kapsanan bir veritabanına erişim verilebilir, ancak bu, SQL Server örneğinde bir bağımlılık oluşturur. Bu nedenle, oturum açma bilgilerini temel alan kullanıcılar oluşturmak için kısmi kapsama gerekir.
Önemli
Kısmen kapsanan veritabanlarının etkinleştirilmesi, SQL Server örneğine erişimi veritabanının sahiplerine devreder. Daha fazla bilgi için bkz. Bağımsız Veritabanları ile En İyi Güvenlik Yöntemleri.
Veritabanı Sınırı
Kısmen kapsanan veritabanları veritabanı işlevselliğini örneğinkilerden ayırdığından, bu iki öğe arasında veritabanı sınırı adı verilen net bir şekilde tanımlanmış bir çizgi vardır.
Veritabanı sınırının içinde veritabanlarının geliştirildiği ve yönetildiği veritabanı modeli bulunur. Veritabanının içinde bulunan varlıklara örnek olarak sys.tables gibi sistem tabloları, parolaları olan veritabanı kullanıcıları ve geçerli veritabanında iki parçalı bir adla başvuruda bulunarak kullanıcı tabloları verilebilir.
Veritabanı sınırının dışında, örnek düzeyinde işlevler ve yönetimle ilgili yönetim modeli bulunur. Veritabanı sınırının dışında bulunan varlıklara örnek olarak sys.endpoints gibi sistem tabloları, oturum açma işlemleriyle eşlenen kullanıcılar ve üç parçalı bir adla başvuruda bulunulduğu başka bir veritabanındaki kullanıcı tabloları verilebilir.
Containment
Tamamen veritabanında bulunan kullanıcı varlıkları kendi içinde yer alan olarak kabul edilir. Veritabanının dışında bulunan veya veritabanının dışındaki işlevlerle etkileşime dayanan tüm varlıklar , tutarsız olarak kabul edilir.
Genel olarak, kullanıcı varlıkları aşağıdaki kapsama kategorilerine girer:
Tam olarak kapsanan kullanıcı varlıkları (veritabanı sınırını hiç geçmeyenler), örneğin sys.indexes. Bu özellikleri kullanan tüm kodlar veya yalnızca bu varlıklara başvuran herhangi bir nesne de tam olarak bulunur.
Örneğin, sys.server_principals veya bir sunucu sorumlusunun (oturum açma) kendisi gibi, bağımsız kullanıcı varlıkları (veritabanı sınırını geçenler). Bu varlıkları veya bu varlıklara başvuran işlevleri kullanan tüm kodlar tutarsız.
Kısmen Kapsanan Veritabanı
Kapsanan veritabanı özelliği şu anda yalnızca kısmen kapsanan bir durumda kullanılabilir. Kısmen kapsanan veritabanı, kapsanmayan özelliklerin kullanılmasına izin veren bir kapsanan veritabanıdır.
Sys.dm_db_uncontained_entities vesys.sql_modules (Transact-SQL) görünümünü kullanarak, kapsanmamış nesneler veya özellikler hakkında bilgi döndürebilirsiniz. Veritabanınızın öğelerinin kapsama durumunu belirleyerek, kapsamayı yükseltmek için hangi nesnelerin veya özelliklerin değiştirilmesi gerektiğini veya değiştirilmesi gerektiğini keşfedebilirsiniz.
Önemli
Bazı nesnelerin varsayılan kapsama ayarı YOK olduğundan, bu görünüm hatalı pozitif değerler döndürebilir.
Kısmen kapsanan veritabanlarının davranışı, harmanlamayla ilgili olarak en çok bağımsız olmayan veritabanlarından farklıdır. Harmanlama sorunları hakkında daha fazla bilgi için bkz. Kapsanan Veritabanı Harmanlamaları.
Kısmen İçeren Veritabanları kullanmanın avantajları
Kısmen kapsanan bir veritabanı kullanılarak çözümlenebilen, kapsanmamış veritabanlarıyla ilişkili sorunlar ve karmaşıklıklar vardır.
Veritabanı Taşıma
Veritabanları taşınırken oluşan sorunlardan biri, bir veritabanı bir örnekten diğerine taşındığında bazı önemli bilgilerin kullanılamayabilmesidir. Örneğin, oturum açma bilgileri veritabanında değil örnekte depolanır. İçerilmeyen bir veritabanını bir örnekten başka bir SQL Server örneğine taşıdığınızda, bu bilgiler geride bırakılır. Eksik bilgileri tanımlamanız ve veritabanınızla birlikte yeni SQL Server örneğine taşımanız gerekir. Bu işlem zor ve zaman alıcı olabilir.
Kısmen izole edilmiş veritabanı, önemli bilgileri veritabanında depolayabilir, böylece veritabanı taşındıktan sonra da bilgileri saklamaya devam eder.
Uyarı
Kısmen kapsanan bir veritabanı, örnekten ayrılamayan bir veritabanı tarafından kullanılan özellikleri açıklayan belgeler sağlayabilir. Bu, diğer birbiriyle ilişkili veritabanlarının listesini, veritabanının gerektirdiği ancak içerilemediği sistem ayarlarını vb. içerir.
Always On Kapsamlı Veritabanı Kullanıcılarının Avantajı
SQL Server örneğine olan bağlantıları azaltarak, Always On kullanılabilirlik gruplarını kullandığınız zaman yük devretme esnasında kısmen kapsanan veritabanları yararlı olabilir.
Bağımsız kullanıcılar oluşturmak, kullanıcının doğrudan kapsanan veritabanına bağlanmasını sağlar. Bu, Always On çözümü gibi yüksek kullanılabilirlik ve olağanüstü durum kurtarma senaryolarında çok önemli bir özelliktir. Eğer kullanıcılar içeriklenmiş kullanıcılar ise, yük devretme durumunda, ikincil sistemi barındıran örnekte oturum açma bilgileri oluşturmadan ikincil sisteme bağlanabilirler. Bu, anında bir avantaj sağlar. Daha fazla bilgi için bkz . Always On Kullanılabilirlik Gruplarına (SQL Server) Genel Bakış ve Always On Kullanılabilirlik Grupları (SQL Server) için Önkoşullar, Kısıtlamalar ve Öneriler.
İlk Veritabanı Geliştirme
Bir geliştirici yeni veritabanının nereye dağıtılacağını bilmediğinden, dağıtılan çevresel etkilerin veritabanı üzerinde sınırlanması geliştiricinin işini ve endişesini azaltacaktır. Bağımsız modelde geliştiricinin yeni veritabanı ve program üzerindeki olası çevresel etkileri buna uygun olarak değerlendirmesi gerekir. Ancak, kısmen kapsanan veritabanlarını kullanan geliştiriciler, veritabanı üzerindeki örnek düzeyi etkilerini ve geliştiricinin örnek düzeyindeki endişelerini algılayabilir.
Veritabanı Yönetimi
Veritabanı ayarlarının ana veritabanında değil veritabanında tutulması, veritabanı sahibine sysadmin izni vermeden her veritabanı sahibinin veritabanı üzerinde daha fazla denetime sahip olması sağlar.
Sınırlamalar
Kısmen kapsanan veritabanları aşağıdaki özelliklere izin vermez.
Çoğaltma, değişiklik veri yakalama veya değişiklik izleme.
Numaralandırılmış prosedürler
Harmanlama değişiklikleriyle yerleşik işlevlere bağımlı şemaya bağlı nesneler
Nesnelere, sütunlara, simgelere veya türlere başvurular da dahil olmak üzere harmanlama değişikliklerinden kaynaklanan bağlama değişikliği.
Uyarı
Geçici saklı prosedürlere şu anda izin verilir. Geçici saklı yordamlar kapsama ihlaline neden olduğundan, kapsanan veritabanının gelecek sürümlerinde desteklenmeleri beklenmemektedir.
Veritabanı Kapsamasını Tanımlama
Veritabanının kapsama durumunu tanımlamaya yardımcı olacak iki araç vardır. sys.dm_db_uncontained_entities (Transact-SQL), veritabanındaki tüm potansiyel olarak yapılandırılmamış varlıkları gösteren bir görünümdür. database_uncontained_usage olayı, çalışma zamanında gerçek bir yapılandırılmamış varlık tanımlandığında gerçekleşir.
sys.dm_db_uncontained_entities
Bu görünüm, veritabanındaki, veritabanı sınırını aşan varlıklar gibi, yapılandırılmamış olma olasılığı olan tüm varlıkları gösterir. Bu, veritabanı modelinin dışındaki nesneleri kullanabilen kullanıcı varlıklarını içerir. Ancak, bazı varlıkların (örneğin, dinamik SQL kullananlar) kapsaması çalışma zamanına kadar belirlenemediğinden, görünümde aslında kapsanmamış bazı varlıklar gösterilebilir. Daha fazla bilgi için bkz. sys.dm_db_uncontained_entities (Transact-SQL).
database_uncontained_usage olayı
Bu XEvent, çalışma zamanında kapsanmamış bir varlık tanımlandığında oluşur. Bu, istemci kodunda oluşan varlıkları içerir. Bu XEvent yalnızca gerçek tutarsız varlıklar için gerçekleşir. Ancak, olay yalnızca çalışma zamanında gerçekleşir. Bu nedenle, çalıştırmadığınız hiçbir tutarsız kullanıcı varlığı bu XEvent tarafından tanımlanmaz
Ayrıca Bkz.
Değiştirilen Özellikler (Kapsamlı Veritabanı)
Kapsanan Veritabanı Harmanlamaları
Kapsanan Veritabanlarıyla En İyi Güvenlik Yöntemleri
Kısmi İçerikli Veritabanına Geçiş
Kapsanan Veritabanı Kullanıcıları: Veritabanınızı Taşınabilir Hale Getirme