13

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

インストールURLはこちらです。

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

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

4

7 に答える 7

22

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

.\SQLEXPRESS

または:

127.0.0.1\SQLEXPRESS

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

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

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

ここに画像の説明を入力

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

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

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

ここに画像の説明を入力

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

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

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

sa として接続できる場合でも、PSExec を使用して接続する必要がある場合でも、次の手順は次のとおりです。

  1. Windows アカウントが [サーバー] > [セキュリティ] > [ログイン] の下のログインであることを確認してください。そこにない場合は、[ログイン] > [新しいログイン] を右クリックして追加します。
  2. login が sysadmin 固定サーバー ロールのメンバーであることを確認してください。そうでない場合は、[サーバーの役割] タブの下にあることを確認してください。
于 2012-08-28T17:18:25.083 に答える
11

名前付きパイプを使用して、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 - 「インスタンス パイプ名」の値をサーバー名として貼り付けます。

于 2013-08-08T11:02:45.840 に答える
0

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

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
于 2013-09-04T17:20:41.113 に答える
0
  1. タスク マネージャーを開き、[プロセス] タブで sqlservr.exe を見つけます。
  2. [コマンド ライン] 列が表示されていることを確認します。表示されていない場合は、[表示] > [列の選択] > [スクロール ダウン] をクリックし、[コマンド ライン] にチェックマークを付けて [OK] をクリックします。
  3. 「C:\Program Files\Microsoft SQL\110\LocalDB\Binn\sqlservr.exe」が表示されます -c SMSSQL11E.LOCALDB -s LOCALDB#C1E849D0 --etc
  4. LOCALDB#C1E849D0に注意してください
  5. SQL Management studio (runas Administrator) を開き、サーバー名に「\\.\pipe**LOCALDB#C1E849D0**\tsql\query」と入力します。これで、LOCALDB 内のすべてのデータベースを参照できるはずです。
于 2016-07-21T11:01:58.063 に答える