我是否可以运行查询以了解在SQL Azure或SQL Server 2014中的用户定义数据库中是否启用了“包含数据库身份验证”?
我尝试了以下查询,但它确实有一个“包含数据库身份验证”的列?
select * from sys.databases
where name='myDatbase';
答案 0 :(得分:2)
以下查询将告知是否启用了包含的数据库身份验证。在下面的查询中,启用此功能时,containsment = 1和containment_desc ='PARTIAL',否则这些值为0和'NONE'。
因此,只需在SSMS中运行此查询即可了解是否已启用此功能。将查询中的数据库名称替换为您正在使用的数据库。在这种情况下,我使用了northwind数据库。
select containment, containment_desc from sys.databases
where name='northwind'
更新1 :
以下是我在MSDN文档下Containment & Containment_desc column values in sys.databases找到的有关此内容的屏幕截图。
答案 1 :(得分:1)
Azure V12似乎支持它。我试过这个并正常工作:
使用密码=' MyPassw0rd'创建用户user1然后尝试登录login1。如果使用包含用户的可能性是一个更好的选择,因为它避免了可能在不同的sql实例上的主数据库往返
答案 2 :(得分:0)
Sql db v12支持包含的用户。看起来你在v11上,我不认为有一个目录视图显示相同。包含的数据库除了包含用户之外还包含许多其他内容,例如固定目录排序规则。在Azure中,逻辑上包含所有数据库。所以有意义的包容用户。您引用的列适用于与容器兼容的数据库,而不在Azure中。