首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法打开登录请求的数据库"Inventory_New“。登录失败。用户“sa”登录失败

无法打开登录请求的数据库"Inventory_New“。登录失败。用户“sa”登录失败
EN

Stack Overflow用户
提问于 2017-05-12 07:32:22
回答 2查看 744关注 0票数 0

我用 Server 2008 R2速成版制作了我的数据库,软件是用和C# Windows 制作的,用来存储一家大公司的库存数据。

我在软件中使用BackgroundWorker不断地检查股票是否已经更新,但出于某种原因,它显示了下面的错误。

无法打开登录请求的数据库"Inventory_New“。登录失败。用户“sa”登录失败。

我已经浏览了很多博客和文章,但是没有一个解决方案对我有用。

我可以使用用户sa登录,并且响应良好。

该软件工作正常,但在整个一天中它随机显示上述错误(每天6-7次,没有固定时间)。

SQL错误日志

下面是我在SQL中发现的错误,但我不明白这意味着什么

2017-05-12 05:01:41.78登录错误: 18456,严重性: 14,状态: 38. 2017-05-12 05:01:41.78用户“sa”登录失败。原因:未能打开显式指定的数据库。客户:

编辑

最近,我看到当我得到这个错误时,由于某种原因,数据库进入了恢复模式。

我还检查了一些为什么数据库进入恢复模式的文章,但这些文章似乎都不符合要求,因为在我的例子中,数据库在2到3秒的短暂休息后自动联机。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-12 09:42:55

错误指示无法打开的数据库Inventory_New。这意味着应用程序请求将此数据库作为初始目录,但数据库不在联机状态。例如,它可以是在还原的中间,也可以是脱机的。当您使用Management连接到服务器时,您不提交该数据库,我想sa登录的默认数据库是master,因此您成功登录。您应该检查一下为什么您的Inventory_New数据库没有联机。

票数 0
EN

Stack Overflow用户

发布于 2017-05-12 07:59:18

首先检查您的连接是否都已关闭并已处理。

将您的SqlConnection放在一个using块中,看看这是否改善了一些事情:

代码语言:javascript
复制
using (SqlConnection con = new SqlConnection(strConnect))
{
...
}

如果没有这样做,那么很可能SQL已经耗尽了连接--特别是当您正在创建、打开和丢弃一个新连接时。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43931924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档