![](/img/trans.png)
[英]Difference between SQL Database and SQL Server in Microsoft Azure Portal
[英]What is the difference between a fully contained database & Azure SQL Single database
當一個數據庫被完全包含時,它擁有數據庫邊界內的所有對象。 它也在數據庫級別管理連接。 包含的數據庫
我有幾個問題:
如果我在 Azure SQL 單一數據庫中托管一個包含的數據庫,那么 Azure SQL 單一數據庫和作為 Azure SQL 單一數據庫的包含數據庫之間有什么區別?
為什么我們有一個單獨的產品作為 Azure SQL Single Db,當包含的數據庫也類似於它時?
將數據庫作為包含數據庫是否有助於更輕松地遷移到 Azure SQL 單數據庫?
在 Azure 中,“單一”是一種部署選項,它將 Azure SQL 數據庫與托管和彈性池區分開來。 從遏制的角度來看確實沒有區別,因為 Single 和 Azure SQL 數據庫是一回事。
Azure SQL 數據庫本身提供了包含數據庫級用戶身份驗證等功能。 對於本地 SQL Server 數據庫,必須選擇CONTAINMENT=PARTIAL
以允許數據庫級身份驗證。
將數據庫作為包含數據庫是否有助於更輕松地遷移到 Azure SQL 單數據庫?
CONTAINMENT=PARTIAL
允許在本地版本中進行數據庫級身份驗證,從而促進數據庫安全主體的遷移。 只要用戶數據庫實體保持在數據庫邊界內並且不需要包含數據庫(例如 CDC)中不可用的功能,遷移通常很容易。
但是,需要注意的是,部分包含的數據庫隱式使用目錄排序Latin1_General_100_CI_AS_KS_WS_SC
而 Azure SQL 數據庫目錄排序規則必須是所選的DATABASE_DEFAULT
排序SQL_Latin1_General_CP1_CI_AS
或SQL_Latin1_General_CP1_CI_AS
。 這通常只有在需要區分大小寫的對象/變量名稱時才會出現。
可以通過查詢sys.dm_db_uncontained_entities
來識別現有的未包含引用:
SELECT * FROM sys.dm_db_uncontained_entities;
上述查詢還將識別需要手動檢查的動態 SQL 引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.