Когда вы выполняете этот запрос:
CREATE LOGIN login123
WITH PASSWORD = *******
CREATE USER login123
FOR LOGIN login123
WITH DEFAULT_SCHEMA = dbo
ALTER ROLE db_datareader ADD MEMBER login123
Это означает, что у нового пользователя есть разрешение только для чтения для базы данных.
В какой базе данных выполняется запрос, разрешение только для чтениядля какой базы данных.
У пользователя нет прав доступа к другой базе данных или главной базе данных.
Для получения более подробной информации см .:
- Управление и предоставлениедоступ базы данных к базе данных SQL и хранилищу данных SQL
- Роли уровня базы данных
Если вы хотите, чтобы оба пользователя имели разрешение только на чтение для большей базы данных, вы должны создать больше пользователей (с тем же) в другой базе данных. Использование одного сопоставления для входа в систему для большего числа пользователей.
Вот код T-SQL, который я тестировал, и он работает в базе данных SQL Azure:
USE master
CREATE LOGIN login123
WITH PASSWORD = '****'
GO
CREATE USER login123
FOR LOGIN login123
WITH DEFAULT_SCHEMA = db_datareader
GO
USE Mydatabase
CREATE USER login123
FOR LOGIN login123
WITH DEFAULT_SCHEMA = dbo
GO
ALTER ROLE db_datareader ADD MEMBER login123
GO
``````
Надеюсь, это поможет.