我想在我的Windows 7 x64机器上建立一个SQL Server 2012 LocalDB(RTM,x64)共享实例,我似乎无法连接到共享实例。我正在使用管理员命令提示符进行所有设置。下面是我如何创建实例:为什么我无法连接到SQL Server 2012 LocalDB共享实例?
sqllocaldb create MyInstance
其产生响应:
LocalDB instance "MyInstance" created with version 11.0.
到目前为止好。现在我分享实例:
sqllocaldb share "MyInstance" "MySharedInstance"
导致:
Private LocalDB instance "MyInstance" shared with the shared name: "MySharedInstance".
仍在寻找好。在这一点上,我的信息的命令得到:同时使用管理员或非管理员命令提示符
.\MySharedInstance
MyInstance
v11.0
连接到从所有者帐户(这是管理员)的情况下,似乎很好地工作。事情脱落的轨道,不过,当我登录为普通用户(不是Windows管理员),并尝试连接:
sqlcmd -S (localdb)\.\MySharedInstance
结果:
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Named Pipes Provider: Could not open a connection to SQL Server [2]. .
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout expired.
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
使用增加登录超时“-l”开关没有帮助。我可以连接到不共享的默认v11.0实例。除非没有“MyInstance”,否则非admin用户的info命令会产生与上述相同的结果,因为它是admin用户拥有的命名实例。下面的命令(其中工程管理员用户/实例所有者):
sqllocaldb info ".\MySharedInstance"
也导致错误:
Windows API call "FileTimeToSystemTime" returned error code: -2147024809.
所以,问题是,为什么不能我非管理员用户连接到我的共享实例?这似乎打败了共享实例的全部目的。当我尝试查询共享实例时,“sqllocaldb info”命令有什么问题会引发错误?
你说的是一个非管理员的Windows用户连接?所以你已经注销并以不同的用户身份登录?或者是用户试图从不同的机器连接? – 2012-04-18 17:37:56
以不同的用户身份登出并重新登录。我不需要从不同的机器连接。 – 2012-04-18 17:55:53
您确定实例在注销事件之后仍然存在吗?如果您以管理员用户身份注销并重新登录,会发生什么情况?我怀疑你会遇到同样的问题。 – 2012-04-18 18:00:11