如何知道SQL Azure中是否启用了“包含数据库身份验证”?

时间:2015-05-21 14:51:46

标签: sql-server-2012 azure-sql-database

我是否可以运行查询以了解在SQL Azure或SQL Server 2014中的用户定义数据库中是否启用了“包含数据库身份验证”?

我尝试了以下查询,但它确实有一个“包含数据库身份验证”的列?

select *  from   sys.databases 
where name='myDatbase';

3 个答案:

答案 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找到的有关此内容的屏幕截图。

enter image description here

答案 1 :(得分:1)

Azure V12似乎支持它。我试过这个并正常工作:

使用密码=' MyPassw0rd'创建用户user1然后尝试登录login1。如果使用包含用户的可能性是一个更好的选择,因为它避免了可能在不同的sql实例上的主数据库往返

答案 2 :(得分:0)

Sql db v12支持包含的用户。看起来你在v11上,我不认为有一个目录视图显示相同。包含的数据库除了包含用户之外还包含许多其他内容,例如固定目录排序规则。在Azure中,逻辑上包含所有数据库。所以有意义的包容用户。您引用的列适用于与容器兼容的数据库,而不在Azure中。