Azure SQL数据库使用dbo架构新创建的用户,但无法在dbo架构下搜索表

时间:2019-02-15 03:46:15

标签: 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 USER Test_Admin
    FOR LOGIN Test_Admin
    WITH DEFAULT_SCHEMA = [dbo];
GO

但是,我无法通过以下SQL搜索dbo的现有表:

SELECT * FROM INFORMATION_SCHEMA.TABLES

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

1 个答案:

答案 0 :(得分:1)

您在主数据库中创建一个用户,并且希望用户Test_Admin可以访问目标数据库,对吗?

如果要执行此操作,则需要通过加入数据库角色来授予数据库用户“ 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
EXEC sp_addrolemember 'db_owner', 'Test_Admin'

在目标数据库中:

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

希望这会有所帮助。