日期:2014-05-17  浏览次数:20442 次

怎样建一个用户只能对某数据库的某个视图有访问权限?
怎样建一个用户有密码只能对某数据库的某个视图有select权限?
我照着网上的资料来做,一用查询分析器登录就报
 [Microsoft][ODBC SQL Server Driver][SQL Server]无法打开用户默认数据库。登录失败

------解决方案--------------------
你首先要给这个账号在服务器级别有public的角色,不然都登录不了服务器,然后把这个账号的默认数据库指向你的数据库,数据库角色什么都不要给,再grant exec on 试图名 to 这个用户名
------解决方案--------------------
其实新建了账号之后,就具有了public角色,先要有服务器角色,数据库角色才有意义,这里你可以先不管,只需要把账号的默认数据库指定就可以了,修改默认数据库:
USE [master]
GO
ALTER LOGIN [test] WITH DEFAULT_DATABASE=[AdventureWorks], DEFAULT_LANGUAGE=[简体中文], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO
------解决方案--------------------
我试了一下,即使啥都不做,仅仅让账号能连到一个库,在这个库上也什么权限都没有,依然能访问master的一些表,可能不给访问的话就连不到sqlserver吧