ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: SQLExpress 2005( および 2008 ) の接続設定
名前: lightbox
処理選択
パスワード

件名 SQLExpress 2005( および 2008 ) の接続設定
名前 lightbox
コメント
@SHOW
@C:red(2013/05/10 現在、SQLExpress 2008 でも動作確認しました)

[[必要なサービスは、SQLServer(SQL Express)のみです]]
https://lh6.googleusercontent.com/-RhMUBvkV0jU/UYxgply_PvI/AAAAAAAANnY/HqYLwCNCfN0/s400/_img.jpg
※ 設定前に開始しておきます

https://lh3.googleusercontent.com/-i2hdS-aF8Ds/UYxhUm4o7QI/AAAAAAAANng/LoelBqiz1VA/s400/_img.jpg
@END

[[ここは古い情報]]
@SHOW
@C:GREEN(以降の接続設定は、SQLServer7.0〜SQLServer2000 に該当する MSDE の情報に詳しい人の為の説明です。解らない場合は Windows 認証のまま使用して下さい)
※ Windows 認証を選択すると、セットアップによって sa アカウントが作成されますが、既定では無効になっています
※ その場合は既存のアプリケーションが動作しない場合があります
@END


[[(1) SQL 認証の有効化]]
@SHOW
@c:red(この値は、以前は 1 に設定されていましたが、現在は 2 に設定されているので変更する必要は無いと思いますが確認して下さい。)

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

[[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL]]
https://lh5.googleusercontent.com/-WxJBnQ5aMqg/UYxj1Fi0ZwI/AAAAAAAANns/wUNGAhgvNFQ/s600/_img.jpg
http://goo.gl/eW17d《レジストリを開くスクリプトのダウンロード》

[[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer]]
https://lh6.googleusercontent.com/-rYZPELdjx6Q/UYxkouaX4fI/AAAAAAAANn4/WAaPQ-56UEs/s600/_img.jpg
http://goo.gl/lBPfU《レジストリを開くスクリプトのダウンロード》
@END
レジストリを開くスクリプトは、64ビット環境では、32ビットアプリから呼び出すとレジストリエディタが 32 ビットバージョンで開かれるので正しく表示されないと思います。


[[ここは古い情報]]
@SHOW
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLServer
@C:red(AuditLevel=2)
@END
※ X は 通常 1(インストール順)↓参考値
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\SQLEXPRESS


@SHOW
[[ここから、しばらくコマンドプロンプトで操作します。]]

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

https://lh4.googleusercontent.com/-Fj7d7ZIlxRw/UYxsi5OwuWI/AAAAAAAANoI/uJV6-JMHUoA/s446/_img.jpg

これをチェックすると、マウス操作でクリップボードへコピー([[ドラッグ選択して右クリック]])したり貼り付け([[右クリック]])たりする事ができるようになります。
@END


[[(2) sa の有効化とパスワード設定]]
@DIV
sqlcmd -E -S .\SQLEXPRESS
@END
@c:red(sqlcmd を終了するのは、プロンプトで [[quit]] です)

上記コマンドでプロンプトが表示されたら、

@DIV
select is_disabled from sys.server_principals where name= 'sa'
GO
@END

を実行して、is_disabled が 1 の場合、sa は有効ではありません。

@SHOW
1> select is_disabled from sys.server_principals where name= 'sa'
2> GO
is_disabled
-----------
          1
@END

コマンドラインからすぐ実行するには

@DIV
sqlcmd -E -S .\SQLEXPRESS -Q "select is_disabled from sys.server_principals where name= 'sa'"
@END

で確認して下さい。

[[有効にするには以下のようにします(パスワードも設定)]]
@DIV
sqlcmd -E -S .\SQLEXPRESS
@END

@C:red(権限が必要なので、SQL Express をインストールしたユーザで実行して下さい)

上記コマンドでプロンプトが表示されたら、

@DIV
ALTER LOGIN sa ENABLE
GO
@END

@DIV
ALTER LOGIN sa WITH PASSWORD = 'XXXXXXXXXXXX'
GO
@END
@C:red(※ パスワードは適宜変更します)

