2008-11-05 97 views
1

我已經構建了一個使用SQL Express 2005的應用程序,我想部署它,但問題是任何擁有SQL Management Studio(或類似的東西)的人都可以在他的計算機上安裝連接到我的數據庫並進行更改。 是否有阻止最終用戶查看或編輯我的數據庫的內容,即使是那些具有管理員權限的內容?SQL Express 2005,安全數據庫文件

+0

如果我爲SA帳戶和混合模式安裝了帶有自定義密碼的SQL Express?在不知道密碼的情況下是否仍可以連接到它? – mrtaikandi 2008-11-05 10:22:23

+0

這是一個或者或者它可以讓你使用sql server auth進行身份驗證或者使用Windows身份驗證進行身份驗證。它不會讓一個人既做一個,也不做另一個。只有當您不需要Windows身份驗證才能運行時,您必須將其鎖定到SQL Server身份驗證。 – 2008-11-05 10:37:38

回答

2

我想你是指默認情況下SQL Server安裝允許Windows和SQL Server身份驗證。如果您刪除Windows身份驗證模式,則用戶將不得不通過SQL Server身份驗證進行連接。

這從http://support.microsoft.com/kb/247931

SQL Server身份驗證

SQL服務器 身份驗證依賴由SQL Server的計算機 維護的內部 用戶列表。此列表不包括 Windows NT用戶,並且特定於 SQL Server計算機。用戶是 使用SQL企業管理器創建和配置。要使用此 身份驗證方法,與 執行以下步驟:如果通過開放式數據庫連接 (ODBC)連接 ,在ODBC管理

•, 選擇SQL Server身份驗證時 您配置數據源。

•在 ActiveX數據對象(ADO) 連接字符串,包括 參數「UID」和「PWD」當你 使用ODBC,和「用戶ID」和「密碼」 當您使用SQLOLEDB提供商。

1

我想這不是你所希望的答案,但不可避免的是,任何具有管理權限的人都可以瀏覽和編輯數據庫中的信息。

你不能改變這一點。

也許你可以考慮爲什麼要防止這種訪問?

我希望你想防止篡改或意外的數據損壞?

如果這是原因,那麼您可以通過向數據庫添加約束來防止腐敗。添加外鍵約束,唯一性約束以及有助於防止數據損壞的所有內容。

然後管理員需要在篡改之前故意撤消這些限制,這可以防止大多數意外損壞,但當然不會防止惡意破壞行爲。

如果您關心保護您的知識產權,可以加密程序化組件(存儲過程,視圖和函數)。這種加密不是很強大,但可以防止隨意檢查。

加密是通過在創建或更改語句使用

WITH ENCRYPTION 

條款加入。

相關問題