WebSurfer's Home

トップ > Blog 1   |   ログイン
APMLフィルター

SQLEXPRESS は「名前つきインスタンス」名

by WebSurfer 2012年11月12日 21:53

SQL Server の Express 版をインストールすると、デフォルトでは「名前つきインスタンス」となり、インスタンス名は SQLEXPRESS になります。

知ってました? 実は、自分は勘違いしていまして、SQLEXPRESS は Express 版の「既定のインスタンス」の名前だとばかり思っていました。(汗)

そうではなくて、一台のコンピューターにインストールできる「既定のインスタンス」は一つだけで、通常版/Express 版を問わず無名になるそうです。

時々 MSSQLSERVER という名前を目にしますが、どうやらそれはサービス名で、インスタンス名ではなさそうです。ちなみに、「名前つきインスタンス」のサービス名は MSSQL$<インスタンス名> になります。

詳しくは以下のページが参考になると思います。

名前付きインスタンスの使用

Windows サービス アカウントの設定

SQL Server 2012 Express のインストール

「既定のインスタンス」と「名前つきインスタンス」の主な違いは、名前の有無の他に、TCP/IP を利用してのリモート接続の際にポートが固定 (TCP 1433) になるか動的になるかです。

「名前つきインスタンス」の場合は、SQL Server の起動時に使用可能なポートが動的に割り当てられるので、接続には SQL Server Browser が必要になります。

ただし、「既定のインスタンス」が存在しなければ、Express 版を「名前付きインスタンス」SQLEXPRESS としてインストールしても、固定ポート (TCP 1433) を使うように設定を変更すれば SQL Server Browser を使用せずに接続することができます。

その場合、気をつけなければいけないのが接続文字列で、プロバイダに SqlClient を使用し SQLEXPRESS という名前の「名前つきインスタンス」に接続する場合は以下のいずれかに設定します。(2015/7/25 誤記訂正)

Data Source=tcp:<server name>
Data Source=tcp:<server name>,1433
Data Source=tcp:<server name>\SQLEXPRESS,1433

ちなみに、Data Source=tcp:<server name>\SQLEXPRESS とするとエラーになります。その理由は、サーバー名\インスタンス名で接続をした場合には、UDP 1434 (SQL Browser サービス) に接続して、指定したインスタンス名のポート番号を取得し、その後対象ポートに接続をする動作になるからだそうです。

また、プロバイダが Microsoft OLE DB Provider for SQL Server の場合、Data Source=tcp:<server name> ではエラーになるという報告もありますので注意してください。

詳しくは MSDN Forum のスレッド「SQLServer2008Expressにリモート接続できない」の Masayuki.Ozawa さんの書き込みを見てください。

Express 版のリモート接続のための設定は以下のページが参考になると思います。

SQL Server 2008 Express にリモート接続

上のページに、"リモート接続の場合、Windows 7/Vista では、Windows 認証を利用することはできません。" とありますが、Active Directory ドメイン環境でドメインアカウントを使用すれば Windows 認証は使用できます。

ワークグループ環境でも、以下のページに書いてある設定をすれば Windows 認証が使えるそうです(未検証です)。

ワークグループ環境にあるSQL SERVER 2005 EXPRESSでWINDOWS認証を使ってネットワーク接続する際の注意点

上の記事がリンク切れになると困るので、要点だけ書いておくと、サーバー / クライアント両方に同一 Windows ユーザーアカウントを設けて SQL Server の認証・承認の権限を与えるのはもちろん、ファイルの共有を無効にしておくことだそうです。(共有を有効にすると、サーバーに Guest としてアクセスしているとみなされるからだそうです。XP の話なので、Vista, 7, 8 でも同じかどうかは不明です)

Tags: ,

SQL Server

About this blog

2010年5月にこのブログを立ち上げました。主に ASP.NET Web アプリ関係の記事です。

Calendar

<<  2024年4月  >>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

View posts in large calendar