0

我正在通过 IIS / Websync 在 SQL Server CE、3.5 SP2 和 SQL Server 2012 之间进行合并复制。当我使用 DB 身份验证与发布者连接时,一切正常。如果我将它切换到 NT 身份验证,我的脚本中会出现以下错误:

初始化 SQL Server Reconciler 失败。再试一次。

...并且在 IIS 服务器同步日志中记录了以下错误:

命令=SYNC Hr=00004818 用户“域\用户”登录失败。18456

我试图改变这一点的原因是(如果我错了,请纠正我)我不想将凭据存储在我的同步脚本(powershell)中。我希望如果我使用 NT 身份验证,它将使用此脚本在任务调度程序中运行的凭据 - 或手动运行它的任何人。基本上,这是我的目标——不管它可以实现——不在脚本中存储信用。

4

2 回答 2

0

要使用 Windows 身份验证,您必须在 IIS 服务器上使用基本身份验证(可能使用 SSL 保护),但客户端必须提供 Windows 用户名和密码。然后,您可以将 PublisherSecurityMode 设置为 NTAuthentication,然后 Windows 帐户将登录到数据库服务器。因此,您必须在脚本中存储凭据或提示运行脚本的人输入凭据,然后相应地设置 InternetLogin 和 InternetPassword 属性。

于 2013-03-24T11:13:52.977 回答
0

我让它工作的唯一方法是当我运行向导并选择“匿名”进行网络访问时。直到那时我才被提示输入将用于 NT Auth(存储在 Web 服务器上)的凭据。这意味着所有客户端都匿名连接并使用相同的 SQL 凭据。它们不能各自拥有自己的 SQL 凭据。但是,它们可以各自拥有自己的 IIS 凭据。

于 2013-03-22T13:31:42.440 回答