我有一个SQL Server
服务器上有大约 50 个数据库。
我希望创造一个新的Login
对于希望访问其数据库的客户。
但我不想让他们访问其他人49 个数据库.
我怎样才能做到这一点?
我认为这是我们非常喜欢做的事情。
--Step 1: (create a new user)
create LOGIN hello WITH PASSWORD='foo', CHECK_POLICY = OFF;
-- Step 2:(deny view to any database)
USE master;
GO
DENY VIEW ANY DATABASE TO hello;
-- step 3 (then authorized the user for that specific database , you have to use the master by doing use master as below)
USE master;
GO
ALTER AUTHORIZATION ON DATABASE::yourDB TO hello;
GO
如果您之前已经创建了一个用户并分配给该数据库
USE [yourDB]
CREATE USER hello FOR LOGIN hello WITH DEFAULT_SCHEMA=[dbo]
GO
然后请按照以下步骤删除它
USE yourDB;
GO
DROP USER newlogin;
GO
欲了解更多信息,请点击链接:
在 Microsoft Sql Server 2008R2 及更高版本上隐藏登录数据库 https://stackoverflow.com/questions/14120624/hiding-databases-for-a-login-on-microsoft-sql-server-2008r2-and-above
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)