Windows 7でSQL Server 2012 Management Studio Expressを実行していますが、ローカルデータベースへの接続に問題があります。上記の解決策をすべて試しましたが、うまくいきませんでした。助けてください。前もって感謝します。
インストールURLは here です。
error- SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。 (プロバイダー:SQLネットワークインターフェイス、エラー:26-指定されたサーバー/インスタンスの検索エラー)(Microsoft SQL Server、エラー:-1)
ヘルプが必要な場合は、 MSDNリンク をクリックしてください。
SQL Serverをインストールし、名前付きインスタンスSQLEXPRESSを使用したとすると、サーバー名は次のようになります。
.\SQLEXPRESS
または:
127.0.0.1\SQLEXPRESS
インスタンス名(SQLEXPRESSではない場合があります)と、サーバーがスタートメニューのこれとよく似たパスで実行されていることを確認できます(ただし、バージョンによって異なります)。
[スタート]> [プログラム]> [Microsoft SQL Server]> [構成ツール]>
SQL Server構成マネージャー
現在停止している場合は、右クリックして「開始」を選択する必要があります。
また、右クリックして、スタートアップモードが自動に設定されていることを確認する必要があります(これは[プロパティ]> [サービス]にあります)。
エラーメッセージは、サーバーが名前付きパイプを使用しようとしていることを示しているようです。ローカルでは共有メモリを使用できるはずですが、次にSQL Server Browserサービスが実行されていることを確認する必要があります。あなたはそれを以下で行うことができます:
コントロールパネル>管理ツール>サービス
開始されていない場合は、開始し、開始モードを自動に設定します。 (上記のように、これらの両方を右クリックメニューから実行できます。)
それでも解決しない場合は、Windowsアカウントを管理者グループに手動で追加せずにSQL Server 2012をインストールした可能性があります。この場合、うまくいけば、混合モードを使用するように設定し、saとして接続できます。それ以外の場合は、SSMSをNT AUTHORITY\SYSTEMとして実行するために PSExec.exe のようなツールを使用する必要があります。
PsExec -s -i "C:\...path to ssms...\Ssms.exe"
Saとして接続できるか、PSExecを使用して接続する必要があるかに関係なく、次の手順は次のとおりです。
名前付きパイプを使用して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-「インスタンスパイプ名」の値をサーバー名として貼り付けます。
パーティーに遅れましたが、このリンクをチェックしてください私は同じ問題を抱えていました
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です。
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
特定のサーバーでTCPプロトコルが有効になっていることを確認しました。以下の手順に従って、プロトコルが有効になっていることを確認してください。
http://msdn.Microsoft.com/en-us/library/bb909712(v = vs.90).aspx
それらを有効にした後、サービスを再起動する必要があります。開始に失敗した場合は、開始しなかった理由をイベントログで確認してください。一般的な原因は、そのポートですでに実行されている別のサービス(通常は別のバージョンのSQLサーバー)があることです。その場合は、サーバーのポートを再構成する必要があります。このブログ投稿を確認してください(TCP/IPが有効になっているかどうかを確認する方法の画像も含まれています):
その後の通常の次の障壁は、接続をブロックするファイアウォールまたはインターネットセキュリティソフトウェアです。これは、ローカルインスタンスでも発生しました。それを整理すれば、あなたは行ってもいいはずです。
それでも接続できない場合は、イベントログで理由を検索してください。
このコードを試してください:
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