MSDE または SQL Server 2005 Express Edition でシステム管理者のパスワードを確認および変更する方法

文書翻訳 文書翻訳
文書番号: 322336
すべて展開する | すべて折りたたむ

目次

概要

この資料では、SQL Server の sa (システム管理者) パスワードを変更する際に使用できる手順について順を追って説明します。

Microsoft SQL Server 2005 Express Edition、Microsoft SQL Server 2000 Desktop Engine (MSDE)、またはそれ以前のバージョンの Microsoft SQL Server を混合認証モードで実行するように構成できます。sa アカウントは、インストール処理中に作成され、SQL Server 環境で完全な権限を持っています。デフォルトでは、MSDE セットアップ プログラムの実行時に変更しない限り、sa パスワードは空白 (NULL) に設定されます。セキュリティの推奨事例に準拠するには、sa パスワードを設定できる最初の時点で、sa パスワードを強力なパスワードに変更する必要があります。

sa パスワードが空白かどうかを確認する方法

  1. 接続中の MSDE のインスタンスをホストしているコンピュータ上で、コマンド プロンプト ウィンドウを開きます。
  2. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。

    osql -U sa

    このコマンドにより、sa アカウントを使用して、ローカルの MSDE の既定のインスタンスに接続されます。コンピュータにインストールされた名前付きインスタンスに接続するには、次のコマンドを入力します。

    osql -U sa -S servername\instancename

    次のプロンプトが表示されます。

    パスワード :
  3. もう一度、Enter キーを押します。この操作では、sa に NULL (空白) パスワードが渡されます。

    Enter キーを押した後に次のプロンプトが表示される場合は、sa アカウントにはパスワードが設定されていません。

    1>

    NULL 以外の強力なパスワードを作成して、セキュリティの推奨事例に準拠することをお勧めします。

    ただし、次のエラー メッセージが表示される場合は、入力したパスワードが正しくありません。このエラー メッセージは、sa アカウントのパスワードが既に作成されていることを示します。
    "ユーザー 'sa' はログインできませんでした。"
    次のエラー メッセージは、SQL Server を実行しているコンピュータが Windows 認証のみに設定されていることを示します。
    ユーザー 'sa' のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。
    Windows 認証モードで実行中に sa パスワードを確認することはできません。ただし、今後、認証モードを混合モードに変更する場合に sa アカウントをセキュリティで保護するために、sa パスワードを作成することができます。

    次のエラー メッセージが表示される場合は、SQL Server が実行されていないか、またはインストールする SQL Server の名前付きインスタンス名が正しくないことがあります。
    [Shared Memory]SQL Server が存在しないか、アクセスが拒否されました。
    [Shared Memory]ConnectionOpen (Connect()).

sa パスワードを変更する方法

  1. 接続中の MSDE のインスタンスをホストしているコンピュータで、コマンド プロンプト ウィンドウを開きます。
  2. 次のコマンドを入力し、Enter キーを押します。

    osql -U sa

    パスワードの入力を求められたら、パスワードが空白の場合は Enter キーを押し、それ以外の場合は現在のパスワードを入力します。この操作により、sa アカウントを使用して、ローカルの MSDE の既定のインスタンスに接続されます。Windows 認証を使用して接続するには、osql -E コマンドを入力します。

    : SQL Server 2005 Express Edition を使用している場合は、Osql ユーティリティを使用することを避け、現在 Osql 機能を使用しているアプリケーションを変更することを検討してください。代わりに Sqlcmd ユーティリティを使用してください。

    Sqlcmd ユーティリティの詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。
    http://msdn2.microsoft.com/ja-jp/library/ms165702.aspx
  3. 次のコマンドを入力して、行ごとに Enter キーを押します。
    sp_password @old = null, @new = 'complexpwd',  @loginame ='sa' 
       go
    : 上記コマンドの "complexpwd" は、新しい強力なパスワードで置き換える必要があります。強力なパスワードには、英数字と特殊文字、および大文字と小文字の組み合わせを含めます。

    次の情報メッセージが表示されます。これは、パスワードが正常に変更されたことを示します。
    パスワードは変更されました。

認証モードを特定または変更する方法

