sql异常:管道另一端没有进程
这是我的app.config中的连接字符串:
<add name="DefaultConnection" providerName="System.Data.sqlClient" connectionString="Data Source=BELLA\sqlEXPRESS;Initial Catalog=TLP;User Id=pascal;Password=test;Pooling=False"/>
当我使用Windows身份验证:Integrated Security = True;
然后我可以连接到数据库.
但是我不能使用Windows身份验证,因为打开sql连接是在作为LocalSystem运行的Windows服务中完成的.当我这样做我得到这个错误:
Login failed. Login failed for user ‘NT AUTHORITY\SYSTEM’
它是我第一次在sql管理工作室中创建一个登录用户,所以我几乎肯定我做错了,这是我的错.
这就是我所做的:
1)使用sql authentication user:pascal和password:test在服务器的安全文件夹中创建一个新的登录名.
2)进入我的数据库,并在安全文件夹中创建一个新的用户:pascal和login:pascal和schema:dbo
3)我忘了什么吗?
其他人的解决方案
1)我也尝试过这个链接,但没有运气我的sql Select在suspect_pages表是空的.
Error: No process is on the other end of the pipe
2)我的sql Server网络配置在tcp / ip,名称管道和共享内存设置上启用了ENABLED.
3)SQL Server 2008 can’t login with newly created user
数字1到3根本没有帮助.
所有这一切都是在我的本地机器上完成的.没有网络在这里
解决方法
如果没有,请尝试打开sql Server配置管理器实用程序并启用共享内存和TCP / IP.适用于我的订单是服务器和客户端的共享内存(1)和TCP / IP(2).
另外,确保您正确地为PASCAL创建了一个sql LOGIN和DATABASE USER.
查看我的博客文章创建登录. http://craftydba.com/?p=656
下面的代码片段将吹走并使用正确的默认数据库,默认架构和读/写权限重新创建您的登录/用户.
-- Which database to use. USE [TLP] GO -- Delete existing user. IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'pascal') DROP USER [pascal] GO -- Which database to use. USE [master] GO -- Delete existing login. IF EXISTS (SELECT * FROM sys.server_principals WHERE name = N'pascal') DROP LOGIN [pascal] GO -- Add new login. CREATE LOGIN [pascal] WITH PASSWORD=N'test',DEFAULT_DATABASE=[TLP] GO -- Which database to use. USE [TLP] GO -- Add new user. CREATE USER [pascal] FOR LOGIN [pascal] WITH DEFAULT_SCHEMA=[dbo] GO -- Add to database read / write roles EXEC sp_addrolemember 'db_datareader','pascal' EXEC sp_addrolemember 'db_datawriter','pascal' GO -- Add to database owner role? -- Only give out if application needs a high level of privileges. -- EXEC sp_addrolemember 'db_owner','pascal' -- GO
服务器级协议.
客户端级协议.
我从来没有选择NETBIOS,因为它是一个不可路由的协议.
如果您仍然遇到问题,请发布屏幕截图和更多详细信息.