räp*_*äph 14 .net c# sql-server windows-services sql-server-2005
我在C#中编写了一个Windows服务,它应该使用System.Data.SqlClient连接到SQL-Server 2005 Express数据库.
由于Microsoft更喜欢使用Windows身份验证而非SQL身份验证,因此我尝试使用Trusted Conenction/Integrated Security连接到数据库.
但是,这不起作用,因为我得到一个System.Data.SqlClient.SqlException:用户'NT AUTHORITY\LOCAL SERVICE'登录失败.
是否可以使用其他Windows帐户登录?
mjv*_*mjv 17
目前,该服务似乎当前在LocalService帐户下运行,并且此服务帐户当前未在SQL上授权.
可以通过以下两种方式之一修复此情况:在SQL中授权的帐户下运行帐户,或者将LocalService帐户添加为SQL中的登录帐户.特别:
编辑:第一种方法可能更可取,因为在系统中普遍存在LocalService帐户,授予它访问SQL的权限会暴露SQL,而数据库将使特定服务或使用它的驱动程序受到损害.
相反,通过引入特定帐户,可以更好地控制谁访问SQL对象以及如何访问.这当然会带来配置这样一个帐户的问题,关于应该授予的权限,在系统级别(而不是SQL),并且根据底层服务的作用,可能需要创建此帐户相当强大,因此在其他方面的潜在责任....
归档时间: |
|
查看次数: |
20131 次 |
最近记录: |