我有一个networking,多个用户在多用户客户端/服务器模式下使用Office Accounting 2009。 OA基于SQL Server构build。 一台PC作为“服务器”,具有SQl服务器实例,另一台只安装了应用程序,没有SQL实例,所有应用程序都远程连接到“服务器”上的SQL实例。
我在这里松散地使用术语“服务器”,它只是一个正常的工作站,恰好被指定为服务器并运行SQL实例。 没有NT域,所有用户帐户都是本地帐户。
OA在多用户模式下工作的方式是每个用户都需要在客户端和服务器PC上具有相同用户名和密码的本地帐户。 这一直工作得很好,没有随之而来的Windows 8.我使用我的“微软帐户”又名LiveIDlogin到Windows 8。
办公室记帐运行正常,并尝试连接到数据库,但失败,'你没有执行此操作的权限'。
在SQL日志中,我得到这个错误:
2012-10-28 17:54:01.32login错误:18456,严重性:14,状态:11。 2012-10-28 17:54:01.32login用户'SERVER \ Guest'login失败。 原因:基础架构基于令牌的服务器访问validation失败
SERVER是SERVER的主机名。 所以它似乎authentication为“客人”?
为了validation这一点,我启用了“服务器”PC上的Guest帐户,然后在Office Accounting中允许用户添加Guest(这简单地在SQL中创build用户并为其提供适当的数据库angular色)。
果然,使用Office Accounting时,我的Windows 8电脑就可以连接到数据库。
显然,从安全和审计的angular度来看,让用户authentication为“客户”很可恶。 所以我需要的是如何解决这个问题的一些想法。 我已经尝试将Windows 8 PC切换到“本地帐户”,并且这也起作用,但是需要放弃Windows 8 PC上的重要function。 我真正需要的是强制Windows 8 PC在连接到远程SQL实例时使用一组特定的凭据。 办公室会计采取已login的用户名,这是我的LiveID,并不对应任何Windows用户名。
任何人解决这个问题?
从等式中删除Office记帐,您可能需要通过使用本地用户名和密码login到Windows 8计算机并连接到目标计算机上的共享来进行testing。 通常,Windows将尝试连接当前的凭据。 如果这不起作用,这似乎是一个Windows问题,与SQL或Office记帐无关。 可能更容易testing和本地化。
下一步将尝试build立一个连接,如net use x: \\targetcomputer\sharename ,然后运行Office Accounting。
虽然Office Accounting不允许通过它的用户界面,我发现手动添加我的完整LiveID(完整的电子邮件地址格式)作为数据库login(在OA数据库上有适当的映射和用户angular色),使我能够成功地进行身份validation数据库服务器 login是使用SQL Server身份validation添加的,并使用与用于使用LiveIDlogin的密码相同的密码。
为什么我从来没有想过这个,我不知道 – 也许是因为它看起来很奇怪,有电子邮件地址作为SQLlogin。
您似乎已成功通过使用Windows LiveID帐户login从Windows 8打开公司文件。 但是,根据您的build议,我遵循了它,并在Microsoft SQL Server Management Studio中创build了新的login帐户。 不幸的是,我还没有能够设置和运行的东西。
这是来自SQL服务器日志的logging。 “用户login失败”,用户没有与受信任的SQL Server连接关联[CLIENT:192.168.1.102]“
那么,如果我将Windows 8用户帐户更改为本地帐户,并在运行Windows XP的服务器上创build相同的帐户,那么一切正常。
在这个问题上的帮助将是受欢迎的。
最好的问候,萨斯