web-dev-qa-db-ja.com

SQL Server Express 2012/2016でlocalhostに接続できません

SQL Express 2012の最新バージョンをダウンロードしたばかりですが、localhostに接続できません。 localhost\SQLExpressとWindows認証を試しましたが、接続できないというエラーメッセージが表示されます。私はここに何かが足りないのですか?私は以前SQL Server 2008を使ったことがあり、localhostへの接続に問題があることは一度もありません。見つけることすらできないようです。また、サービスにはSQL Server VSS Writerしかありません。これは正しいはずですか。それとも私は何かが足りないのですか?ありがとう

85
dido

Aaron Bertandによると

  1. SQL Serverサービスが実行されていることを確認する必要があります。これを行うには、Start > Control Panel > Administrative Tools > Servicesに移動して、サービスSQL Server(SQLEXPRESS)が実行されていることを確認します。そうでなかったら、それを始めて下さい。

  2. サービスアプレットを開いている間に、サービス SQLブラウザ が起動されていることも確認してください。そうでなければ、 それを開始します

  3. SQL ServerがTCP/IPまたは名前付きパイプの使用を許可されていることを確認する必要があります。 Start > Programs > Microsoft SQL Server 2012 > Configuration Tools(またはSQL Server Configuration Manager)でSQL Server構成マネージャを開き、 TCP/IPと名前付きパイプが有効になっていることを確認して これらを有効にすることができます。

    SQL Server Configuration Manager

  4. SQL Serverの接続認証モードが接続文字列と一致していることを確認します。

    • ユーザー名とパスワードを使用して接続している場合は、 "SQL Server認証モード"を受け入れるようにSQL Serverを構成する必要があります。

      -- YOU MUST RESTART YOUR SQL SERVER AFTER RUNNING THIS!
      USE [master]
      GO
      DECLARE @SqlServerAndWindowsAuthenticationMode INT = 2;
      EXEC xp_instance_regwrite
        N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode',
        REG_DWORD,
        @SqlServerAndWindowsAuthenticationMode;
      GO
      
    • "Integrated Security = true"(Windowsモード)を使用して接続していて、このエラーがWebアプリケーションでのデバッグ時にのみ発生する場合は、SQL ServerログインとしてApplicationPoolIdentityを追加する必要があります
  5. そうでなければ、Start -> Run -> Services.mscを実行してください。

実行されていない場合

すべてがインストールされていないようです。インストールファイルを起動し、「新規インストールまたは既存のインストールへの機能の追加」オプションを選択します。そこから、データベースエンジンサービスが確実にインストールされるようになります。

156
Ravindra Bagale

[スタート] - > [プログラム] - > [Microsoft SQL ServerYYYY] - > [設定ツール] - > [SQL Server YYYY設定マネージャ]の順に選択するか、 "SQLServerManager12.msc"を実行します。

TCP/IPがクライアントプロトコルで有効になっていることを確認してください。

それから「SQL Serverネットワーク構成」に行き、TCP/IPをダブルクリックしてください。 [IPアドレス]タブをクリックして、一番下までスクロールします。 [IP All]でTCP Dynamic Portsが存在する場合は削除し、TCP Portを1433に設定します。[OK]をクリックし、[SQL Serverサービス]に戻ってSQL Serverインスタンスを再起動します。今、あなたはlocalhost経由で接続することができます、少なくとも私はできました。

enter image description here

もちろん、このエラーは他のアプリケーションから接続するときにも発生する可能性があります。通常のC#WebアプリケーションのWeb.config接続文字列の例:

<connectionStrings>
    <add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>
107
Ogglas

sQL Server Express 2012では、データソース名として "(localdb)\ MSSQLLocalDB"を使用する必要があります。たとえば、次のような接続文字列を使用できます。

Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;
11
A.SH

私は同様の問題を抱えていた - 私の解決策が役立つかもしれません。 MSSQL EX 2012(デフォルトインストール)をインストールし、VS2012 EXに接続しようとしました。喜びはありません。それから私はサービスを見て、SQL Server(SQLEXPRESS)が確かに稼働していることを確認しました。

しかし、私は無効になっているSQL Server Browserと呼ばれる別の興味深いサービスを見ました。私はそれを有効にし、それを起動した後、VS2012 EXの新しい接続でサーバー名を取得して接続することができました。

奇妙なことに、VSが接続するのに必要なサービスを無効にします。

10

まず、 Ravindra Bagale が提供する最も一般的なソリューションを試してください。