を実行する( http://msdn.microsoft.com/ja-jp/library/ms189828.aspx《ALTER LOGIN (Transact-SQL)》)

[[ここは古い情報]]
( 参考 : http://support.microsoft.com/kb/322336/ja )
以下抜粋
>SQL Server 2005 Express Edition を使用している場合は、
>Osql ユーティリティを使用することを避け、現在 Osql 機能を使用しているアプリケーションを
>変更することを検討してください。代わりに [[Sqlcmd ユーティリティを使用]]してください。 


[[(3) ログインモード設定]] ( Windows 認証 : 1、混合モード認証 : 2 )
@SHOW
@C:red(混合モード認証 : 2) に設定します
https://lh3.googleusercontent.com/-BXI-_whFX7o/UYx1tW69QnI/AAAAAAAANoY/teYX_LGfcjo/s728/_img.jpg
@END

[[ここは古い情報]]
@DIV
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLServer
@C:RED(LoginMode=2)
@END


[[(4) サービスを再起動]]

[[(5) 以下で sa が有効である事を確認]]
@DIV
sqlcmd -U sa -P XXXXXXXXXXXX -S .\SQLEXPRESS
@END

@LINE

[[(6) サービスの設定]]

専用のサービス設定ツール(セキュリティ構成)を使用する

http://lightbox.on.coocan.jp/image/SQLExpress_01.png


[[(7) リモート接続の設定]] ( Windows Firewall/Internet Connection Sharing サービスにも注意 )

http://lightbox.on.coocan.jp/image/SQLExpress_01b.png


[[(8) SQLBrowser は必要ではありません]] ( http://msdn.microsoft.com/ja-jp/library/ms165724.aspx(詳細は Microsoft ドキュメント)  )

http://lightbox.on.coocan.jp/image/SQLExpress_02.png

サービスの起動・停止は構成マネージャで行う

http://lightbox.on.coocan.jp/image/SQLExpress_03.png


[[(9) サーバとクライアントのプロトコルを確認する]]

@SHOW
何故か、デフォルトでサーバー側のプロトコルが 名前付きパイプと TCP/IP の両方が@C:red(無効)になっているので有効にする必要があります。

[[※ クライアントは全て有効になっていると思います]]
@END

[[64ビット Windows7]]
https://lh4.googleusercontent.com/-c6IdGI6_Gqk/UYx3gifR1bI/AAAAAAAANok/9Ev74aXsqT0/s596/_img.jpg

http://lightbox.on.coocan.jp/image/SQLExpress_04.png


[[(10) 無効の場合は、有効にしておく]]

http://lightbox.on.coocan.jp/image/SQLExpress_05.png


[[(11) 重要]] @C:RED(別名の作成)

http://lightbox.on.coocan.jp/image/SQLExpress_06.png

[[名前つきパイプ]]

https://lh3.googleusercontent.com/-9ZTJlHrLQvE/UYx5_LRiNPI/AAAAAAAANow/SbGnFbwIPwE/s486/_img.jpg
( MSSQL$SQLEXPRESS は、サービス名 )

特別変更されていなければ、以下のようになります
@DIV
\\PC名\pipe\MSSQL$SQLEXPRESS\sql\query
@END

[[サーバー側の名前付パイプで確認してもいいです]]
https://lh6.googleusercontent.com/-mLUQwCzPLq0/UYx6vEVJuwI/AAAAAAAANo4/CtZKU3AFh1I/s469/_img.jpg


[[別名の指定]]
http://lightbox.on.coocan.jp/image/SQLExpress_07.png

@SHOW
★ サーバーは PC 名です。
★ 64ビット PC の場合は、32ビット用と 64ビット用の別名を作成して、使用するアプリが 32ビットの場合は 32ビット用の別名を使用して下さい
★ 別名の最後に空白が入らないように注意して下さい。
★ どこかを更新するとパイプ名が動作しないデフォルトに戻る可能性があるので注意して下さい
★ 設定後、SQLExpress を再起動して下さい

@C:red(Microsodt が意図的に設定に失敗するように仕向けているととか思えないほど、妙な設定の落とし穴がたくさんあるので注意して下さい)
@END

[[TCP/IP]]
@SHOW
http://support.microsoft.com/kb/823938/ja(動的ポート割り当て、静的ポート割り当て)と言った機能が用意されていて、結局どうすれば接続できるかが解りにくくなっています。この機能は、セキュリティ上や複雑化した OS 上のアプリケーション環境を考えての事でしょうが( その為に SQL Browser というサービスが必要なようです )テスト環境としてすぐ使いたい場合は、静的ポート割り当てを @C:red(1433) で行います

[[問題無いのであれば、『名前付きパイプ』が簡単です。]]
@END

[[ここは古い情報です]]
HKEY_LOCAL_MACHINE
\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1
\MSSQLServer\SuperSocketNetLib\Tcp\IPAll
http://lightbox.cocolog-nifty.com/photos/app/sqlexpress.png


[[サーバーの TCP/IP のプロパティ]]
https://lh6.googleusercontent.com/-jDvW7F2dHpw/UYx_MiSDkaI/AAAAAAAANpE/JmhqmvOoZUQ/s469/_img.jpg

http://lightbox.cocolog-nifty.com/photos/app/sqlexpress_2.png

[[別名の指定]]
http://lightbox.cocolog-nifty.com/photos/app/sqlexpress_3.png

@SHOW
★ サーバーは PC 名です。
★ 64ビット PC の場合は、32ビット用と 64ビット用の別名を作成して、使用するアプリが 32ビットの場合は 32ビット用の別名を使用して下さい
★ 別名の最後に空白が入らないように注意して下さい。
★ 設定後、SQLExpress を再起動して下さい
@END


@LINE
[[ダウンロード]]
▼ リンク先には他のバージョンもあります
http://www.microsoft.com/downloads/details.aspx?FamilyID=31711d5d-725c-4afa-9d65-e4465cdff1e7&DisplayLang=ja(SQL Server 2005 Express Edition のダウンロード)
http://www.microsoft.com/downloads/details.aspx?FamilyID=be6a2c5d-00df-4220-b133-29c1e0b6585f&DisplayLang=ja(SQL Server 2005 Books Online のダウンロード)

▼ 2005 のみ
http://msdn.microsoft.com/ja-jp/express/bb410792.aspx(SQL Server 2005 Express Edition のダウンロード)


@LINE
[[以下は古い情報です]]

@C:RED(※ 接続トラブルは、別名を作成する事によって回避できるようです。)
↓Microsoft の 別名接続に関するドキュメント
http://support.microsoft.com/kb/265808/ja

↓MSDE2000 に関して補足
http://winofsql.jp/VA003334/msde050904000023.htm