我有一个我为Windows创建的服务。服务很好。我遇到的问题是许可问题。我的服务访问安装服务时创建的.mdf
SQL Server数据库文件(使用Installshield VS 2012)。
服务本身以用户身份运行。当我安装时,我输入我的凭据,我可以成功启动该服务。服务很好。但是,当我到达我必须打开.mdf
的代码中的部分时,我收到错误,因为数据库日志文件不存在且服务没有创建它的权限。
我可以解决的唯一方法是将我的用户名或经过身份验证的用户添加到我的程序文件文件夹的安全部分。这允许创建SQL Server .log
文件并继续运行我的服务。
解决这个问题的最佳解决方案是什么?基本上我希望能够运行服务和本地系统,它有权安装和创建.mdf
。
感谢您的帮助。
答案 0 :(得分:0)
您应该在安装期间创建数据库日志文件。您可以在安装期间运行自定义代码来执行此操作(代码可能类似于在常规代码中触发创建日志文件的代码)。这将使用具有提升权限的用户,因此从安全角度来看它将运行良好并且是正确的(在这种情况下,所有管理任务都应该在安装期间完成)。
最好不要将普通用户的权限添加到SQL Server数据文件夹,因为这会降低安全性。