ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
SQLExpress 2005( および 2008 ) の接続設定
日時: 2013/05/10 14:29
名前: lightbox



2013/05/10 現在、SQLExpress 2008 でも動作確認しました

必要なサービスは、SQLServer(SQL Express)のみです

※ 設定前に開始しておきます


ここは古い情報
以降の接続設定は、SQLServer7.0〜SQLServer2000 に該当する MSDE の情報に詳しい人の為の説明です。解らない場合は Windows 認証のまま使用して下さい
※ Windows 認証を選択すると、セットアップによって sa アカウントが作成されますが、既定では無効になっています
※ その場合は既存のアプリケーションが動作しない場合があります
(1) SQL 認証の有効化
この値は、以前は 1 に設定されていましたが、現在は 2 に設定されているので変更する必要は無いと思いますが確認して下さい。

レジストリの場所は、まず HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names で、インスタンスの名前を確認して、その名前が使われているツリーを開きます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL

レジストリを開くスクリプトのダウンロード

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer

レジストリを開くスクリプトのダウンロード
レジストリを開くスクリプトは、64ビット環境では、32ビットアプリから呼び出すとレジストリエディタが 32 ビットバージョンで開かれるので正しく表示されないと思います。 ここは古い情報
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLServer
AuditLevel=2
※ X は 通常 1(インストール順)↓参考値 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\SQLEXPRESS
ここから、しばらくコマンドプロンプトで操作します。

コマンドプロンプトは、『ファイル名を指定して実行』から cmd と入力して実行しますが、その際、タイトルの左端を右クリックして『プロパティ』を選択して以下のダイアログを表示して『簡易編集モード』をチェックして下さい。



これをチェックすると、マウス操作でクリップボードへコピー(ドラッグ選択して右クリック)したり貼り付け(右クリック)たりする事ができるようになります。
(2) sa の有効化とパスワード設定
sqlcmd -E -S .\SQLEXPRESS
sqlcmd を終了するのは、プロンプトで quit です 上記コマンドでプロンプトが表示されたら、
select is_disabled from sys.server_principals where name= 'sa'
GO
を実行して、is_disabled が 1 の場合、sa は有効ではありません。
1> select is_disabled from sys.server_principals where name= 'sa'
2> GO
is_disabled
-----------
          1
コマンドラインからすぐ実行するには
sqlcmd -E -S .\SQLEXPRESS -Q "select is_disabled from sys.server_principals where name= 'sa'"
で確認して下さい。 有効にするには以下のようにします(パスワードも設定)
sqlcmd -E -S .\SQLEXPRESS
権限が必要なので、SQL Express をインストールしたユーザで実行して下さい 上記コマンドでプロンプトが表示されたら、
ALTER LOGIN sa ENABLE
GO
ALTER LOGIN sa WITH PASSWORD = 'XXXXXXXXXXXX'
GO
※ パスワードは適宜変更します を実行する( ALTER LOGIN (Transact-SQL)) ここは古い情報 ( 参考 : http://support.microsoft.com/kb/322336/ja ) 以下抜粋 >SQL Server 2005 Express Edition を使用している場合は、 >Osql ユーティリティを使用することを避け、現在 Osql 機能を使用しているアプリケーションを >変更することを検討してください。代わりに Sqlcmd ユーティリティを使用してください。 (3) ログインモード設定 ( Windows 認証 : 1、混合モード認証 : 2 )
混合モード認証 : 2 に設定します

ここは古い情報
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLServer
LoginMode=2
(4) サービスを再起動 (5) 以下で sa が有効である事を確認
sqlcmd -U sa -P XXXXXXXXXXXX -S .\SQLEXPRESS

(6) サービスの設定 専用のサービス設定ツール(セキュリティ構成)を使用する (7) リモート接続の設定 ( Windows Firewall/Internet Connection Sharing サービスにも注意 ) (8) SQLBrowser は必要ではありません ( 詳細は Microsoft ドキュメント ) サービスの起動・停止は構成マネージャで行う (9) サーバとクライアントのプロトコルを確認する
何故か、デフォルトでサーバー側のプロトコルが 名前付きパイプと TCP/IP の両方が無効になっているので有効にする必要があります。

※ クライアントは全て有効になっていると思います
64ビット Windows7 (10) 無効の場合は、有効にしておく (11) 重要 別名の作成 名前つきパイプ ( MSSQL$SQLEXPRESS は、サービス名 ) 特別変更されていなければ、以下のようになります
\\PC名\pipe\MSSQL$SQLEXPRESS\sql\query
サーバー側の名前付パイプで確認してもいいです 別名の指定
★ サーバーは PC 名です。
★ 64ビット PC の場合は、32ビット用と 64ビット用の別名を作成して、使用するアプリが 32ビットの場合は 32ビット用の別名を使用して下さい
★ 別名の最後に空白が入らないように注意して下さい。
★ どこかを更新するとパイプ名が動作しないデフォルトに戻る可能性があるので注意して下さい
★ 設定後、SQLExpress を再起動して下さい

Microsodt が意図的に設定に失敗するように仕向けているととか思えないほど、妙な設定の落とし穴がたくさんあるので注意して下さい
TCP/IP
動的ポート割り当て、静的ポート割り当てと言った機能が用意されていて、結局どうすれば接続できるかが解りにくくなっています。この機能は、セキュリティ上や複雑化した OS 上のアプリケーション環境を考えての事でしょうが( その為に SQL Browser というサービスが必要なようです )テスト環境としてすぐ使いたい場合は、静的ポート割り当てを 1433 で行います

問題無いのであれば、『名前付きパイプ』が簡単です。
ここは古い情報です HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1 \MSSQLServer\SuperSocketNetLib\Tcp\IPAll サーバーの TCP/IP のプロパティ 別名の指定
★ サーバーは PC 名です。
★ 64ビット PC の場合は、32ビット用と 64ビット用の別名を作成して、使用するアプリが 32ビットの場合は 32ビット用の別名を使用して下さい
★ 別名の最後に空白が入らないように注意して下さい。
★ 設定後、SQLExpress を再起動して下さい

ダウンロード ▼ リンク先には他のバージョンもあります SQL Server 2005 Express Edition のダウンロード SQL Server 2005 Books Online のダウンロード ▼ 2005 のみ SQL Server 2005 Express Edition のダウンロード
以下は古い情報です ※ 接続トラブルは、別名を作成する事によって回避できるようです。 ↓Microsoft の 別名接続に関するドキュメント http://support.microsoft.com/kb/265808/ja ↓MSDE2000 に関して補足 http://winofsql.jp/VA003334/msde050904000023.htm
メンテナンス


日時: 2013/05/10 14:29
名前: lightbox