別の編集
Cory さん、SQL Server の以前のバージョン (2008 など) がインストールされている場合、それが sqlcmd
のバージョンです。 使用しています。 LocalDb に接続するには、SQL Server 2012 バージョンの sqlcmd
を使用する必要があります。 .そのため、ユーザーへの指示では、以下を実行して SQL Server 2012 バージョンを使用するようにする必要があります。
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
これは私にとってはうまくいきました。私が確認していないのは、このパスと sqlcmd
のバージョン のみを持っているユーザーが利用できます sqllocaldb.msi をインストールしました。申し訳ありませんが、SQL Server 2012 がインストールされていない (または以前のバージョンのみがインストールされている) ネイキッド マシンを持っていないため、これを徹底的に試すことができません。ただし、sqlcmd
の 110 バージョンを明示的に呼び出す場合はお知らせください
110 バージョンが最初になるようにシステム変数を変更するようにユーザーに指示することもできると思います (これは自動的に行われるはずです)。
FileTimeToSystemTime
Krzysztof の同僚の 1 人によってバグとして確認されました。したがって、所有者以外が sqllocaldb
経由で接続するための修正はまだありません .しかし、SSMS と sqlcmd
の両方が 動作させることができるので、実行に近づくことを願っています.
編集
所有者以外のユーザーをインスタンスに追加する必要があります。 CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
および適切な権限も。私のテストでは、ログインに失敗し、間違ったエラー メッセージが生成されました (「FileTimeToSystemTime」エラー メッセージはバグです)。 GRANT CONNECT
も必要です .これを行うと、 この接続でManagement Studioを使用して2番目のユーザーから接続できるようにします(私が試した唯一のもの):
(localdb)\.\MySharedInstance
しかし sqlcmd
から 、どのように接続しようとしてもエラーが発生します:
sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
すべての収量:
インスタンスがリモート接続を受け入れるように設定されていることを確認しましたが。したがって、sqlcmd
という別のフープがあります。
sqllocaldb
について exe、これはどのようにロジックに従いますか? info
でインスタンスがあることがわかります 、停止しようとすると適切なエラー メッセージが表示されます。開始しようとすると [既に] 開始されているというメッセージが表示されますが、接続できませんか?
したがって、必要でない限り sqlcmd
アクセス、短期的には、セカンダリ ユーザーに SSMS を使用してもらいます (適切なアクセス許可を付与したら)。うまくいけば、Krzysztof が他のアイテムに関する詳細情報を入手できるようになります。
4.0.2 アップデートにつきましては http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :