SQL 2012 拒绝了对对象 '表名‘' (数据库 'xxxxx',架构 'dbo')的 SELECT 权限。

拒绝了对对象 '表名‘' (数据库 'xxxxx',架构 'dbo')的 SELECT 权限。

 所见效果描述:在windows身份验证的 情况下登陆进去数据库的表都是可以打开的,当IIS等应用程序访问、或换到sa或者别的账号登陆进去的时候这个时候我们点击我们的数据库就会报错:

 解决方法如下:

对于这个问题,不同的sql server 版本操作界面都有些不同,注意 SQL 2012 /SQL 2008的操作。

 解决方法如下:

  1、首先我们要用windows身份登陆进去进行设置,因为你的sa等账号登陆进去设置都是无效的【这一步很重要】。

  2、对用用户进行权限设置.

  SQL 2012:

找到对应的库下面的安全性->登录名>dbo->右键属性 ->用户映射 。勾选数据库,勾选数据库角色成员身份确定即可。参照截图如下:

SQL 2012 拒绝了对对象 '表名‘' (数据库 'xxxxx',架构 'dbo')的 SELECT 权限。

 SQL 2008:

找到对应的库下面的安全性->架构->dbo->右键属性【权限】->搜索->浏览【public】->确定,在右边的具有授权,如果不知道的情况下全部打钩即可。参照截图如下:

  SQL 2012 拒绝了对对象 '表名‘' (数据库 'xxxxx',架构 'dbo')的 SELECT 权限。

3、如果这个时候还是用sa或者别的账号可以登陆了,进去之后右键编辑表错误,那么这个时候你就需要进行下面的设置了。

4、windows登陆进去选择表右键属性【权限】->搜索->浏览【public】->确定,在右边的具有授权,如果不知道的情况下全部打钩即可。

更多IT文章见http://www.23learn.com/doc/l1080-0-0-0-0.html