单个.mdf数据库(ASP.net)SQL Server上的多个连接

时间:2012-01-23 13:16:37

标签: asp.net sql-server database

我正在尝试将{.mdf数据库放在Computer A上并在Computer B上同时访问它但是我遇到一个错误,指出我无法访问mdf文件,因为它正在被使用另一个过程。

设置是,数据库托管在Computer A中的公共文件夹中。我在两台计算机上运行Visual Studio,Computer B访问计算机A上的数据库。

计算机连接路径字符串:

C:\用户\公共\ database.mdf

计算机B连接路径字符串:

\ 192.168.254.8 \公共\ database.mdf

是否存在某些我不知道的设置以在数据库上启用多个访问?或者这是不可能的?

编辑:

让我重新解释一下我的问题,抱歉。

有两台计算机通过网络连接,我想访问一个Visual Studio解决方案/项目网站。我想这样做是为了演示,有可能吗?

5 个答案:

答案 0 :(得分:1)

同时或直接访问任何 DBMS下的数据库文件,控制非常糟糕练习或根本不可能。

使用适当的DBMS工具访问数据。

是的 - 可以访问网站项目进行演示。

答案 1 :(得分:1)

您应该在主机上运行SQL Server(甚至快速)实例。

来自客户端的所有请求都应使用标准机制来连接到该服务器实例。换句话说,他们不会运行自己的SQL Server副本,而是连接到主机上运行的实例。

答案 2 :(得分:0)

在主机上安装SQL Server(您希望保留数据库的那台)。

然后在Visual Studio中,使用“服务器资源管理器”找到数据库的远程实例。从那里,您可以在连接字符串中使用SQL Server的远程实例,从而允许您将多台计算机连接到单个数据库。

使用两个SQL Server实例连接到单个.mdf文件是一种非常糟糕的做法。

答案 3 :(得分:0)

您应该使用SQL Server Management Studio(SSMS)来附加MDF,而不是在连接字符串中指定MDF文件(我相信,它使用一种用户实例化形式)。然后连接到SQL Server,而不是连接到MDF。

您可能需要将MDF和LDF文件移动到SQL Server标识可以访问它们的位置,而不是将它们保存在VS项目中。

大多数项目都会让脚本在他们的VS项目中创建数据库,而不是二进制MDF本身。

部署时,过程类似:使用SSMS在服务器上附加MDF。

答案 4 :(得分:0)

是,如果通过LAN等网络连接2台或更多台计算机您可以通过输入其用户名/密码/通过Visual Studio连接从其他SQL Server访问Database Database1.mdf(比如说)。

缺点:

如果超过7~8个系统同时访问同一个数据库系统响应速度变慢并挂起或者可能导致错误,例如超出连接池或设备无响应..

在大公司,他们使用巨大的多核和基于Multi-Processer的服务器,响应速度更快。

克服:编写应用程序时使用连接打开和关闭特别是在其他时间执行SQL查询时应该关闭它。

Best Programer使用Transaction而不是使用普通方法。事务使每个用户访问数据库都有效且成功地执行查询。这些查询(事务查询)主要在客户端计算机上执行,稍后在主服务器获得时间段(同步)时对其进行更新。