在 SQL Server 中授予表级权限

在 SQL Server 中授予表级权限

启动 SQL Server Management Studio 并使用已被授予“sa”角色的凭据进行连接。

展开Security,右键单击Logins并选择New Login

输入描述性登录名,选择SQL Server 身份验证,然后输入安全密码。在页面底部选择 Chartio 将连接到的数据库作为默认数据库

选择User Mapping选项卡,选中所需数据库旁边的框,确认仅选择了“public”,然后单击OK

单击New Query按钮并选择您要连接到 Chartio 的数据库。

将以下查询粘贴到查询窗口并执行。将“chartio_read_only”替换为您创建的用户的实际用户名。

SELECT 'GRANT SELECT ON "' + TABLE_SCHEMA + '"."' + TABLE_NAME + '" TO "chartio_read_only"' FROM information_schema.tables

选择查询结果并将其复制到查询窗口中。

删除您不希望“chartio_read_only 用户”访问的任何表或视图。在此示例中,我删除了 Invoice 和 InvoiceLine 表,因为它们包含敏感信息。

GRANT SELECT ON "dbo"."Customer" TO "chartio_read_only"GRANT SELECT ON "dbo"."Employee" TO "chartio_read_only"GRANT SELECT ON "dbo"."Genre" TO "chartio_read_only"GRANT SELECT ON "dbo"."MediaType" TO "chartio_read_only"GRANT SELECT ON "dbo"."Playlist" TO "chartio_read_only"GRANT SELECT ON "dbo"."PlaylistTrack" TO "chartio_read_only"GRANT SELECT ON "dbo"."Track" TO "chartio_read_only"GRANT SELECT ON "dbo"."Album" TO "chartio_read_only"GRANT SELECT ON "dbo"."Artist" TO "chartio_read_only"

执行查询。

接下来,您需要在 dbo 模式上授予视图定义。复制以下查询并在 SQL Server 中执行。将用户名替换为您之前创建的用户名。

GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only

您现在可以使用这些凭据将 Chartio 连接到您的数据库,并且仅对您指定的表具有只读权限。

权限   SQL   Server
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章