最小權限原則
SQL Server 2005
1.針對SQL Server與SQL Agent分別新增Windows Local Account或在AD上新增AD User Account
2.使用SQL Server Configuration Manager修改SQL Server與SQL Agent的啟動服務帳號,
讓系統自動給與服務帳號應有的權限
3.針對備份用的特定目錄給予服務啟動帳號Full Control權限
SQL Server 2000
1.新增一個Windows Local user Account或在AD上新增一個AD User Account
例如:SQLServer
2.使用Enterprise Manager修改SQL Server與SQL Agent的啟動服務帳號,
讓系統自動給與服務帳號應有的權限,ex:將啟動帳號加入SQL Server的sysadmin角色
注意1:若SQL Server服務與SQL Agent服務是用不同帳號會造成SQL Agent的Job工作發生問題,則要需依照以下KB解決錯誤22022問題
Microsoft SQL-DMO (ODBC SQL狀態: 42000)
錯誤 22022: SQLServerAgent 目前不在執行中,因此無法通知它這個動作。
You may receive an "Error 22022: SQLServerAgent is not currently running so it cannot be notified of this action" error message when you run a SQL Server Agent job in SQL Server 2000
http://support.microsoft.com/kb/911841/en-us
但只要再用SQL Server Enterprise Manager修改了SQL Server啟動帳戶後,即便你輸入了"computerName\MyServiceAccount",但最後還是會改回".\MyServiceAccount"
則必須要再去修改一次機碼
The SQL Server service and the SQL Server Agent Service fail to start on a stand-alone server
http://support.microsoft.com/kb/307288/en-us
注意2:若設定SQL Server服務帳號為Local user account,SQL Agent服務帳號為LocalSystem,同樣會造成Job工作發生問題
Microsoft SQL-DMO (ODBC SQL狀態: 42000)
錯誤 22022: SQLServerAgent 目前不在執行中,因此無法通知它這個動作。
若是又依照已下KB911841設定會遇到KB307288問題,必須修改回都用LocalSystem或都用相同的Winodw Account
3.針對備份用的特定目錄給予服務啟動帳號Full Control權限
SQL Server 2000 有以下幾種狀況
狀況1只設定SQL Agent 啟動帳號為Local user account或Domain user account
SQL Server服務帳號:LocalSystem
SQL Agent服務帳號:Local user account或Domain user account
SQL Server可以運作,Job以Local user account登入SQL Server系統,由於Local user account是SQL sysadmin伺服器角色所以擁有SQL Server系統管理員權限
狀況2只設定SQL Server啟動帳號為Local user account或Domain user account
SQL Server服務帳號:Local user account或Domain user account
SQL Agent服務帳號:LocalSystem
可正常起動,SQL Server可以運作,但Job無法執行,執行時會發生錯誤
狀況3設定SQL Server與SQL Agent啟動帳號都為Local user account或Domain user account
此為最建議的最小權限設定:
SQL Server服務帳號:Local user account或Domain user account
SQL Agent服務帳號:Local user account或Domain user account
若SQL Server與SQL Agent設定為不同帳號
可正常起動,SQL Server可以運作,但Job無法執行,執行時會發生錯誤
若SQL Server與SQL Agent設定為相同帳號
可正常起動,SQL Server與SQL Agent都可以運作,且SQL Agent所執行的Job會以啟動帳號登入SQLServer,由於啟動帳號是SQL sysadmin伺服器角色所以擁有SQL Server系統管理員權限
沒有留言:
張貼留言