感谢您使用微软产品。SSPI是指"Security Support Provider Interface",是Win NT用于Kerberos认证的借口,支持NT LM Security Support Provider方案。只有TCP/IP要用到SSPI API进行Windows认证。如果您的错误是指: "Cannot Generate SSPI Context",那么引起错误的原因可能是您通过TCP/IP Net Library连接SQL Server数据库时,Microsoft
Windows NT LM Security Support Provider的相关注册表键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTLMSsp 缺失。您有两个解决方法。
1. 使用Named Pipes或其他协议连接数据库,因为只有TCP/IP要用到SSPI API建立可靠连接。
2. 或者在另一台装有NTLM Security Support Provider Service的Win NT上获得相关注册表信息,复制到出现问题的服务器上。详细信息请参考:
Q269541 INF: "Cannot Generate SSPI Context"  Error Message
http://support.microsoft.com/support/kb/articles/q269/5/41.asp
-  微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。

解决方案 »

  1.   

    多谢多谢!但是我想知道,那个信息怎么会丢失的?情况是这样:我本地机器(NT4.0 SP6 SQL 7.0)执行源码的时候,没有任何异常
    (打包的时候用到了SQLDMO, 数据库连接采用DSN)
    在制作了一个新的安装包
    安装到一台2000 Server (SQL 2000)
    覆盖原来的应用程序
    然后就发生这个错误
    而且,我发现每次安装完新的安装包
    数据库里的用户权限会丢失
    我必须跑道数据库里重新设置这是为什么?