【问题标题】:Concurrent use of LocalDB on a network drive(s)在网络驱动器上同时使用 LocalDB
【发布时间】:2018-02-06 23:03:34
【问题描述】:

我的配置如下:

带有 Z: 的服务器映射到 d:\something

带有 Z 的客户端:映射到 \\server\ 位于 Z 的 LocalDB MDF(和整个应用程序):

单独一台计算机都可以,但不能同时工作。我得到一个例外说 System.Data.SqlClient.SqlException 0x80131904 无法打开登录请求的数据库 z:\xxx\xxx.mdf。登录失败。

【问题讨论】:

    标签: networking drive localdb


    【解决方案1】:

    这是无法做到的。 SQL 要求附加到数据库的物理文件应该由引擎以独占方式打开。

    通过安装支持远程连接的 SQLEXPRESS 解决。

    【讨论】:

      【解决方案2】:

      这是可以做到的。但这并不容易(使用 SQL 2016 localdb 做到这一点)。

      1. 在本地创建数据库。数据库将在 C:\Users\ 中创建,例如 c:\Users\eric\database.mdf
      2. 关闭 SSMS(或断开与对象浏览器的连接)
      3. 从命令提示符:MSSQLLocalDB stop
      4. 将database.mdf 和database_log.ldf 移动到网络驱动器(例如s:\sql\database.mdf)。
      5. 创建从原始位置到新位置的符号链接。在命令提示符下: mklink c:\Users\eric\database.mdf s:\sql\database.mdf mklink c:\Users\eric\database_log.ldf s:\sql\database_log.ldf

      6. MSSQLLocalDB start

      【讨论】:

      • 我不认为这个答案解决了将两台 PC 连接到位于服务器共享上的同一个 mdf 文件的问题。使用 Access mdb 文件可以做到这一点,但使用 LocalDB 则无法做到。
      猜你喜欢
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-16
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多