web-dev-qa-db-ja.com

ローカルSQL Server 2008に接続できませんか?

SQL Server 2008をインストールしたばかりで、SQL Server Management Studioで接続できません。私の意図は、自分の ローカルのWindowsユーザーを認証させるだけですが、その方法は完全にはわかりません です。

私が書いている接続ダイアログで:

Server type: Database Engine
Server name: (local)
Authentication: Windows Authentication

私の最初の質問は、それが私が接続すべきものであるかどうかでしょうか?接続しようとすると、次のエラーメッセージが表示されます。

TITLE: Connect to Server
------------------------------

Cannot connect to (local).

------------------------------
ADDITIONAL INFORMATION:

A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance 
name is correct and that SQL Server is configured to allow remote connections.
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
(Microsoft SQL Server, Error: 2)

For help, click: http://go.Microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476

------------------------------
BUTTONS:

OK
------------------------------

私は そこに表示されたURL に行って、基本的には「SQLサーバーが実行されていることを確認してください」とだけ言っています。そうだと思いますが、よくわかりません。

Windowsファイアウォールを無効にしました(これはWindows 7 7100 x86です)。 SQL Server構成マネージャーでログオンシステムも変更しましたが、ログインの問題ではないようですが、ソケットを開くことができません。同じツールで、 "SQL Server Network Configuration"-> "Protocols for SQLEXPRESS"ですべてのプロトコルを有効にしました。アイデアが足りません。他に何を試すことができますか?

18
pupeno

サービスコンソールを開いて、SQL ServerのSまで下にスクロールできますか。サービスが表示されます。 SQL Server(SQLEXPRESS)が実行されていることを確認してから、(ローカル)ではなく。\ SQLEXPRESSを試してください。

あなたの例のように:

Server type: Database Engine
Server name: .\SQLEXPRESS
Authentication: Windows Authentication

お役に立てれば

更新:これらの手順は、SQL ServerのDev/Std/EntエディションではなくExpressエディションを実行していると想定しているためです


適切なプロトコルが有効になっていることを確認してください。

  1. SQL構成マネージャーを開始します(例:スタート->プログラム-> SQLサーバー->構成ツール)
  2. SQLネイティブクライアント構成を展開する
  3. [クライアントプロトコル]をクリックします(32ビットと64ビットがある場合があります。両方に適用します)。
  4. 共有メモリ、TCP/IP、名前付きパイプがこの順序で有効になっていることを確認します
  5. SQL Serverネットワーク構成を展開します。
  6. SQLEXPRESSまたはMSSQLSERVER、あるいはその両方の共有メモリが有効になっていることを確認します
  7. [SQL Serverサービス]をクリックします
  8. 実行中のサービスを再起動します

これでインスタンスにログインできるはずです


ログインできない場合は、次の手順に従ってSQL Serverをシングルユーザーモードにする必要があります。 Microsoftからの完全な手順については、 ここ を参照してください。

デフォルトでは、sqlservr.exeはC:\ Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binnにあります。 SQL Serverの2番目のインスタンスがインストールされている場合、sqlservr.exeの2番目のコピーは、次のようなディレクトリにあります。

C:\ Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn。

別のインスタンスからsqlservr.exeを使用して、SQL Serverの1つのインスタンスを開始できますが、SQL Serverは、サービスパックを含む誤ったインスタンスのバージョンも開始するため、予期しない結果が生じる可能性があります。

これを回避するには、次の例に示すように、sqlservr.exeを開始する前に、MS-DOSディレクトリ変更(cd)コマンドを使用して正しいディレクトリに移動します。

cd\Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn

コマンドプロンプトからシングルユーザーモードでSQL Serverの既定のインスタンスを起動するには

コマンドプロンプトから、次のコマンドを入力します。

sqlservr.exe -m

シングルユーザーモードは、他のユーザーにSQL Serverへの接続を望まない場合に緊急メンテナンスを実行するのに役立ちますが、SQL Serverエージェントサービスを含め、すべてのユーザーがシングルユーザーになることができます。

これで、インスタンスにログインして自分を[セキュリティ]タブに追加し、フルアクセスを許可できるようになります。

別の方法:

これは、現在のユーザーをSQL Serverのsysadminロールに追加することを要求するスクリプト here です。これはシングルユーザーモードで機能する可能性がありますが、確認していません

23
Wayne

(ローカル)は127.0.0.1に解決され、デフォルトでのみ機能します。 SQL Server Expressのデフォルトのように、インスタンスには実際の名前が必要です。 SQL Serverのエラーログ(SQLインストールフォルダー、次にログ)を確認すると、最初のいくつかのエントリの1つで、インスタンスのIP、ポート、および名前がわかります。

代わりにそれらを使用できます。インスタンス名はかなり一貫しているため、使用するのに適しています。これらは動的ポートも使用しているため、再起動するたびに異なるポートになる可能性があることに注意してください。 SQL Server構成マネージャーは、特定のポートを設定できます。 Expressツールについては不明です。

0
Steve Jones