SQL Express 2012の最新バージョンをダウンロードしましたが、ローカルホストに接続できません。localhost \ SQLExpressとWindows認証を試しましたが、接続できないというエラーメッセージが表示されます。ここで何かが足りませんか?以前にSQLServer2008を使用したことがあり、ローカルホストへの接続で問題が発生したことはありません。見つからないようです。また、サービスにはSQLServerVSSライターしか表示されません。これはあるべき姿ですか?それとも私は何かが足りないのですか?ありがとう
14 に答える
SQLServerサービスが実行されていることを確認する必要があります。これを行うには、に移動
Start > Control Panel > Administrative Tools > Services
し、サービスSQL Server(SQLEXPRESS
)が実行されていることを確認します。そうでない場合は、開始します。サービスアプレットを使用しているときに、サービスSQLブラウザが開始されていることも確認してください。そうでない場合は、開始します。
SQLServerがTCP/IPまたは名前付きパイプの使用を許可されていることを確認する必要があります。これらをオンにするには、
Start > Programs > Microsoft SQL Server 2012 > Configuration Tools
(またはSQL Server Configuration Manager
)でSQL Server構成マネージャーを開き、 TCP/IPと名前付きパイプが有効になっていることを確認します。[スタート]メニューにSQLServer構成マネージャーが見つからない場合は、MMCスナップインを手動で起動できます。バージョンに応じたスナップインへのパスについては、SQLServer構成マネージャーを確認してください。SQLServer接続認証モードが接続文字列と一致することを確認します。
ユーザー名とパスワードを使用して接続している場合は、「SQLServer認証モード」を受け入れるようにSQLServerを構成する必要があります。
-- 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
- 「IntegratedSecurity=true」(Windowsモード)を使用して接続していて、このエラーがWebアプリケーションでのデバッグ時にのみ発生する場合は、SQLServerログインとしてApplicationPoolIdentityを追加する必要があります。
Start -> Run -> Services.msc
それ以外の場合は実行します。そうであれば、実行していますか?
実行されていない場合は
すべてがインストールされていないようです。インストールファイルを起動し、[新規インストールまたは既存のインストールに機能を追加する]オプションを選択します。そこから、データベースエンジンサービスがインストールされていることを確認できるはずです。
[スタート]->[プログラム]->[MicrosoftSQLServerYYYY]->[構成ツール]->[SQLServer YYYY構成マネージャー]に移動するか、「SQLServerManager12.msc」を実行します。
クライアントプロトコルでTCP/IPが有効になっていることを確認します。
次に、「SQL Serverネットワーク構成」に移動し、TCP/IPをダブルクリックします。[IPアドレス]タブをクリックして、一番下までスクロールします。[すべてIP]で、TCP動的ポートが存在する場合は削除し、TCPポートを1433に設定します。[OK]をクリックしてから[SQL Serverサービス]に戻り、SQLServerインスタンスを再起動します。これで、ローカルホスト経由で接続できます。少なくとも私は接続できました。
もちろん、このエラーは他のアプリケーションから接続する場合にも発生する可能性があることに注意してください。通常のC#WebアプリケーションWeb.config
接続文字列の例:
<connectionStrings>
<add name="DefaultConnection" connectionString="server=localhost;database=myDb;uid=myUser;password=myPass;" />
</connectionStrings>
SQL SERVER EXPRESS 2012では、データソース名として「(localdb)\ MSSQLLocalDB」を使用する必要があります。たとえば、次のような接続文字列を使用できます。
Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;
まず、 RavindraBagaleが提供する最も人気のあるソリューションを試してください。
それでもローカルホストからデータベースへの接続が失敗し、次のようなエラーが発生する場合:
SQLServerDBに接続できません。エラー:ホスト[IPアドレス]、ポート1433へのTCP/IP接続に失敗しました。エラー:「接続が拒否されました:接続します。接続のプロパティを確認します。SQLServerのインスタンスがホストで実行されており、ポートでTCP/IP接続を受け入れていることを確認します。ポートへのTCP接続がファイアウォールによってブロックされていないことを確認します。 。」
- SQLServer構成マネージャーを開きます。
- 問題のサーバーインスタンスのSQLServerネットワーク構成を展開します。
- 「TCP/IP」をダブルクリックします。
- [プロトコル]セクションで、[有効]を[はい]に設定します。
- [IPアドレス]セクションで、[すべてIP]の下にTCPポートを設定します(デフォルトでは1433)。
[IPアドレス]セクションで、IPアドレス127.0.0.1(IPv4の場合)と:: 1(IPv6の場合)のサブセクションを見つけ、[有効]と[アクティブ]の両方を[はい]に設定し、TCPポートを1433に設定します。
に移動し
Start > Control Panel > Administrative Tools > Services
、SQL Serverサービスを再起動します(SQLEXPRESS
)。
私も同様の問題を抱えていました-多分私の解決策が役立つでしょう。MSSQL EX 2012(デフォルトのインストール)をインストールし、VS2012EXに接続しようとしました。喜びはありません。次に、サービスを調べて、SQL Server(SQLEXPRESS)が実際に実行されていることを確認しました。
ただし、SQLServerブラウザと呼ばれる別の興味深いサービスが無効になっているのを見ました。私はそれを有効にして起動し、VS2012EXの新しい接続でサーバー名を取得して接続することができました。
VSが接続するために必要なサービスを無効にするのは奇妙なことです。
Windows認証から混合モードに変更してみてください
私にとっての問題は、私が指定していなかったこと.\
でした。インスタンスの名前のみを指定していました。
- 動作しませんでした:
SQL2016
- 働いた:
.\SQL2016
これは奇妙なことですが、私も同様の問題を抱えています。ツールを使用してSQL2012Expressのパッケージをダウンロードしましたが、データベースエンジンがインストールされませんでした。
もう1つはMSサイトからダウンロードし、これはデータベースエンジンをインストールしました。再起動後、サービスが一覧表示され、準備が整いました。
私の状況
SQL Server ManagementStudioの空のインスタンス名>データベースエンジンを選択>マウスの右ボタン>プロパティ(サーバーのプロパティ)>リンクビューの接続プロパティ>製品>インスタンス名が空
データソース=。\SQLEXPRESSが機能しませんでした=>web.configでlocalhostを使用してください(以下を参照)
解決策:web.config内
xxxxxx=.mdfを含まないデータベースの名前yyyyyy=VS2012データベースエクスプローラーのデータベースの名前
接続文字列のサーバー名の前にtcp:を付けるか、localhostを使用することにより、共有メモリの代わりにTCPを強制的に使用できます。
同じ問題が発生し、SQL 2012のアップデートをインストールした後にこれが発生したことがわかりました。それを修正したのは、プログラムと機能を調べて修復を実行することでした。
サービスを所有するユーザーをローカルシステムに変更するか、管理者アカウントを使用してみてください。
サービスの下で、サービスSQL Server(MSSQLSERVER)のログオンをNT Service \Sql...からローカルシステムに変更しました。サービスを右クリックして[ログオン]タブに移動し、[ローカルシステムアカウント]ラジオボタンを選択します。それがより適切であれば、別のユーザーにそれを実行させることもできます。