Ite*_*tor 71 sql-server sql-server-2012
我有这个错误:
A connection was successfully established with the server, but then an error occurred
during the login process. (provider: Shared Memory Provider, error: 0 - No process is
on the other end of the pipe.)
(Microsoft SQL Server, Error: 233)
Run Code Online (Sandbox Code Playgroud)
我知道,这个网站上有类似的问题,答案是,启用TCP/IP和管道.但是我启用了两个,但仍然不起作用:

我使用的是Microsoft SQL Server 2012,用户拥有完全权限.
Ite*_*tor 81
默认情况下,服务器仅设置为Windows身份验证.没有任何通知,错误的起源就是这样,因此很难弄明白.即使您仅使用SQL身份验证创建用户,SQL Management工作室也不会发出警报.
所以答案是:从Windows切换到SQL身份验证:
properties;security标签;SQL Server and Windows Authentication mode;您现在可以使用您的登录名/密码进行连接.
小智 53
要解决此问题,请使用Windows身份验证连接到SQL Management Studio - 如果这不起作用,则可能需要重新安装SQL Server - 然后右键单击服务器节点"属性" - >"安全性"并启用SQL Server和Windows身份验证模式.如果您使用'sa',请确保该帐户已启用.要执行此操作,请在"登录"下打开"sa"并查看"状态".

因此,我最近也有此功能,以实现集成安全性。事实证明,我的问题实际上很容易解决,但主要是因为我忘记在连接字符串中添加“ Trusted_Connection = True”。
我知道这似乎很明显,但是我花了20分钟左右,直到我意识到我已经从connectionstrings.com复制了我的连接字符串格式,并且连接字符串的那一部分丢失了。
很简单,我有点傻,但这就是我的答案。
小智 7
如果您尝试使用SQL凭据登录,还可以尝试在注册表中更改SQL Server的LoginMode以允许SQL Server和Windows身份验证.
同时强制TCP/IP连接(通过提供127.0.0.1而不是localhost或.)可以揭示错误的真正原因.在我的例子中,连接字符串中指定的数据库名称不正确.
所以,这是清单:
我第二次遇到这个问题,之前的所有答案都失败了,幸运的是,以下请求可以完成这项工作:
Alter login [user] with CHECK_POLICY = OFF
go
Alter login [user] with CHECK_POLICY = ON
go
Run Code Online (Sandbox Code Playgroud)