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