Par*_*are 6 c# sql-server-2012 localdb
我正在寻找使用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中选择名称
以上查询不显示测试数据库.
为什么我无法在共享后看到User1中创建的用户2中的数据库?
我认为它必须基于博客(方法2)http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-2-instance- ownership.aspx# Krzysztof Kozielczyk的SharedLocalDB,但事实并非如此.
任何帮助/建议表示赞赏.
谢谢Pare
Mar*_*llo 16
这不起作用的原因是因为你发出了错误的命令.sqllocaldb.exe的使用说明是:
share|h ["owner SID or account"] "private name" "shared name"
Run Code Online (Sandbox Code Playgroud)
基于此,您的第二个命令应该是创建实例的SID或帐户,而不是您要与之共享实例的帐户.共享与计算机上的所有帐户共享实例.
假设您的帐户创建了您要共享的实例,那么您应该发出的命令是:
sqllocaldb share v11.0 myinstance
Run Code Online (Sandbox Code Playgroud)
否则,它应该是:
sqllocaldb share "<account that created the instance>" v11.0 myinstance
Run Code Online (Sandbox Code Playgroud)
在任何一种情况下,您还需要确保运行提升的命令窗口,以便可以成功共享它.
问题在于 LocalDB 作为当前用户拥有的进程运行,这意味着每个用户都运行自己的 LocalDB 实例。这就是它零配置且非常易于使用的原因。不幸的是,这也意味着很难拥有共享的 LocalDB 实例。我遇到了类似的问题,只是转而使用 SQL Express 作为开发中需要多个用户访问的数据库。