程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 使用SQL Server 建立一個安全的數據庫的最好方法是

使用SQL Server 建立一個安全的數據庫的最好方法是

編輯:關於SqlServer
永遠不要給用戶直接訪問表的權限。如果你希望讓用戶使用交互式工具如Microsoft Acess 2000來訪問數據庫,可以只給他們訪問視圖和存儲過程的權限,而不是對表的直接訪問權限。如果存儲過程的擁有者是“dbo”,而且存儲過程所引用的表和視圖的擁有者也都是“dbo”,給予用戶對存儲過程的執行(EXECUTE)權限就足夠了。這樣就根本不用檢查對表的訪問權限了。

你還可以使用其它安全特性,比如通過在存儲過程中加入商業邏輯來控制哪些字段或行能夠被訪問。視圖是阻止用戶直接訪問表的另一種途徑。與存儲過程的區別是,你可以為視圖授予SELECT、INSERT、UPDATE或DELETE權限,而存儲過程則只能授予EXECUTE權限。

還有一件需要注意的事情是,如果你在另外一個數據庫中執行SELECT語句,數據庫對象擁有者的的鏈式關系仍然適用。比如說,在由SQL Server登錄名“sa”所擁有的pubs數據庫中,你就不能執行跨表查詢連接至被一個NT登錄名所擁有的數據庫中,即使兩個登錄名都是“sysadmin”角色的成員。如果你希望連接來自3個不同數據庫的表,那麼這3個數據庫的擁有者應該是同一個帳號。如果需要的話你可以使用存儲過程“sp_changedbowner”來改變數據庫的擁有者。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved