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

SQL Server:新建一个登录账号,能做到对普通库只有只读权限, 对tempdb临时表有可读可写可创建的权限吗?
如题: 这个能做到吗?

------解决方案--------------------
http://blog.csdn.net/hebeijg/article/details/10110289
------解决方案--------------------
创建一个帐号,指定对象数据库,赋予public权限
USE [master]
GO
CREATE LOGIN [testlogin] WITH PASSWORD=N'123', DEFAULT_DATABASE=[AdventureWorks2008R2], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [AdventureWorks2008R2]
GO
CREATE USER [testlogin] FOR LOGIN [testlogin]
GO
也可以给只读权限:
USE [AdventureWorks2008R2]
GO
ALTER ROLE [db_datareader] ADD MEMBER [testlogin]
GO
默认帐号对tempdb和master都有读写权限
------解决方案--------------------
虽然没办法知道当期用户都多少权限,但是可以知道,这个用户对某个对象的大概的权限:

--当前连接,对于某个安全对象,在这个安全对象类上,有多少权限  
select *  
from sys.fn_my_permissions('数据库名称',        --安全对象的名称  
                           'database')  --要列出权限的安全对象类