使用特殊字符或电子邮件地址作为SQL登录

时间:2013-12-12 00:32:45

标签: sql-server

我正在对SQL Server 2008 R2进行故障排除,服务器正在从多个服务中产生大量连接错误。在查看服务器的设置方式时,用户将许多服务设置为在特定登录凭据下运行。客户端已在配置管理器中设置SQL Server默认实例,以使用设置密码在帐户someusername@somedomain.org下运行

我在许多地方看到过这种情况,包括SQL Server Analysis Service SQL Server代理以及IIS应用程序池和与SQL Server通信的其他Windows服务。查看SQL控制台日志,服务器在一分钟内生成失败的登录错误。

过去,我始终使用网络服务(用于Intranet部署)或提供用作服务帐户的域帐户somedomain\somename来设置这些服务帐户。正在使用的电子邮件地址未配置为SQL Server登录,但在服务器上添加了域用户帐户domain\someusername作为SQL Server登录名。对我来说,这些在SQL Server中是不一样的,domain\someusername != someusername@somedomain.org是不正确的假设?

我正在通过重置所有要使用NetworkService的服务来将所有内容设置为基线,因此我至少可以使一切正常运行。

我的问题是,在登录SQL Server中使用特殊字符是否有限制?我一直认为你不想(或不能)使用特殊字符来创建登录,例如电子邮件地址。我知道在针对SQL注册IIS计算机时,您可以将计算机名称用作domain\machinename$。在我看来,电子邮件地址不是有效的域帐户,因为它可能是别名等,并且您希望明确使用有效的域用户/服务帐户。

任何人都可以提供一些关于允许的参考资料吗?当我搜索msdn或google时,我会在SQL注入或转义密码时获得更多结果。我只是想更深入地了解与SQL Server登录相关的内容,以及记录的最佳实践正在向前发展,因此在解释要做什么或不做什么时,我有一些合法的参考。

客户端将服务器设置为使用混合模式身份验证,但看起来他们试图将所有内容设置为依赖Windows身份验证来连接到服务器。

感谢任何见解,

-cheers

1 个答案:

答案 0 :(得分:1)

用户帐户对象有两个名称 - 用户主体名称和SAMID - 两者在林中必须是唯一的。这些可以在“Active Directory用户和计算机”的“帐户”选项卡中看到。

用户主体名称由登录名后跟UPN后缀组成。例如,andrea@adventure-works.com。 UPN后缀是森林的属性,与电子邮件域无关(尽管为了理智,它们应匹配电子邮件地址: - )。

SAMID包含Active Directory域的NetBIOS名称,后跟登录名(Windows 2000之前版本)。例如ADVENTURE-WORKS\andrea

大多数软件都接受这两种类型的名称,但有些只接受其中一种。