无法从应用程序和SSMS

时间:2017-10-16 05:15:11

标签: sql-server ssms

我的ASP.NET(C#)应用程序的App_Data目录中有一个数据库。如果我在Sql Server Management Studio中打开数据库,则无法从我的应用程序访问数据库。如果我关闭SSMS连接并尝试从我的应用程序访问数据库它可以工作,但在重新连接后我不能在SSMS中使用数据库。我已经检查过“限制访问”选项在数据库属性中设置为MULTI_USER。

编辑:SSMS运行时我在ASP.NET页面中遇到的错误是:

无法打开用户默认数据库。登录失败。 用户'ravi-PC \ ravi'登录失败。

当我关闭SSMS(我必须关闭SSMS,断开对象浏览器不起作用)访问ASP.NET页面时,ASP.NET页面正常工作。

当我重新打开SSMS并尝试访问数据库时,我得到的错误是:

无法打开物理文件“文件路径”操作系统错误32:“进程无法访问该文件,因为它正由另一个进程使用”(Microsoft SQL Server错误:错误5120)

编辑2 :这个问题不重复,因为我既不使用LocalDB也不使用远程服务器。我重新启动SQL服务,现在得到一个不同的错误。我能够连接,但在尝试访问表时,我收到此错误:

TITLE:Microsoft SQL Server Management Studio

执行Transact-SQL语句或批处理时发生异常。 (Microsoft.SqlServer.ConnectionInfo)

其他信息:

连接断开,无法恢复。客户端驱动程序尝试一次或多次恢复连接,并且所有尝试都失败。增加ConnectRetryCount的值以增加恢复尝试次数。 (Microsoft SQL Server,错误:0)

如需帮助,请点击:http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=0&LinkId=20476

无法打开登录请求的数据库“C:\ USERS \ RAVI \ SOURCE \ WEBSITES \ FIRSTTRY \ APP_DATA \ MYDATABASE.MDF”。登录失败。 用户'ravi-PC \ ravi'登录失败。 (Microsoft SQL Server,错误:4060)

如需帮助,请点击:http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=4060&LinkId=20476

2 个答案:

答案 0 :(得分:0)

AttachDbFilenameUser Instance选项用于启动连接到此特定MDF文件的SQLExpress的单个用户实例。

您写道,您不是使用LocalDB而是使用“普通”SQLExpress实例。 因此MDF文件被锁定,因为它已经附加到SQLExpress-Instance。

要使其正常工作,请将连接字符串更改为:

"Server=.\SQLEXPRESS;Database=MyDatabase;Integrated Security=True;"

答案 1 :(得分:0)

解决方案非常简单,在Visual Studio中我必须从SQL Server对象资源管理器中找到服务器,我得到了连接字符串,它可以按照我想要的方式工作。