web-dev-qa-db-ja.com

SQL Server接続文字列-dot( "。")または "(local)"または "(localdb)"

最近、SQL Serverをインストールし、データベースを2台のラップトップに復元する必要がありました。最初は2〜3日かかり、2番目はまだ苦労しています。

両方で、私はここでこのエラーを受け取っていました:

SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。 (プロバイダー:名前付きパイププロバイダー、エラー:40-SQL Serverへの接続を開けませんでした)

私はまだ2番目にそれを得ています。

私は多くの調査を行い、SQL ServerがTCPおよびNamed Pipesを実行していることを確認し、SQL Serverがリモート接続を許可していることを確認するなど、トラブルシューティング手順を見つけました。

最終的に、最初のラップトップで間違った接続文字列を入力していることに気づきました。 (localdb)\MSSQLSERVER2012(またはそのようなもの)を使用して、非常に多くのサイトで実行しようとしました。 .\MSSQLSERVER2012を使用すると動作し始めました。私は彼らがすべて同じ場所を指していると思ったが、明らかにそうではなかった。

もう一度この問題を回避し、2台目のラップトップをセットアップする方法を見つけたいです。 .\SQLSERVER2012(local)\SQLSERVER2012(localdb)\SQLSERVER2012などを使用する必要があるかどうかを知るにはどうすればよいですか? SqlLocalDbのようなコマンドラインツールを使用してこれを見つける簡単な方法はありますか?そして、そもそもこれはどのように設定されているのでしょうか?

31
Owen

.および(local)YourMachineNameはすべて同等であり、自分のマシンを指します。

(LocalDB)\instanceはSQL Server 2012 Expressのみです。

他の部分はインストール方法に依存します-インスタンス名でインストールする場合、そのインスタンス名をスペルする必要があります(SQL Server ExpressはデフォルトでSQLEXPRESSを使用しますSQL Serverの他のエディションは、特別な名前なしでデフォルトのインスタンスを使用しようとします)。

したがって、ローカルマシンにすべてのデフォルトオプションがインストールされている「通常の」SQL Serverの場合は、

.    or   (local)     or          YourMachineName

SQL Server Expressの場合、すべてのデフォルト設定でインストールされます。

.\SQLEXPRESS    or   (local)\SQLEXPRESS     or          YourMachineName\SQLEXPRESS

SQL Server構成マネージャー([スタート]メニューから起動)を見ると、次のように表示されます。

enter image description here

SQL Serverエントリの読み取り(MSSQLSERVER)その後、それはそのデフォルトのインスタンスです(名前なし)-そうでない場合は、括弧内にインスタンス名が表示されます

55
marc_s