症状
假设你有一个 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 实例,该实例配置为使用区分大小写的排序规则。 尝试使用下列方法之一将 Microsoft Windows NT 用户或组添加为 SQL Server 的登录:
-
使用 SQL Server Management Studio (SSMS)。
-
使用 sp_grantlogin 系统存储过程。
-
使用 CREATE LOGIN 语句。
-
使用 SUSER_SID 函数。
在这种情况下,你会收到以下错误消息:
错误15401找不到 Windows NT 用户或组 "Domain_name \ User_name"。再次检查名称。
原因
出现此问题的原因是 Windows NT API 返回的登录不区分大小写。 但是,由于你配置的区分大小写的排序规则,SQL Server 执行区分大小写的比较。
解决方案
累积更新信息
SQL Server 2008 R2 SP2 的累积更新4
此问题的修补程序首次在累积更新4中发布。有关如何为 SQL Server 2008 R2 SP 2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2777358 SQL Server 2008 R2 Service Pack 2 的累积更新程序包4 注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 SP 2 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本
SQL Server 2008 R2 Service Pack 1 的累积更新包10
此问题的修补程序首次在累积更新10中发布。有关如何获取此累积更新包的 SQL Server 2008 R2 SP1 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2783135 SQL Server 2008 R2 SP1 的累积更新包10 注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 R2 SP1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本
累积更新8 SQL Server 2008 Service Pack 3 (SP3)
此问题的修补程序首次发布,即累积更新8。有关如何获取此累积更新包的 SQL Server 2008 Service Pack 3 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2771833 SQL Server 2008 的累积更新程序包 8 Service Pack 3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 Service Pack 3 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2629969 发布 SQL server 2008 Service Pack 3 后发布的 SQL Server 2008 版本
有关如何解决错误15401的详细信息,请转到以下 Microsoft 知识库文章:如何解决错误 15401
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。