SQL Server 2008错误233

22

我正在使用以下SQL脚本创建新的 SQL Server 2008 登录:

CREATE LOGIN [xyz] WITH PASSWORD='xyz',
            DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english], 
            CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF

成功创建了新的登录名。但是当我试图使用SQL Server Management Studio进行登陆时,它失败并显示以下信息:

已经与服务器建立了连接,但在登录过程中发生错误。(provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) (Microsoft SQL Server, Error: 233)

出了什么问题?我该如何解决这个问题?


此问题还有更多(重复的?)讨论,请参考:https://dev59.com/B1sW5IYBdhLWcg3w8q5S - bytedev
14个回答

37

以下是我完成此项任务的方法,或许对您也有用。

  1. 使用 Windows 身份验证登录 Microsoft SQL Server 2012。

  2. 在“对象资源管理器”中右键单击服务器名称,然后单击“属性”。

  3. 在新选项卡中单击“安全性”。

  4. 选择“SQL Server 和 Windows 身份验证”。

  5. 点击“确定”。

  6. 关闭 SQL Server 管理工具。

  7. 按下“开始+运行”。

  8. 输入“services.msc”。

  9. 在其中搜索 SQL 并重启所有服务。

这对我很有效。


3
好的答案,我遇到了同样的问题,所以我启用了混合连接,但只有重新启动服务才使它真正起作用。谢谢。 - Carlos Jimenez Bermudez
2
最佳答案,我花了几个小时尝试多种解决方案,直到找到这个正确的答案。谢谢。 - Ayman Al-Absi
1
谢谢,更好的一个。甚至可以与SQL Server 17/18一起使用。 - Bijay Yadav

11

还有一种可能是您尝试使用SQL Server身份验证,但未启用它。 要解决此问题,请在SQL Server Management Studio中右键单击服务器实例上的属性,并更新安全设置,以包括“SQL Server和Windows身份验证模式”。


3

看起来你正在尝试使用命名管道进行连接,但 SQL Server 没有侦听该协议。 请参阅 MSDN。

MSDN 建议的两个解决方法是:

  • 使用 TCP/IP 进行连接,或使用 SQL Server Configuration Manager 启用命名管道的远程连接。
  • 在客户端计算机上使用 SQL Server Configuration Manager,将 TCP 放在命名管道之前。

更改顺序:SQL Server 配置管理器 -> SQL Native Client 配置 -> (右键单击) 客户端协议 -> 属性 -> (将启用的协议上移或下移)。点击确定。 - bytedev

1
我遇到了类似的问题: 1. 以主用户或Windows身份验证用户登录。 2. 右键单击数据库 -> 属性 -> 安全性 -> 3. 通过单选按钮将Windows身份验证模式更改为“SQL Server和Windows身份验证模式”。(如果不是) 4. 重新启动服务器。

这就是前两个答案所说的字面意思。 - bytedev

1

当我第一次在本地机器上安装SQL Server 2014时,也遇到了同样的问题。

在我的情况下,解决方法是设置正确的默认数据库。


0

在按照这里的示例操作后仍然无法登录,我发现我的 sa 登录已被禁用。以下操作让我成功登录:

Logged back in under windows authentication.  
Expanded Security Tab 
Expanded Logins Tab 
Right-clicked sa and selected Properties
Went to the Status Tab
Under Login: Clicked 'Enabled' radio
Restarted Server and logged in as sa.
This assumes you have set sa password already using
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;

0

我没有使用脚本样式,但是通过GUI登录时遇到了相同的错误代码。我输入了错误的用户名,这就是为什么我一直收到Sql Server,Error: 233的原因。

为了解决这个问题,您应该输入以下信息:

服务器名称:MachineName\SQLEXPRESS
身份验证:SqlServer Authentication
用户名:指定的用户名或者简单地使用sa
密码:xyzpqr

注意:这里我只是为了演示目的而写了上述数据,实际数据是您的机器和软件属性。


0

"已成功与服务器建立连接,但在登录过程中出现错误。"

我在 Docker 中使用 sqllocaldb 时遇到了这个问题。问题是 Docker 镜像没有分配足够的内存。增加内存实际上解决了这个问题。


0

这可能不是连接问题。检查您的默认数据库是否在线。通常情况下,当默认数据库离线或不存在时,会出现此类问题。如果您的默认数据库不是 master,请检查此选项。


0

根据:https://msdn.microsoft.com/zh-cn/library/bb326280.aspx

前往 --> 远程设置

转到“远程”选项卡

在“远程协助”部分,勾选“允许远程协助连接到此计算机”,点击“高级”按钮并勾选“允许...”,在“邀请”中设置“30天”

然后在“远程桌面”部分

只需勾选“允许远程连接到此计算机”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接