2013-02-20 39 views
6

我想授予域用户到SQL Server 2008.此用户应该能够使用服务器管理工​​作室登录到数据库,并运行PowerShell脚本对数据库执行SELECT查询。我的问题是我的设置不会持续。SQL Server 2008登录用户映射不会持久

在服务器管理工​​作室中,右键单击Security-> Logins->右键单击 - > Properties-> User mappings->勾选我的数据库,这恰好是第一个,授予'db_datareader'和'public' 。 单击确定。

没有错误弹出。 但是当我再次检查用户映射时,我的数据库不再被勾选!我错过了什么?真是不解......一定是很简单的东西...

enter image description here

--update--:

soved:删除登录+用户,增加他们回来,剩下的..现在好。许多thx!

+0

您是否尝试过将脚本编写出来,然后运行以查看是否有任何警告/错误,SSMS因某些原因可能没有处理? – mservidio 2013-02-20 14:30:13

+1

@mservidio试过,没有错误,仍然没有持续。最后,我删除了用户并登录,将其添加回来,现在可以。但是,谢谢你,我没有想到它的脚本.. – user1866880 2013-02-20 14:53:34

回答

4
use master; 
GO 

create login [<domain\user>] from windows; 
GO 

use [<yourdb>]; 
GO 

create user [<domain\user>] for login [<domain\user>]; 
GO 

ALTER ROLE db_datareader ADD MEMBER [<domain\user>]; 
GO 
+2

谢谢!我正在记录你的剧本..结果是小故障。我删除了用户并登录,重新添加并授予特权,所有这些都是在管理工作室完成的,就像我之前做过的一样,现在没关系。不知道为什么设置没有持续.. – user1866880 2013-02-20 14:55:13

+0

根据[this](https://msdn.microsoft.com/en-us/library/ms187750(v = sql.110).aspx)doc更改了最后一行,sp_已被或将被弃用。 – Benjol 2016-11-22 07:15:10

相关问题