首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 網頁專案部署常見問題與解決方案

     編輯:關於SqlServer

記錄兩個真實部署至生產環境時遭遇的 SQL Server 權限問題及解決方式。

環境

SQL Server 2008, IIS, SSRS 2008, Visual Studio 2008, ASP.NET

問題一:部署後網頁存取報錯

原因: 開發環境使用內建 Web 伺服器,以開發者帳號連線資料庫;發布至 IIS 後,應用程式集區身分 (Application Pool Identity) 成為實際連線資料庫的安全性主體,但資料庫權限表僅設定開發者帳號。

解決: 將 IIS 應用程式集區身分帳號 (如 IIS APPPOOL\MyAppPool) 加入資料庫對應登入,並授予必要權限。同時確認網站身分驗證設定允許使用者帳號存取。

問題二:下拉清單無資料

原因: 下拉清單資料來源為預存程序,但呼叫端帳號 (應用程式集區身分) 無該程序的 EXECUTE 權限。

解決: 授予公開角色或特定資料庫角色執行權限:

GRANT EXECUTE ON 程序名 TO PUBLIC;
-- 或
GRANT EXECUTE ON 程序名 TO [db_role];

核心觀念

  • 部署後連線資料庫的安全性主體 = IIS 應用程式集區身分,而非開發者/使用者帳號。
  • 權限最小化原則:建立專用資料庫角色,僅授與必要物件權限 (EXECUTE/SELECT/INSERT...)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved