2013-02-20 63 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