SQLServer登录数据库报网络名不可用的错误(事件17809)

一、错误截图

1、使用sa和windows用户认证登录都报错,错误如下:

    已成功与服务器建立连接,但是在登录前的握手期间发生错误。(provider: TCP Provider, error: 0 - 指定的网络名不再可用。) (.Net SqlClient Data Provider)

二、分析过程

1、查看SQLServer服务,启动状态,没有问题

2、Telnet数据库端口,是通的,说明端口没有问题;

3、查看事件查看器,发现报错如下:

 Could not connect because the maximum number of '2' user connections has already been reached. The system administrator can use sp_configure to increase the maximum value. The connection has been closed. [CLIENT: <local machine>]

翻译后:无法连接,因为已达到“2”用户连接的最大数目。系统管理员可以使用sp_configure来增加最大值。连接已关闭。[客户端:<local machine>]

三、解决办法

1、使用sqlcmd登录数据库,并进入master数据库

命令:

sqlcmd -E -A -S 127.0.0.1
use master
go

2、打开高级选项

命令:

sp_configure 'show advanced options',1;
go
reconfigure;
go
sp_configure 'show advanced options';
go

3、设置用户连接数为0(表示无限制)

命令:

sp_configure 'user connections','0';
go
reconfigure;
go
sp_configure 'user connections';
go

4、重启数据库服务,再次登录成功。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SQL Server中,用户映射数据库的过程是将一个登录账户(即数据库用户)与一个具体的数据库用户进行关联。这个过程将使得该登录账户能够访问和操作指定数据库。 当我们在进行用户映射数据库时,经常会遇到"重命dbo"的错误。这个错误一般发生在以下情况下: 1. 在映射过程中,已经有一个称为"dbo"的数据库用户存在了。这个错误往往是因为我们尝试将同一个登录账户映射到两个不同的数据库用户上,而这两个数据库用户的称都是"dbo"。 2. 已经存在一个其他登录账户与"dbo"用户关联。这个错误可能发生在我们尝试将一个登录账户映射到"dbo"用户上时,但是数据库中已经有一个不同的登录账户与"dbo"用户关联了。 要解决这个问题,我们可以采取以下步骤: 1. 查看数据库中是否存在称为"dbo"的数据库用户,如果存在,则需要将它删除。可以使用如下的SQL语句进行删除: DROP USER [dbo] 2. 确保在映射过程中,将不同的登录账户分别映射到不同的数据库用户上,避免重。可以选择一个不同的称作为数据库用户的称,而不是使用"dbo"这个默认的称。 3. 如果存在已经与"dbo"用户关联的其他登录账户,可以选择将其解除关联,或者将其关联到一个新的数据库用户上。 总之,遇到"重命dbo"错误时,我们需要删除已存在的"dbo"用户、确保映射过程中避免重,并且处理好与"dbo"用户关联的其他账户。这样,我们就能够成功地进行SQL Server用户映射数据库的操作了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值