web-dev-qa-db-ja.com

Windows 7でのSQL Server Management Studioのローカルデータベース接続エラー

Windows 7でSQL Server 2012 Management Studio Expressを実行していますが、ローカルデータベースへの接続に問題があります。上記の解決策をすべて試しましたが、うまくいきませんでした。助けてください。前もって感謝します。

インストールURLは here です。

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

ヘルプが必要な場合は、 MSDNリンク をクリックしてください。

13
Rakesh

SQL Serverをインストールし、名前付きインスタンスSQLEXPRESSを使用したとすると、サーバー名は次のようになります。

.\SQLEXPRESS

または:

127.0.0.1\SQLEXPRESS

インスタンス名(SQLEXPRESSではない場合があります)と、サーバーがスタートメニューのこれとよく似たパスで実行されていることを確認できます(ただし、バージョンによって異なります)。

[スタート]> [プログラム]> [Microsoft SQL Server]> [構成ツール]>
SQL Server構成マネージャー

現在停止している場合は、右クリックして「開始」を選択する必要があります。

enter image description here

また、右クリックして、スタートアップモードが自動に設定されていることを確認する必要があります(これは[プロパティ]> [サービス]にあります)。

エラーメッセージは、サーバーが名前付きパイプを使用しようとしていることを示しているようです。ローカルでは共有メモリを使用できるはずですが、次にSQL Server Browserサービスが実行されていることを確認する必要があります。あなたはそれを以下で行うことができます:

コントロールパネル>管理ツール>サービス

enter image description here

開始されていない場合は、開始し、開始モードを自動に設定します。 (上記のように、これらの両方を右クリックメニューから実行できます。)

それでも解決しない場合は、Windowsアカウントを管理者グループに手動で追加せずにSQL Server 2012をインストールした可能性があります。この場合、うまくいけば、混合モードを使用するように設定し、saとして接続できます。それ以外の場合は、SSMSをNT AUTHORITY\SYSTEMとして実行するために PSExec.exe のようなツールを使用する必要があります。

PsExec -s -i "C:\...path to ssms...\Ssms.exe"

Saとして接続できるか、PSExecを使用して接続する必要があるかに関係なく、次の手順は次のとおりです。

  1. windowsアカウントが、[サーバー]> [セキュリティ]> [ログイン]の下のログインであることを確認します。ない場合は、[ログイン]> [新規ログイン]を右クリックして追加します。
  2. ログインがsysadmin固定サーバーロールのメンバーであることを確認してください。そうでない場合は、[サーバーの役割]タブにあることを確認してください。
22
Aaron Bertrand

名前付きパイプを使用してSSMSをLocalDBインスタンスに接続できます。

1-次のコマンドを実行して、(localdb)インスタンスのアドレスを取得します。 "C:\ Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe "info [InstanceName](興味のあるデフォルトのインスタンスの場合、[InstanceName]としてv11.0を指定します。CMDでテキストファイルに書き込むには、次のコマンドを使用します:

"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe" info v11.0 > C:\db_details.txt

2-「インスタンスパイプ名」の値をコピーします。 np:\。\ pipe\LOCALDB#1E0FF40B\tsql\query

3-「インスタンスパイプ名」の値をサーバー名として貼り付けます。

11
Dmitry Pavlov

パーティーに遅れましたが、このリンクをチェックしてください私は同じ問題を抱えていました

http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

また、(localdb)\V11.0 as the server name.

注:インスタンス名V11.0は大文字と小文字が区別され、大文字のVは11.0です。

6
Troy Bryant

2日間のトラブルシューティングの後、最終的に、SQLサーバー管理スタジオの高速バージョンを使用している場合、ローカルデータベース接続にはの代わりにこれを使用します

Use ServerName =(LocalDb)\ MSSQLLocalDB

画像

詳細については、参照リンクにアクセスしてください- https://social.msdn.Microsoft.com/Forums/sqlserver/en-US/b75bef7e-13f3-4658-8d43-9df12ab4c320/connecting-localdb-using-sql -server-management-studio-express?forum = sqlexpress

4
shruti

特定のサーバーでTCPプロトコルが有効になっていることを確認しました。以下の手順に従って、プロトコルが有効になっていることを確認してください。

http://msdn.Microsoft.com/en-us/library/bb909712(v = vs.90).aspx

それらを有効にした後、サービスを再起動する必要があります。開始に失敗した場合は、開始しなかった理由をイベントログで確認してください。一般的な原因は、そのポートですでに実行されている別のサービス(通常は別のバージョンのSQLサーバー)があることです。その場合は、サーバーのポートを再構成する必要があります。このブログ投稿を確認してください(TCP/IPが有効になっているかどうかを確認する方法の画像も含まれています):

http://blogs.msdn.com/b/sqlblog/archive/2009/07/17/how-to-configure-sql-server-to-listen-on-different-ports-on-different- ip-addresses.aspx

その後の通常の次の障壁は、接続をブロックするファイアウォールまたはインターネットセキュリティソフトウェアです。これは、ローカルインスタンスでも発生しました。それを整理すれば、あなたは行ってもいいはずです。

それでも接続できない場合は、イベントログで理由を検索してください。

0
Jorge
  1. タスクマネージャーを開き、プロセスタブでsqlservr.exeを見つけます。
  2. 列のコマンドラインが表示されていることを確認し、表示されていない場合は、[表示]> [列の選択]> [下にスクロール]をクリックし、[コマンドライン]を選択して[OK]をクリックします。
  3. "C:\ Program Files\Microsoft SQL\110\LocalDB\Binn\sqlservr.exe" -c SMSSQL11E.LOCALDB -s LOCALDB#C1E849D --etcと表示されます
  4. LOCALDB#C1E849Dに注意してください
  5. SQL Management Studio(runas Administrator)を開き、サーバー名に\\。\ pipe ** LOCALDB#C1E849D0 **\tsql\queryと入力します。これで、LOCALDB内のすべてのデータベースを参照できるはずです。
0
Gil Candido

このコードを試してください:

RegistryKey rKey;
string InstanceName;

//use this string for database connection
string ConString;
string regPath = @"Software\Microsoft\Microsoft SQL Server\UserInstances";
rKey = Registry.CurrentUser.OpenSubKey(regPath);

if (rKey.GetSubKeyNames().Length != 0)
{
    regPath += @"\" + rKey.GetSubKeyNames()[0];
    rKey = Registry.CurrentUser.OpenSubKey(regPath);
    InstanceName = rKey.GetValue("InstanceName").ToString();
    ConString = @"Server=np:\\.\pipe\" + InstanceName +
        @"\tsql\query;Initial Catalog=RahBord;Trusted_Connection=True";
}
else
{
    Process.Start(@"C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SqlLocalDB.exe", "c amirLOCALDB -s");
    regPath += @"\" + rKey.GetSubKeyNames()[0];
    rKey = Registry.CurrentUser.OpenSubKey(regPath);
    InstanceName = rKey.GetValue("InstanceName").ToString();
    ConString = @"Server=np:\\.\pipe\" + InstanceName + @"\tsql\query;Initial Catalog=RahBord;Trusted_Connection=True";
}

インスタンスが停止した場合は、次のアドレスに移動します。

C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ 

このコマンドを使用します

SqlLocalDB.exe s yourInstance
0
yeye