SQL Server如何设置用户只能访问特定数据库和访问特定表或视图

 更新时间:2023年04月11日 10:06:44   作者:香煎三文鱼  
最近项目中需要限定特定的用户只能查看并访问特定的数据库,防止多个用户对数据库操作时一些误操作,所以这篇文章主要给大家介绍了关于SQL Server如何设置用户只能访问特定数据库和访问特定表或视图的相关资料,需要的朋友可以参考下

前言

在实际业务场景我们可能需要开放单独用户给第三方使用,并且不想让第三方看到与业务不相关的表或视图,我们需要在数据库中设置一切权限来实现此功能:

1.设置用户只能查看数据库中特定的视图或表

1.创建用户名 选择默认数据库 服务器角色默认为public 用户映射选择指定数据库

打开需要开放权限的数据库,这里我们选择test库

新建查询:

对用户qqq分配 View_1视图 只有 只读select权限

grant select on View_1 to qqq

–对用户分配指定表权限(读写删)

GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名]

–对用户分配指定表的列权限(读写删)

GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名]

使用qqq登录

这时我们只能看到View_1视图,其它的表和视图看不见,且其它的数据库也无法操作

2.设置用户只能看到特定的数据库

如果我们不想让用户看到其它的数据库我们可以使用此方案

1.创建用户名 选择默认数据库 服务器角色默认为public 用户映射选择指定数据库

2.设置public角色

安全性——服务器角色——找到public——属性——将服务器中的查看任意数据库 取消勾选

3.执行语句 设置新建的账户 能查看的数据库

USE test
go
EXEC dbo.sp_changedbowner N'qwe'

如果提示以下错误,

那么开test这个数据库找到刚刚新建的用户删掉之后再去执行这个语句

然后再使用我们新建的qwe账户登录,这时就实现了只能查看test这个数据库,且能看到所有的表

总结 

到此这篇关于SQL Server如何设置用户只能访问特定数据库和访问特定表或视图的文章就介绍到这了,更多相关SQLServer设置用户只能访问特定数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询

    SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询

    这篇文章介绍了SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • SqlServer字符截取的具体函数使用

    SqlServer字符截取的具体函数使用

    本文主要介绍了SqlServer字符截取的具体函数使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • sqlserver 用户权限管理,LINQ去除它的重复菜单项

    sqlserver 用户权限管理,LINQ去除它的重复菜单项

    事情是这样的,我有三张表,用户_角色关系表User_Role,角色_菜单关系表Role_Menu和菜单表
    2011-08-08
  • SQL Server 数据库基本操作语句总结

    SQL Server 数据库基本操作语句总结

    SQL Server 数据库基本操作语句总结,需要的朋友可以参考一下
    2013-05-05
  • SQL Server 海量数据导入的最快方法

    SQL Server 海量数据导入的最快方法

    这篇论坛文章(赛迪网技术社区)详细讲解了SQL Server海量数据导入的最快方法,更多内容请参考下文
    2008-12-12
  • SQLServer 数据库开发顶级技巧

    SQLServer 数据库开发顶级技巧

    无论你的专业水平如何,从其他IT专家那里学习新的技巧与最佳实践常常都是有益的。本文包含了我遇到过的SQL Server开发的高级技巧。希望其中的一些技巧能够对您的数据库开发及管理工作有所帮助。
    2009-07-07
  • SQL Server出现System.OutOfMemoryException异常的解决方法

    SQL Server出现System.OutOfMemoryException异常的解决方法

    这篇文章主要介绍了SQL Server出现System.OutOfMemoryException异常的解决方法,同时提供了微软官方的解决方案,需要的朋友可以参考下
    2014-06-06
  • SQL server数据库log日志过大占用内存大的解决办法

    SQL server数据库log日志过大占用内存大的解决办法

    SQL Server日志文件过大,随着时间的推移会占用很大的存储空间,下面这篇文章主要给大家介绍了关于SQL server数据库log日志过大占用内存大的解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • 使用SQL语言查询多个Excel表格的操作方法

    使用SQL语言查询多个Excel表格的操作方法

    本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和查询,此外,还探讨了如何实现一个自定义的calcite文件适配器来支持Excel文件的查询,感兴趣的朋友一起看看吧
    2025-01-01
  • sql函数 REGEXP_REPLACE的使用方法小结

    sql函数 REGEXP_REPLACE的使用方法小结

    假设您的数据在正文中有不必要的空格,您希望用单个空格来替换它们,利用REPLACE函数 ,这篇文章给大家介绍sql函数 REGEXP_REPLACE的使用方法小结,感兴趣的朋友一起看看吧
    2023-11-11

最新评论