首先进入数据库级别的【安全性】-【登录名】-【新建登录名】
2. 在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库
3、 在【用户映射】选项卡中,如下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的操作
4、现在我们就可以对TestLog数据库中的User表进行权限的设置了,【表】-【 属性】
5、在【权限】选项卡中,如下图所示,依此点击【添加】-【浏览】-【选择对象】
6、 在上面点击【确认】后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置了
7、现在就使用TestUser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了
1、首先创建一个账号和一个数据库并添加这个用户为这个数据库的使用者。
[xhtml] view plaincopy
USE MASTERGO
CREATE LOGIN test_user WITH PASSWORD = 'test_user_pwd';GO
CREATE DATABASE DenySelectStar;GO
USE DenySelectStarGO
CREATE USER test_user FROM LOGIN test_user WITH DEFAULT_SCHEMA = DenySelectStar;GO
EXEC sp_addrolemember N'db_datareader', N'test_user'GO
2、再创建一个新表,并命名一列为"dummycolumn",并插入几条数据:
[xhtml] view plaincopy
CREATE TABLE dbo.Table_1( IdentityKey INT IDENTITY(1,1) PRIMARY KEY CLUSTERED ,ColumnOne INT NULL ,DummyColumn CHAR(1) NULL);GO
INSERT INTO dbo.Table_1 (ColumnOne) SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5;GO
DENY SELECT ON OBJECT:: dbo.Table_1(DummyColumn) TO test_user;GO
3、再去查询一下select * from :
[xhtml] view plaincopy
USE DenySelectStarGO
SELECT * FROM dbo.Table_1;
--Result
Msg 230, Level 14, State 1, Line 1The SELECT permission was denied on the column 'DummyColumn' of the object 'Table_1", database 'DenySelectStar', schema 'dbo'.
REVOKE SELECT ON TABLE_NAME FROM USER_NAME