SQL Server - 完全にロックアウトされてログインできない時の対処方法

完全にロックされてログインできない!

今回はめったにないことかもしれませんが、 sa アカウントや sysadmin のロールのメンバーが全員なんらかの理由でログインできなくなってしまった時に SQL Server に接続する方法をご紹介します。

sysadmin ロールのメンバーでログインできる時は、簡単にロックを解除できますので、こちらのページをご覧ください。
SQL Server - sa アカウントのロック解除方法

SQL Server - 完全にロックアウトされてログインできない時の対処方法

完全にロックアウトされた時は、SQL Server に sysadmin メンバの新しいログインを作って、そのユーザーでログインできるようにします。

今回は名前付きインスタンス MSSQLSERVER2017 がロックアウトされたとします。

手順は次の通りです。

1. SQL Server 構成マネージャーから、SQL Server をシングルユーザーモードで起動する

SQL Server をシングルユーザーモードで起動します。

シングルユーザーモードにすることによって、コンピューターのローカル Administrators グループのメンバーが sysadmin のメンバーとして SQL Server のインスタンスに接続できるようになります。

まず、Windows のスタートメニューの検索で SQLServerManager<バージョン>.msc と入力して、SQL Server 構成マネージャーを開きます。

各 SQL Server に対応するバージョンは以下の通りです。

  • SQL Server 2012 - SQLServerManager11.msc
  • SQL Server 2014 - SQLServerManager12.msc
  • SQL Server 2016 - SQLServerManager13.msc
  • SQL Server 2017 - SQLServerManager14.msc

先にログインされてしまうと困るので SQL Server エージェント が起動している場合はストップします。

SQL Server - 完全にロックアウトされてログインできない時の対処方法 1


該当の SQL Server を右クリックし、[プロパティ] を開きます。

SQL Server - 完全にロックアウトされてログインできない時の対処方法 2

[起動時のパラメーター] タブをクリックし、[起動時のパラメーターの指定] の箇所に -m と入力し [追加]をクリックし、[OK] をクリックします。

SQL Server - 完全にロックアウトされてログインできない時の対処方法 3

SQL Server を右クリックし再起動します。 これで、シングルユーザーモードで起動されました。

SQL Server - 完全にロックアウトされてログインできない時の対処方法 4


2. sqlcmd ユーティリティで sysadmin メンバの新しいログインを作成する

Windows のスタートメニューの検索で cmd と入力して、コマンドプロンプトを開きます。

以下のコマンドを入力して sqlcmd ユーティリティを起動します。

sqlcmd -S .\MSSQLSERVER2017

SQL Server - 完全にロックアウトされてログインできない時の対処方法 5

-S オプションはサーバーとインスタスのオプションで、今回は名前付きインスタンスに接続したいので -S .\MSSQLSERVER2017 と指定しました。

デフォルトインスタンスの場合は sqlcmd だけでオプションをつけなくて大丈夫です。


以下のコマンドを実行して、TempLogin1 という名前のログインユーザーを作り、TempLogin1 を sysadmin のメンバーにします。

CREATE LOGIN TempLogin1 WITH PASSWORD='TPl@g1n$'
GO
EXEC sp_addsrvrolemember TempLogin1, sysadmin
GO

SQL Server - 完全にロックアウトされてログインできない時の対処方法 6

Ctrl + C で終了します。


3. SQL Server 構成マネージャーから、SQL Server をマルチユーザモードに戻してリスタートする

SQL Server 構成マネージャーに戻り、先ほど設定した -m の [起動時のパラメーター] を削除します。

SQL Server - 完全にロックアウトされてログインできない時の対処方法 7

SQL Server を右クリックし再起動します。

SQL Server - 完全にロックアウトされてログインできない時の対処方法 8


3. SQL Server Management Studio から作ったユーザーでログインする

SQL Server の認証モードが [Windows 認証モード] のみになっている場合はユーザー名とパスワードでログインできません。 こちらの方法で [SQL Server 認証モードと Windows 認証モード] に変更してください。
ログインできない状態で SQL Server の認証モードを変更する方法

SQL Server Management Studio から、先ほど作ったログインユーザーでログインしてみます。

SQL Server - 完全にロックアウトされてログインできない時の対処方法 9

無事ログインできましたね!

SQL Server - 完全にロックアウトされてログインできない時の対処方法 10

ログインアカウントのロックの解除方法が必要な方はこちらをご覧ください。
SQL Server - sa アカウントのロック解除方法
© 2010-2024 SQL Server 入門