У меня есть ситуация, когда я хочу ограничить просмотр базы данных для каждого пользователя.
Например:
У меня есть 3 базы данных в моем экземпляре SQL Server, которые называются MyDB, UserDB, RestrictedDB.
Затем я создаю 2 входа; Пользователь1 и Пользователь2.
Затем я сделал DENY VIEW ЛЮБОЙ БАЗЫ ДАННЫХ [User1], а затем DENY VIEW ЛЮБОЙ БАЗЫ ДАННЫХ [User2].
Затем я сделал User1 владельцем UserDB, выполнив sp_changedbowner 'User1'
Когда я вхожу в систему как User1, я вижу только UserDB, что именно то, что я хочу. Но, конечно, когда я вхожу в систему как Пользователь2, нет базы данных, которую он может просматривать.
Я также сделал User2 db_owner, выполнив sp_addrolemember 'db_owner', 'User2' и снова вошел в систему, но я все еще не вижу UserDB. Я не пытался выполнить sp_changedbowner на User2, так как думаю, что в результате User2 сможет видеть UserDB, но не User1.
Мне нужно, чтобы и User1, и User2 могли видеть только UserDB. Как мне это сделать?
Заранее спасибо!