我正在尝试从域外部连接到 SQL 服务器。
我有以下连接字符串:
SqlConnection("SERVER=Server;DATABASE=Database;User ID=Domain\User;Password=password");
当我尝试在域外使用它时,这将失败,因为它尝试使用 SQL 身份验证登录。
有没有办法将命令传递到字符串中以使用 Active Directory 身份验证。
使用域外的活动目录详细信息连接到 SQL 服务器还有哪些其他方法?
您要么需要:
您通过将域凭据放入用户/密码中进行了无效组合,甚至没有信任关系。
编辑:
注释表明需要将 SQL 帐户与 AD 凭据同步。这不是必需的。sql 帐户只是 SQL 范围内的用户名和密码,它特定于 SQL 服务器,与域凭据无关。如果您使用 SQL 帐户,那么这些将成为您应用程序中的配置设置,用于构建正确的连接并通过网络发送。SQL 服务器在本地对这些凭据进行身份验证,而不涉及 AD。
是否创建 2 层(胖客户端直接访问 sql)或 3 层(客户端访问访问 sql 的中间层应用服务器)也很有趣。如果是后者,您的应用程序对用户进行身份验证和授权,然后,它使用带有 sql 特定用户/密码的配置设置来访问 sql。如果是前者并且您使用的是 sql 帐户,那么每个客户都需要一个,这是一个问题。