Localhostからデータベースへの接続がまだ次のようなエラーで失敗する場合:

SQL Server DBに接続できません。エラー:ホスト[IPアドレス]へのTCP/IP接続、ポート1433が失敗しました。エラー:「接続は拒否されました:接続。接続プロパティを確認してください。SQLServerのインスタンスがホストで実行され、ポートでTCP/IP接続を受け入れていることを確認してください。ポートへのTCP接続を確認してくださいファイアウォールによってブロックされていません。」

  1. SQL Server構成マネージャーを開きます。
  2. 問題のサーバーインスタンスのSQL Serverネットワーク構成を展開します。
  3. 「TCP/IP」をダブルクリックします。
  4. [プロトコル]セクションで、[有効]を[はい]に設定します。
  5. [IPアドレス]セクションで、[IPすべて](デフォルトでは1433)の下にあるTCPポートを設定します。
  6. [IPアドレス]セクションで、IPアドレス127.0.0.1(IPv4の場合)および:: 1(IPv6の場合)のサブセクションを見つけ、[有効]と[アクティブ]の両方を[はい]に設定し、TCP 1433へのポート。

    TCP/IP Properties

  7. Start > Control Panel > Administrative Tools > Servicesに移動し、SQL Serverサービスを再起動します(SQLEXPRESS)。

7
naXa

まず、SQL Serverサービスが実行中または停止していることを確認し、停止している場合は開始します。次の手順に従ってください。

1.スタート - >ファイル名を指定して実行 - > Services.msc

enter image description here

  1. [サービス]パネルの[標準]タブに移動し、SQl Serverを検索します(SQL2014)

「SQL2014」と表示されますが、あなたの場合は別名かもしれません

enter image description here

sQLサービスを起動すると、ローカルデータベースに接続できます。

誰かに役立つことを願っています。

6
PK-1825

私のサービスはすべて期待通りに動作していましたが、それでも接続できませんでした。

SQL Server ExpressプロトコルのSQL Server構成マネージャのTCP/IPプロパティセクションを更新し、接続するためにIPALLポートを1433に設定する必要がありました。期待どおりにサーバーに。

enter image description here

3
contactmatt

Windows認証から混在モードに変更してみてください

2
Guru1

私にとっての問題は、私が.\を指定していないということでした。インスタンスの名前だけを指定していました。

  • うまくいきませんでした:SQL2016
  • 働いた:.\SQL2016
1
Cosmin

私の状況

  • sQL Server Management Studioで空のインスタンス名>データベースエンジンを選択>マウスの右ボタン>プロパティ(サーバープロパティ)>リンクビュー接続のプロパティ>製品>インスタンス名が空です

  • データソース=。\ SQLEXPRESSが機能しませんでした=> web.configでlocalhostを使用します(下記参照)。

解決策:web.config内

xxxxxx = .mdfを除いた私のデータベースの名前yyyyyy = VS2012データベースエクスプローラの私のデータベースの名前

接続文字列内のサーバー名の前にtcp:を付けるか、localhostを使用することで、共有メモリの代わりにTCPを使用することを強制できます。

http://msdn.Microsoft.com/ja-jp/library/system.data.sqlclient.sqlconnection.connectionstring%28v=vs.110%29.aspx

1
Marc Van Rumste

これは私が同じような問題を抱えているのは奇妙です。ツール付きSQL 2012 Expressのパッケージをダウンロードしましたが、データベースエンジンがインストールされませんでした。

私はMSサイトから他のものをダウンロードし、これはデータベースエンジンをインストールしました。再起動後、サービスが一覧表示され、移動する準備が整いました。

1
user2832504

私は同じ問題を抱えていました、そして、私が私のSQL 2012のためにアップデートをインストールした後にこれが起こったのを発見しました。

1
Mur

@Ravindra Bagaleで述べられている手順を実行した後、この手順を試してください。 Server name: localhost\{Instance name you were gave}

enter image description here

0

サービスを所有するユーザーをローカルシステムに変更するか、自分の管理者アカウントを使用してみてください。

サービスの下で、私はサービスSQLサーバ(MSSQLSERVER)ログオンをNTサービス\ Sql ...からローカルシステムに変更しました。サービスを右クリックして[ログオン]タブに移動し、[ローカルシステムアカウント]ラジオボタンを選択します。他のユーザーにも問題がなければ、強制的に実行させることもできます。

0
DavidTheDev