将本地用户帐户添加到 SQL Server

e14*_*445 6 authentication sql-server connectivity sql-server-2014

我有一个 SQL Server 2014 的(开发者)实例在我的机器上运行。为了快速了解背景,我在一个像这样的小型网络上:

  • 工作组:首页
  • 用户
    • 首页\PCA
    • 首页\PCB
    • 首页\PCC

我是HOME\PCA。现在我想看看我是否可以使用我正在处理的应用程序让其他机器连接到我的实例。端口 1433 工作正常,如果我转到PCBPCC并测试以创建新的 ODBC 连接,我将成功访问该实例。

当在 SSMS 中尝试添加HOME\PCBHOME\PCC 时,它只会拒绝并告诉:Windows NT user or group 'HOME\PCB' not found. Check the name again.检查我的安全/登录我看到我是PCA\DevMachine(DevMachine)是我的 Windows 登录。如果我在“新登录”对话框中尝试“搜索”,则唯一可用的位置是PCA

我在 SQL Server 权限方面没有很多经验,但我的假设是它不会让其他计算机添加到我的 SQL Server 实例中,因为PCA是服务器,因此PCBPCC应该位于PCA\ PCB那种方案。

这与这种行为的原因有什么关系吗?或者,是否有任何我遗漏的显而易见的东西(所有网络电缆都已插入)?

问候

Rem*_*anu 6

这与 SQL Server 无关,只是基本的 Windows 身份验证。在工作组中,您只能使用 NTLM 镜像帐户进行身份验证。镜像帐户是在不同机器上具有相同名称和密码的本地帐户。

因此,要在机器 A 上运行的进程和机器 B 上运行的进程之间使用 Windows 身份验证,在工作组中,您必须:

  • 在 A 上创建一个本地用户 A\foo
  • 在 B 上创建一个镜像用户 B\foo,其密码与 A\foo 相同
  • 在 A 上以 A\foo 的形式运行客户端进程
  • 在 B 上授予 B\foo 权限

我强烈建议您部署一个合适的域并改用 AD。