如何使用同一台机器上的其他用户共享SQL的LocalDB?(How to share SQL Loc

2019-08-21 03:36发布

我在寻找各种方法来用户之间的访问数据库的LocalDB使用sqllocaldb命令行工具的share命令,但我不能看到数据库中一个用户创建在另一个。

下面是我的步骤:

  1. 登录用户用户1在Windows 7

  2. 创建一个使用SQLCMD如下名为test的新数据库

    SQLCMD -S(的LocalDB)\ V11.0创建数据库测试

  3. 分享实例V11.0与用户2如下

    sqllocaldb份额域\用户2 V11.0 MYINSTANCE

  4. 切换到用户2

  5. 登录到共享的实例如下

    SQLCMD -S(的LocalDB)\。\ MYINSTANCE

    从选择sys.master_files中名

    上述查询不显示测试数据库。

为什么我不能够看到在用户1共享后创建的用户2的数据库?

我认为它必须工作基于博客(方法2) http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-2-instance- ownership.aspx#SharedLocalDB由克日什托夫·Kozielczyk但事实并非如此。

任何帮助/建议表示赞赏。

由于佩尔

Answer 1:

问题是,运行的LocalDB由当前用户拥有的过程,这意味着每个用户运行他们自己的LocalDB实例。 这是什么使得它的零配置,非常易于使用。 不幸的是,这也意味着它很难有一个共享的LocalDB实例。 我也陷入了类似的问题,只是切换到使用SQL Express的分贝我需要通过发展多用户访问。



Answer 2:

这是不工作的原因是因为你发出了错误的命令。 从sqllocaldb.exe的使用说明如下:

share|h ["owner SID or account"] "private name" "shared name"

在此基础上,你的第二个命令应该是创建的实例,不是你想分享与实例的帐户中的SID或帐户。 与计算机上的所有帐户的共享共享一个实例。

假设你的帐户创建您要共享的情况下,那么你应该发出的命令是:

sqllocaldb share v11.0 myinstance

否则,它应该是:

sqllocaldb share "<account that created the instance>" v11.0 myinstance

在这两种情况下,你还需要确保你正在运行提升的命令窗口,以便它可以成功地共享。



文章来源: How to share SQL LocalDb with other users on same machine?