Select Azure SQL数据库新创建了具有dbo架构的用户,但无法搜索dbo架构下的表

Select Azure SQL数据库新创建了具有dbo架构的用户,但无法搜索dbo架构下的表,select,azure-sql-database,schema,ssms,dbo,Select,Azure Sql Database,Schema,Ssms,Dbo,在主数据库中: CREATE LOGIN Test_Admin WITH PASSWORD = 'xxxx'; GO CREATE USER Test_Admin FOR LOGIN Test_Admin WITH DEFAULT_SCHEMA = [guest]; --want to grant minimum access rights GO CREATE LOGIN Test_Admin WITH PASSWORD = 'xxxx';

在主数据库中:

CREATE LOGIN Test_Admin   
    WITH PASSWORD = 'xxxx';  
GO  

CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [guest]; --want to grant minimum access rights
GO
CREATE LOGIN Test_Admin   
    WITH PASSWORD = 'xxxx';  
GO  

CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [guest]; --want to grant minimum access rights
GO
EXEC sp_addrolemember 'db_owner', 'Test_Admin'
在目标数据库中:

CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [dbo];
GO
CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [dbo];
GO
EXEC sp_addrolemember 'db_owner', 'Test_Admin'
GO
但是,我无法通过以下SQL搜索dbo的现有表:

SELECT * FROM INFORMATION_SCHEMA.TABLES

为什么以及如何查看dbo的表?

您在master DB中创建了一个用户,并且希望用户Test\u Admin可以访问目标DB,对吗

如果要执行此操作,需要通过加入数据库角色为数据库用户授予db_owner权限

您可以这样修改代码,然后重试:

在主数据库中:

CREATE LOGIN Test_Admin   
    WITH PASSWORD = 'xxxx';  
GO  

CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [guest]; --want to grant minimum access rights
GO
CREATE LOGIN Test_Admin   
    WITH PASSWORD = 'xxxx';  
GO  

CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [guest]; --want to grant minimum access rights
GO
EXEC sp_addrolemember 'db_owner', 'Test_Admin'
在目标数据库中:

CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [dbo];
GO
CREATE USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [dbo];
GO
EXEC sp_addrolemember 'db_owner', 'Test_Admin'
GO

希望这能有所帮助。

您是否授予测试管理员“db\U所有者”权限?谢谢!如果我不想让Test_Admin成为Master DB中的用户,而只想成为Target DB中的DB Admin,该怎么办?不希望Test_Admin通过在下面执行SQL:select*FROM sys.databases来查看其他数据库。如果我没有在Master DB中创建用户Test_Admin,我就不能使用SSMS/MS访问来连接的目标DBquerying@DaiKeung也许你可以参考这个。您可以使用SSMS的ServerAdmin帐户登录目标数据库,在连接属性中设置要连接的目标数据库名称。可能我无法回答您的所有问题,谢谢您接受我的回答。