Windows 7 x64 マシンで SQL Server 2012 LocalDB (RTM、x64) 共有インスタンスをセットアップしようとしていますが、共有インスタンスに接続できないようです。すべてのセットアップに管理者コマンド プロンプトを使用しています。インスタンスの作成方法は次のとおりです。
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".
まだまだ元気そうです。この時点で、info コマンドによって次の結果が得られます。
.\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 インスタンスに接続できます。管理者以外のユーザーの info コマンドは、管理者ユーザーが所有する名前付きインスタンスであるため、「MyInstance」がないことを除いて上記と同じ結果になります。次のコマンド (管理者ユーザー/インスタンス所有者に対して機能します):
sqllocaldb info ".\MySharedInstance"
また、エラーが発生します。
Windows API call "FileTimeToSystemTime" returned error code: -2147024809.
問題は、管理者以外のユーザーが私の共有インスタンスに接続できないのはなぜですか? これは、共有インスタンスの目的全体を無効にしているようです。また、共有インスタンスについてクエリを実行しようとすると、「sqllocaldb info」コマンドでエラーがスローされるのはなぜですか?