共用方式為


安全性:建立有限存取的資料庫帳戶

Note附註

這項資訊適用於僅使用 SQL Server 驗證的資料庫組態。因為使用「整合安全」,Windows 驗證並不需要有限存取的資料庫帳戶。

從 Web 應用程式存取資料庫時,您需要解決安全性問題。特別是用來存取資料庫的帳戶,其存取範圍務必要限制在只有那些對 Web 應用程式而言確有必要的功能。

例如,Northwind 資料庫在 Crystal Reports 文件教學課程用來顯示以 Customers 資料表和 Orders 資料表為根據的報表。因此,連接至 Northwind 資料庫時所要使用的有限存取資料庫帳戶,就只需要兩個權限:

  • 存取 Northwind 資料庫的 Customers 和 Orders 資料表的權限。
  • 在這兩個資料表內,使用 SELECT 選取資料錄的權限 (但沒有使用 INSERT、UPDATE 或 DELETE 的權限)。

在本節中,您會學習如何建立有限存取的資料庫帳戶。

Note附註

建立這個有限存取的資料庫帳戶,並不會阻止您使用具有完全控制的「sa」系統管理員帳戶來存取這個資料庫。因此,您應該建立次要的帳戶,只讓 Web 應用程式使用。

下列指示說明適用於 MSDE 和 SQL Server,其效果相同。

  1. 輸入下列命令以登入 MSDE 或 SQL Server。

    • 在預留位置 [password] 中,使用系統管理員密碼。
    • 在預留位置 [serverName] 中,使用資料庫伺服器名稱。
<!-- end list -->

    osql -U sa -P [password] -S [serverName]
  1. 輸入 USE master,切換到主要資料庫,接著在下一行輸入 GO,然後按 Enter 鍵。

    USE master GO

  2. 執行資料庫指令碼「sp_addlogin」,並將您要用來做為有限存取資料庫帳戶、密碼及適用資料庫的名稱,當作命令列引數包含在其中。

在命令列引數中,自訂下列值:

  - 建立有限存取的資料庫帳戶名稱,例如「limitedPermissionAccount」。
  - 在您看到的這個預留位置 \[new\_password\] 中,建立要由有限存取帳戶使用的新密碼。記下這個密碼,因為您在其他教學課程中會需要用到它。

<!-- end list -->

    sp_addlogin 'limitedPermissionAccount','[new_password]','Northwind'
    GO
  1. 切換到 Northwind 資料庫。

    USE Northwind
    GO
    
  2. 執行資料庫指令碼「sp_grantdbaccess」,並傳入新建立的有限存取資料庫帳戶的名稱。

    sp_grantdbaccess 'limitedPermissionAccount'
    GO
    
  3. 針對 Customers 資料表,將 SELECT 權限授與您為 Customers 和 Orders 這兩個資料表新建立的有限存取資料庫帳戶。

    GRANT SELECT ON Customers
    TO limitedPermissionAccount
    GO
    GRANT SELECT ON Orders
    TO limitedPermissionAccount
    GO
    
  4. 輸入 exit 以結束 osql 命令列,然後按 Enter 鍵。

    exit
    

    您已經成功建立有限存取的帳戶,並授與其僅能使用 SELECT,只限存取 Northwind 資料庫 Customers 及 Orders 資料表的權限。

這會完成有限存取帳戶的設定,以連接至 Northwind 資料庫的 Customers 資料表。您現在可以開始建立下列任何一個使用 SQL 驗證存取 Northwind 資料庫的教學課程。