2012-09-27 46 views
1

我在SQL服務器上創建了一些用戶,但我對是否允許「更改任何登錄名」或「更改任何鏈接服務器」到我的LOGIN或到USER帳戶?想知道如何在SQL Server上正確授予創建用戶的權限

  1. 創建登錄sysUser1(在主DB)
  2. 創建用戶爲MyUser1的LOGIN sysUser1(在用戶DB)
  3. 大家都知道,SQL服務器上,您在這個爲了創建用戶

  4. CREATE SCHEMA爲MyUser1授權爲MyUser1
  5. 然後,運行sp_addrolemember用於爲MyUser1需要
  6. 然後,做補助

我很困惑,我是否應該:

  1. 批改變任何登錄到爲MyUser1

  1. 批改變任何登錄到sysUser1

燦任何人澄清?我是否錯誤地想到了這一點?

回答

0

ALTER LOGIN是服務器級權限,因此您無法將其授予數據庫用戶。你需要將它授予sysUser1。

http://msdn.microsoft.com/en-us/library/ms186717.aspx

編輯:DITO鏈接服務器。

+0

感謝您的回答。這有很大幫助。 :-)這是我的腳本的變體:https://gist.github.com/3792028 – djangofan

0

登錄和鏈接服務器都是在實例級別存在的對象,而不是在數據庫級別,因此這些權限都需要應用於登錄,而不是用戶。

如果您使用的是SQL Server 2012,則可以創建自己的實例級角色,但在2008年及以下版本中,您將被限制爲內置的服務器角色。

有一個名爲setupadmin的服務器角色,它允許成員管理鏈接的服務器。