2012-01-12 37 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

相关问题