2012-01-12 33 views
0

我使用命令在SQL Express 2008中創建和設置數據庫,該程序執行.sql文件。 它以管理員權限安裝並執行它,但我還想讓常規用戶執行應用程序並訪問數據庫。 我使用Visual Studio 2008的普通安裝項目,而不是ClickOnce。在安裝應用程序並以普通用戶身份運行時創建.sql數據庫模式

我該怎麼做?

編輯:我遇到了http://archive.msdn.microsoft.com/addselftosqlsysadmin/,這部分解決了問題,但管理員仍然需要使用管理員權限執行該腳本,以便將普通用戶添加到SQL Express中。有沒有可能做這樣的事情,而無需使用管理員用戶?

+1

除非您的'普通'用戶具有創建數據庫特權,否則將被塞滿。 – 2012-01-12 18:18:44

+0

@TonyHopkinson我該怎麼做?也許這將解決問題 – noloman 2012-01-13 08:16:03

+0

(GRIN)那麼你需要以管理員身份登錄並給予它。 – 2012-01-13 15:13:09

回答

0

應用程序安裝後,您應該運行腳本來創建和設置DB一次。安裝程序只能由管理員運行。這是有原因的...... '普通用戶'應該只能運行應用程序並訪問數據庫。

+0

是的,就是這樣的:我找到了這個鏈接blogs.msdn.com/b/sqlexpress/archive/2010/02/23/...,並且該腳本完全符合我的要求。問題是管理員需要運行該腳本,以便可以添加普通用戶。是否有可能做一個解決方法,所以這個腳本是在常規用戶第一次啓動應用程序時執行的?或者至少,做一些操作,允許普通用戶訪問該數據庫 – noloman 2012-01-13 08:03:37

+0

我不確定我完全理解這些步驟。假設您已經創建了數據庫,您還可以創建用戶並授予權限。或者,您可以使用SSPI(如MS建議的),並且普通用戶應該能夠訪問它。從安全角度來看,控制誰能夠訪問您的資源以及如何訪問是非常重要的。你應該興旺地控制訪問,不允許任何人通過自己的意願獲得訪問權限。 – 2012-01-14 09:01:41

+0

我最終做的是在package.xml中使用/ SQLSYSADMINACCOUNTS =「Builtin \ Users」,因此我們將用戶添加到SQL Express 2008中的系統管理員帳戶。 – noloman 2012-01-16 08:03:22

相關問題