Azure SQL Database новый созданный пользователь со схемой dbo, но не может искать таблицы в схеме 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

Однако я не смог найти существующие таблицы dbo по SQL ниже:

SELECT * FROM INFORMATION_SCHEMA.TABLES

Почему и как я могу посмотреть назад таблицы dbo?

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

Надеюсь это поможет.

Другие вопросы по тегам