启动 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 连接到您的数据库,并且仅对您指定的表具有只读权限。
| 留言与评论(共有 0 条评论) “” |