İçerdiği veritabanları

A veritabanında bulunan diğer veritabanları ve örneği yalıtılmış bir veritabanı SQL Server, veritabanını barındıran. SQL Server 20124 yolları örneği kendi veritabanından izole etmek için kullanıcıya yardımcı olur.

  • Çok veritabanını tanımlayan meta verileri veritabanında korunur. (Ek olarak ya da yerine meta verilerinde korumak ana veritabanı.)

  • Tüm meta verileri aynı harmanlama kullanılarak tanımlanır.

  • Kullanıcı kimlik doğrulaması veritabanı oturumları örneği veritabanları bağımlılığı azaltarak tarafından gerçekleştirilmesi SQL Server.

  • SQL ServerOrtamı (DMV'ın, XEvents, vb) raporları ve içerik bilgileri davranabilir.

Meta verileri veritabanında saklanması gibi kısmen içerdiği veritabanları, bazı özellikleri tümüne SQL Server 2012veritabanları. Kullanılabilir veritabanı düzeyinde kimlik doğrulaması ve Katalog harmanlama, kısmen içerdiği veritabanları bazı yararları etkinleştirilmiş olması gerekir. Kısmi içerik etkin kullanarak CREATE DATABASEve ALTER DATABASEifadeler kullanarak SQL Server Management Studio. Kısmi veritabanı çevreleme etkinleştirme hakkında daha fazla bilgi için bkz: Kısmen bulunan bir veritabanına geçirme.

Bu konuda aşağıdaki bölümler bulunur.

  • Kısmen içerdiği veritabanı kavramları

  • Kısmen içerdiği veritabanı bileşenleri

  • İçerme

  • Kısmen içerdiği veritabanları kullanmanın yararları

  • Sınırlamaları

  • Veritabanı içerik belirleme

Kısmen içerdiği veritabanı kavramları

Tam olarak içerilen veritabanı tüm ayarlar ve veritabanı tanımlamak için gerekli meta verileri içeren ve örneği üzerinde hiçbir yapılandırma bağımlılıkları vardır SQL Server Veritabanı Altyapısıveritabanı yüklendiği. Önceki sürümlerinde SQL Server, örneği veritabanından ayıran SQL Serverzaman tüketen ve gerekli detaylı bilgi veritabanı örneği arasında ilişki olabilir SQL Server. Kısmen veritabanlarında bulunan SQL Server 2012örneği veritabanından ayrı daha kolay yapar SQL Serverve diğer veritabanları.

İçerdiği veritabanı özellikleri içerik konusunda dikkate alır. Veritabanında bulunan işlevleri kullanır kullanıcı tanımlı varlık tamamen içerdiği kabul edilir. Dış veritabanına kabul edilir bulunan işlevleri kullanır kullanıcı tanımlı varlık uncontained. (Daha fazla bilgi için bkz: Containment bölümünde bu konuda daha sonra açıklanan.)

Aşağıdaki terimler, içerdiği veritabanı modeli uygulamak.

  • Veritabanı sınır
    Bir veritabanı ve bir örneğini arasındaki sınır SQL Server. Bir veritabanı ve diğer veritabanları arasındaki sınır.

  • İçerdiği
    Tamamen veritabanı sınırı içinde bulunan öğe.

  • Uncontained
    Veritabanı sınırını geçiyor bir öğe.

  • Sigara içerdiği veritabanı
    Ayarlamak içerik içeren bir veritabanını yok. Tüm sürümlerin veritabanlarında daha erken SQL Server 2012bulunan sigara vardır. Varsayılan olarak, tüm SQL Server 2012veritabanları ayarlamak bir içerik var yok.

  • Kısmen veritabanında bulunan
    Kısmen içerdiği veritabanı veritabanı sınırı arası bazı özellikleri sağlayan içerdiği bir veritabanıdır. SQL Serverzaman çevreleme sınırı geçti belirleme yeteneğini içerir.

  • Kapsanan kullanıcı
    İçerdiği veritabanları için kullanıcı iki tür vardır.

    • İçerdiği veritabanı kullanıcı parola

      Veritabanı kullanıcı ile parola veritabanı tarafından doğrulanan içeriyordu.

    • Windows sorumluları

      Yetkili Windows kullanıcılarını hem de yetkili Windows gruplarının üyeleri doğrudan veritabanına bağlanmak ve oturumlar gerek yok ana veritabanı. Veritabanının Windows kimlik doğrulaması güvenir.

    Oturumlar kullanıcı temelinde ana veritabanı bulunan bir veritabanına erişimi verilebilir, ancak bu oluşturmak bağımlılık üzerine SQL Serverörneği. Bu nedenle, oluşturmayı kullanıcıları, oturumları göre kısmen içerdiği veritabanları için yorum bkz.

    Güvenlik notuGüvenlik Notu

    İçerdiği veritabanları delege denetim örneği kısmen etkinleştirme SQL Serververitabanı sahipleri için. Daha fazla bilgi için, bkz. İçerdiği veritabanları ile güvenlik en iyi uygulamalar.

  • Veritabanı sınır
    Bu örnek veritabanı işlevselliği kısmen içerdiği veritabanları ayrı çünkü, orada açıkça tanımlanmış bir çizgi olarak adlandırılan bu iki unsur arasında veritabanı sınır.

    Veritabanı içinde sınır olan veritabanı modeli, nereye veritabanları geliştirilmiş yönetilen ve. Veritabanı içinde bulunan varlıkları örnekleri, sistem tabloları gibi sys.tables, bulunan parola ve kullanıcı tabloları iki bölümü adı tarafından başvurulan geçerli veritabanında veritabanı kullanıcılar.

    Veritabanı dışında sınır olan yönetim modeli, örnek düzeyi işlevlerini ve yönetimi için geçerlidir. Veritabanı sınırları dışında bulunan varlıkları örnekleri, sistem tabloları gibi sys.endpoints, kullanıcı eşlenen oturum açma ve kullanıcı başka bir veritabanında, bir üç-bölüm adı tarafından başvurulan tablolar.

İçerme

Tamamen veritabanı içinde bulunan kullanıcı varlıklar olarak kabul yer. Veritabanı dışında bulunan veya veritabanı işlevleri dışında etkileşime itimat tüm varlıkları kabul edilen uncontained.

Genel olarak, kullanıcı kuruluşlar çevreleme aşağıdaki kategorilere ayrılır:

  • Tam olarak bulunan kullanıcı kuruluşlar (Bu hiçbir zaman çapraz veritabanı sınır), örneğin sys.indexes. Bu özellikleri kullanan herhangi bir kod veya yalnızca bu varlıkların başvuran herhangi bir nesne de tam olarak yer alıyor.

  • Örneğin kullanıcı kuruluşlar (Bu veritabanı sınırı arası), uncontained sys.server_principalsveya bir sunucu asıl adı (login) kendini. Bu varlıkların kullanan herhangi bir kod veya bu varlıkların başvuran işlevler uncontained.

Kısmen içerdiği veritabanı

De SQL Server 2012içerdiği veritabanı özelliği yalnızca kısmen içerdiği bir durumda şu anda kullanılabilir. Uncontained özelliklerini sağlayan içerdiği veritabanı kısmen içerdiği bir veritabanıdır.

Kullanım sys.dm_db_uncontained_entities ve sys.sql_modules (Transact-sql)uncontained nesne veya özellik hakkında bilgi dönmek için görünüm. Veritabanı öğelerini çevreleme durumunu belirleyerek, hangi nesneleri veya özellikleri gerekir değiştirilmesi veya değiştirilmiş çevreleme tanıtmak için keşfedebilirsiniz.

Önemli notÖnemli

Çünkü belirli nesnelerin varsayılan kapsayıcı ayarı yok, bu görüş yanlış dönebilirsiniz.

Kısmen içerdiği veritabanları davranışını en belirgin, Sigara içerdiği veritabanları ile ilgili olarak harmanlama farklıdır. Harmanlama sorunları hakkında daha fazla bilgi için bkz: İçerdiği veritabanı harmanlamalar.

Kısmen içerdiği veritabanları kullanmanın yararları

Sorunlar ve kısmen içerdiği veritabanı kullanılarak çözülebilir sigara içerdiği veritabanları ilişkili komplikasyonlar vardır.

Veritabanı hareketi

Veritabanlarını taşıma sırasında ortaya çıkan sorunlardan biri bir veritabanı başka bir örneğinden taşındığında bazı önemli bilgileri kullanılamıyor olabilir. Örneğin, oturum açma bilgilerini örneği içinde yerine veritabanında depolanır. Hareket ettiğinizde sigara bulunan bir veritabanı bir örneğinden başka bir örneği için SQL Server, bu bilgiler geride. Eksik bilgileri tanımlamak ve yeni örneğine veritabanınızla taşımak gerekir SQL Server. Bu işlem, zor ve zaman alıcı olabilir.

Taşındıktan sonra veritabanı hala bilgi yani kısmen içerdiği veritabanı önemli bilgiler veritabanında saklayabilirsiniz.

[!NOT]

Kısmen içerdiği veritabanı örneği ayrılamayan bir veritabanı tarafından kullanılan özellikleri açıklayan belgeleri sağlayabilir. Bu veritabanı, gerektirir ancak yer alması ve benzeri sistem ayarları diğer birbiriyle ilişkili veritabanlarının bir listesini içerir.

İçerdiği veritabanı kullanıcısı ile AlwaysOn yararına

Örneğine bağlar azaltarak SQL Server, kısmen içerdiği veritabanları kullandığınızda yerine çalışma sırasında yararlı olabilir AlwaysOn Kullanılabilirlik Grupları.

Kapsanan kullanıcı oluşturma, doğrudan içerdiği veritabanına bağlanmak kullanıcı sağlar. Bu yüksek kullanılabilirlik ve felaket kurtarma senaryoları gibi bir AlwaysOn çözümünde çok önemli bir özelliktir. Yerine çalışma halinde bulunan kullanıcıların kullanıcı are insanlar ikincil barındırma örneğinde oturum oluşturmadan ikincil bağlamak mümkün olurdu. Bu, acil bir yarar sağlar. Daha fazla bilgi için AlwaysOn kullanılabilirlik grupları (SQL Server) genel bakışve Önkoşullar, kısıtlamaları ve öneriler için AlwaysOn kullanılabilirlik grupları (SQL Server).

İlk veritabanı geliştirme

Bir geliştirici yeni bir veritabanı nerede dağıtılacak bilemezsiniz çünkü veritabanı üzerinde dağıtılmış çevresel etkileri sınırlı çalışma ve geliştirici için endişe azaltır. Sigara bulunan modelde, geliştirici yeni veritabanında olası çevresel etkileri düşünün ve buna göre programı gerekir. Ancak, kısmen içindeki veritabanlarını kullanarak, geliştiriciler veritabanı ve örnek düzeyi endişeleri geliştirici örnek düzeyi etkileri algılayabilir.

Veritabanı Yönetimi

Yerine ana veritabanında veritabanı ayarları veritabanı bakımını sağlar her veritabanı sahibi veritabanı sahibi vermeden kendi veritabanı üzerinde daha fazla denetime sahip sysadmin izni.

Sınırlamaları

Kısmen içerdiği veritabanları aşağıdaki özellikleri izin vermez.

  • Kısmen içerdiği veritabanlarında çoğaltma kullanın, veri yakalama değiştirmek veya izleme değiştirin.

  • Numaralandırılmış yordamları

  • Yerleşik işlevleri ile harmanlama değişiklikleri bağlı şemaya bağlı nesneler

  • Bağlamayı değiştirmek harmanlama değişiklikleri, nesneleri, sütunlar, semboller ya türleri dahil kaynaklanan.

  • Çoğaltma, veri yakalama ve izleme Değiştir.

Veritabanı içerik belirleme

Veritabanı içerik durumunu belirlemek için iki araç vardır. sys.dm_db_uncontained_entities (Transact-sql)Veritabanındaki tüm potansiyel uncontained varlıkları gösteren bir görünüm. database_uncontained_usage eventTüm fiili uncontained varlıkları zamanında tespit oluşur.

sys.dm_db_uncontained_entities

Bu görünüm tüm varlıklar, bu gibi uncontained olmak potansiyeline sahip veritabanı bu çapraz gösterir veritabanı sınır. Bu veritabanı modeli dışındaki nesneleri kullanan bu kullanıcı varlıklar içerir. Ancak, bazı varlıklar (örneğin, bu dinamik sql kullanarak) içerik çalışma süresi kadar belirlenemez çünkü görünümü aslında uncontained değil bazı varlıklara gösterebilir. Daha fazla bilgi için, bkz. sys.dm_db_uncontained_entities (Transact-sql).

database_uncontained_usage olayı

Her uncontained bir varlık zamanında tespit bu XEvent gerçekleşir. Bu istemci kodu kaynaklı varlıklar içerir. Bu XEvent sadece fiili uncontained varlıkları için ortaya çıkar. Ancak, olay yalnızca çalışma zamanında gerçekleşir. Bu nedenle, herhangi bir uncontained kullanıcı kuruluşlar değil koşmak bu XEvent tarafından tanımlanacak değil

İlişkili İçerik

Değiştirilen özellikleri (içerdiği veritabanı)

İçerdiği veritabanı harmanlamalar

İçerdiği veritabanları ile güvenlik en iyi uygulamalar

Kısmen bulunan bir veritabanına geçirme