重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明

警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。

MSDE インストールの認証モードを特定する方法がわからない場合、対応するレジストリ エントリを確認できます。デフォルトでは、Windows の LoginMode レジストリ サブキーの値が Windows 認証を示す 1 に設定されています。混合モード認証が有効な場合、この値は 2 です。
  • LoginMode サブキーの場所は、MSDE を既定の MSDE インスタンスとしてインストールしたか、または名前付きインスタンスとしてインストールしたかによって異なります。MSDE を既定のインスタンスとしてインストールした場合、LoginMode サブキーは、次のレジストリ サブキーにあります。
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode

    : SQL Server 2005 を使用している場合は、既定のインスタンスと名前付きインスタンスのどちらをインストールしたかにかかわらず、以下のレジストリ サブキーを探します。MSSQL.x には、使用しているシステムに応じた値が入ります。
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer
  • MSDE を名前付きインスタンスとしてインストールした場合、LoginMode サブキーは次のレジストリ サブキーにあります。
    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\%InstanceName%\MSSQLServer\LoginMode
: 認証モードを切り替える前に、sa パスワードを設定して、セキュリティ上の問題が発生しないようにする必要があります。

混合モードから統合 (Windows) 認証に切り替えるには、以下の手順を実行します。
  1. MSSQLSERVER および他の関連するすべてのサービス (SQLSERVERAgent など) を停止します。これを行うには、コントロール パネルの [管理ツール] にある [サービス] を開きます。
  2. レジストリ エディタを起動します。レジストリ エディタを起動するには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックし、regedt32 と入力します。

    [OK] をクリックします。
  3. 以下のサブキーのいずれかを検索します (MSDE を MSDE の既定のインスタンスとしてインストールしたか、または名前付きインスタンスとしてインストールしたかによって異なります)。
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer
    または
    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\
  4. 右ウィンドウで、LoginMode サブキーをダブルクリックします。
  5. [DWORD エディタ] ダイアログ ボックスで、このサブキーの値を 1 に設定します。[16 進数] が選択されていることを確認して、[OK] をクリックします。
  6. この変更を有効にするために、MSSQLSERVER サービスおよび SQLSERVERAgent サービスを再開します。

SQL Server のインストールに関するセキュリティの推奨事例

以下の各項目を実施することにより、システムのセキュリティ保護を強化することができます。これらの項目は SQL Server のインストールに関するセキュリティの標準的な "推奨事例" に含まれます。
  • NULL 以外のパスワードを使用して、sa ログイン アカウントをセキュリティで保護します。sa ログイン アカウントがセキュリティで保護されていない場合にのみ動作するワームがあります。そのため、組み込みの sa アカウントに強力なパスワードを割り当てるには、直接 sa アカウントを使用しない場合でも、SQL Server Books Online の「システム管理者 (sa) のログイン」に記載された推奨方法に従う必要があります。
  • インターネット ゲートウェイでポート 1433 をブロックします。次に、SQL Server が代替ポートでリッスンするようにポートを割り当てます。
  • ポート 1433 をインターネット ゲートウェイ上で利用できるようにする必要がある場合、ポートの誤用を防止するために egress および ingress フィルタを有効にします。
  • ローカル システム アカウントではなく、Microsoft Windows NT アカウントで SQLServer サービスおよび SQL Server エージェントを実行します。
  • Microsoft Windows NT 認証を有効にして、成功したログインおよび失敗したログインの監査を有効にします。その後、MSSQLServer サービスを停止して、再開します。クライアントが Windows NT 認証を使用するように構成します。

関連情報

空白の sa パスワードが悪用される状況の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
313418 [PRB] 空白 (NULL) の sa パスワードを使用している、セキュリティで保護されていない SQL Server のワームに対する脆弱性
SQL Server 2000 Service Pack 1 以降における、認証モードが変更されたときの動作の変更点の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
274773 [FIX] 混合モードセキュリティに変更後はSAのパスワードが空

プロパティ

文書番号: 322336 - 最終更新日: 2011年2月15日 - リビジョン: 4.2
キーワード:?
kbsqlmanagementtools kbhowtomaster KB322336
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com