У меня есть база данных sql azure, которая географически реплицируется. Теперь я хочу создать пользователя с логином и предоставить ему разрешение на чтение данных из некоторой таблицы в реплике только для чтения.
Но похоже, что это невозможно.
Когда я пытаюсь создать пользователя для входа в систему, я получаю сообщение об ошибке о базе данных только для чтения:
CREATE USER [user_name] FOR LOGIN [login_name]
Не удалось обновить базу данных "test-master", поскольку база данных
только для чтения.
Когда я пытаюсь сделать базу данных для чтения-записи, она говорит мне, что это невозможно из-за гео-репликации:
ALTER DATABASE [test-master] SET READ_WRITE
Ошибка ODBC: состояние: 42000: ошибка: 1468 Сообщение: '[Microsoft] [Драйвер ODBC 17 для SQL
Сервер] [SQL Server] Операция не может быть выполнена с базой данных
"test-master", потому что он участвует в сеансе зеркального отображения базы данных
или группа доступности. Некоторые операции не допускаются на
база данных, которая участвует в сеансе зеркального отображения базы данных или в
группа доступности. '. Сообщение 5069, Уровень 16, Состояние 3, Строка 5 ALTER
Оператор DATABASE не выполнен.
Так это вообще возможно?
UPDATE:
Похоже, информация для входа не реплицируется.
Сценарий пользователя как CREATE TO в Master db:
CREATE USER [user_name] FOR LOGIN [login_name] WITH DEFAULT_SCHEMA=[dbo]
Сценарий пользователя как CREATE TO в реплике db:
CREATE USER [user_name] WITH DEFAULT_SCHEMA=[dbo]
Означает ли это, что невозможно добавить новый логин в базу данных реплики?