我正在寻找使用 sqllocaldb 命令实用程序的 share 命令在用户之间访问 LocalDb 数据库的方法,但我看不到一个用户在另一个用户中创建的数据库。
这是我的步骤:
在 Windows 7 上登录到用户 User1
使用 sqlcmd 创建一个名为 test 的新数据库,如下所示
sqlcmd -S (localdb)\v11.0 创建数据库测试
与User2共享实例v11.0如下
sqllocaldb共享域\User2 v11.0 myinstance
切换到用户 2
登录共享实例如下
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由 Krzysztof Kozielczyk 但事实并非如此。
感谢任何帮助/建议。
谢谢 削减
最佳答案
这不起作用的原因是您发出了错误的命令。 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
在任何一种情况下,您还需要确保您运行的是提升的命令窗口,以便它可以成功共享。
关于c# - 如何与同一台机器上的其他用户共享 SQL LocalDb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15915521/