サーバーの認証モードの変更

適用対象:SQL Server

この記事では、SQL Server で SQL Server Management Studio または Transact-SQL を使用して、サーバーの認証モードを変更する方法について説明します。 SQL Server データベース エンジン はインストール中に、 [Windows 認証モード] または [SQL Server 認証モードと Windows 認証モード] のいずれかに設定されます。 インストール後は、認証モードをいつでも変更できます。

インストール中に [Windows 認証モード] を選択した場合、sa ログインは無効となり、パスワードはセットアップによって割り当てられます。 後で認証モードを [SQL Server 認証モードと Windows 認証モード] に変更しても、sa ログインは無効のままです。 sa ログインを使用するには、ALTER LOGIN ステートメントを使用して、sa ログインを有効にし、新しいパスワードを割り当ててください。 sa ログインは、SQL Server 認証を使用しないとサーバーに接続できません。

解説

sa アカウントは、よく知られた SQL Server アカウントで、悪意のあるユーザーの攻撃対象となることが少なくありません。 sa アカウントは、アプリケーションで必要とされない限り、有効にしないでください。 sa ログインには、複雑なパスワードを使用することが重要です。

SQL Server Management Studio で認証モードを変更する

  1. SQL Server Management Studio (SSMS) のオブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] を選択します。

  2. [セキュリティ] ページの [サーバー認証]で、新しいサーバーの認証モードを選択し、[OK] を選択します。

  3. [SQL Server Management Studio] ダイアログ ボックスで、SQL Server の再起動が必要であるというメッセージに対して [OK] を選択します。

  4. オブジェクト エクスプローラーでサーバーを右クリックし、[再起動] を選択します。 SQL Server エージェントも再起動する必要があります (実行されている場合)。

sa ログインを有効にします。

SSMS または Transact-SQL を使用して sa ログインを有効にすることができます。

SSMS を使用する

  1. オブジェクト エクスプローラーで、[セキュリティ]、[ログイン] の順に展開し、[sa] を右クリックして [プロパティ] を選択します。

  2. [全般] ページで、sa ログインのパスワード作成と確認が必要になる場合があります。

  3. [状態] ページで、[ログイン][有効] を選択し、[OK] を選択します。

Transact-SQL の使用

次の例では、sa ログインを有効にし、新しいパスワードを設定します。 <enterStrongPasswordHere> を強力なパスワードに置き換えてから、実行してください。

ALTER LOGIN sa ENABLE;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>';
GO

注意事項

次の例では、拡張ストアド プロシージャを使用して、サーバー レジストリを変更します。 レジストリの変更の方法を誤った場合、深刻な問題が発生することがあります。 これらの問題が起きた場合、オペレーティング システムを再インストールしなければならない場合があります。 Microsoft は、これらの問題を解決できることを保証できません。 レジストリはユーザー自身の責任において変更してください。

認証モードを変更するために必要なアクセス許可は、sysadmin または CONTROL SERVER です。

A. 認証を Windows のみに変更する

  1. サーバーの認証を Windows のみに変更する:

    USE [master]
    GO
    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
         N'Software\Microsoft\MSSQLServer\MSSQLServer',
         N'LoginMode', REG_DWORD, 1;
    GO
    
  2. sa アカウントを無効にする:

    USE [master]
    GO
    
    ALTER LOGIN sa DISABLE;
    GO
    

B. 認証を混合モードに変更する (Windows と SQL)

  1. sa アカウントを有効にし、強力なパスワードを設定する:

    USE [master]
    GO
    
    ALTER LOGIN sa ENABLE;
    GO
    
    ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>';
    GO
    
  2. サーバーの認証を混合モードに変更する:

    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
        N'Software\Microsoft\MSSQLServer\MSSQLServer',
        N'LoginMode', REG_DWORD, 2;
    GO