MS SQL での sa パスワードの変更。 デフォルトでSQL MS SQL Express SAログインのSAパスワードを変更する

よくある質問 29.09.2022
よくある質問

あなたは組織内で尊敬され、信頼されているデータベース管理者です。 運用環境では SQL Server によって実行されるいくつかの重要なサービスを保守および更新します。 会社の SQL Server データベースをあらゆる種類の不正アクセスから保護するために、次の手順 (良心的な DBA が従うべきガイドラインを反映) を実行しました。

  • すべての組み込み SQL Server 管理アカウントを削除しました。
  • SYSADMIN サーバー ロール (すべての Windows アカウントおよび SQL Server アカウント) のメンバーであるすべてのユーザー (システム管理者または SA を除く) を削除しました。
  • SA アカウントには非常に複雑なパスワードを設定しており、推測したり覚えたりするのは困難です。
  • ユーザー データベースに対するデータベース所有者 (DBO) 権限はあるが、システムに対する SYSADMIN 権限を持たないドメイン ユーザー アカウントで、定期的な SQL Server メンテナンス操作を実行します。
  • SA パスワードを他の人に知られるのを防ぐためにどこにも書き留めていません。 結局のところ、パスワードを書き留めることは最善の方法ではありません。

しかし、SA に非常に強力なパスワードを設定し、日常的に SQL Server データベースを操作するときに SA アカウントではなくドメイン アカウントを使用したため、想像を絶する事態が発生しました。 SQL Server SA アカウントのパスワードを忘れてしまいました。

グループ内で SA パスワードを知っているのはあなただけです。 今ではそれが何だったのか思い出せないため、実稼働 SQL Server 構成ウィンドウでサーバー レベルでいくつかの確認を行う必要があります。 今何をする? ここにいくつかのオプションがあります。

  • 思いつく限りのパスワードを使用して、SA としてログインしてみてください。
  • コンピュータのハード ドライブまたは電子メールで SA パスワードを探します (どこかのファイルに保存している可能性があります。これは間違った方法ですが、役立つ場合があります)。
  • Master データベースをバックアップから復元してみてください。 SA パスワードを覚えていないと同じ問題が発生するため、これは長期的には役に立ちません。
  • マスターデータベースを再構築します。 これは、アカウント、権限、すべてのサーバー レベルのオブジェクトを含む、すべてのシステム レベルおよびサーバー レベルの設定と構成を失うため、あまり役に立ちません。
  • SQL Server 2012 を再インストールし、すべてのユーザー データベースを接続します。 これは、Master データベースを再フォーマットしたときと同じ問題が発生するため、機能しない可能性があります。

SA アカウントを使用したログイン試行がすべて失敗したと仮定します。 マイクロソフト製品サポート チームに援軍を呼びましょう。 ここでは従業員が提供するものを紹介します。

SQL Server 2012 には、SYSADMIN による運用 SQL Server へのアクセスを許可するバックドアがあります。 ただし、Windows アカウントは、SQL Server 2012 サービスを実行している Windows Server システムのローカル管理者グループのメンバーである必要があります。

SQL Server では、ローカル管理者グループのメンバーは、SYSADMIN 権限で SQL Server に接続できます。

SQL Server 2012 を SA として制御するために実行する必要がある操作は次のとおりです。

1. コマンド プロンプト ウィンドウに管理者としてログインし、コマンド プロンプトからシングル ユーザー モードで SQL Server 2012 のインスタンスを起動します。 SQL Server 2012 を最小構成で実行することもでき、SQL Server はシングル ユーザー モードでも実行できます。
2. コマンド プロンプト (管理者として実行) で、「SQLServr.Exe -m (または SQLServr.exe -f)」と入力して SQL Server 2012 データベース エンジンを起動します。このコマンド プロンプト ウィンドウは閉じないでください。 SQLServr.exe は、PATH 環境変数にリストされている Binn フォルダーにある場合があります。 SQL Server 2012 Binn フォルダーが PATH にリストされていない場合は、コンピューターのディレクトリ構造を通じていつでも SQL Server 2012 Binn フォルダーに移動できます。 通常、Binn フォルダーは C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn> にあります。
3. シングルユーザー モードまたは最小構成で SQL Server 2012 サービスを開始したら、管理者として別のコマンド プロンプト ウィンドウを開き、そこで SQLCMD コマンドを実行して SQL Server 2012 インスタンスに接続できます。
SQLCMD -S<Имя сервера\Имя экземпляра>例: SQLCMD -S "SALEEMHAKANI" 1> CREATE LOGIN "<Имя_учетной_записи>"パスワードあり"<Пароль>" 2> 移動 1> SP_ADDSRVROLEMEMMBER "<Имя_учетной_записи>","SYSADMIN" 2>go
例えば:
1> SP_ADDSRVROLEMEMBER SQL_SALEEM,"SYSADMIN" 2> GO

パスワードを忘れることが時々あるのはごく普通のことであり、軽微な不都合が生じるという意味ではありません。 ここで説明した回復手段を使用すると、ダウンタイムやパスワードの暗号化を行わずに SQL Server を実行し続けることができます。

「sa」は MS SQL のユーザー ログインであり、デフォルトで最高の権限を持ちます。アカウント自体はローカルであり、無効になっている場合もありますが、それでも頻繁に使用されます。 この「sa」アカウントのパスワードを紛失または忘れた場合、データベースを管理するためのアクセス権がなくなります。

デフォルトのパスワード sa

奇妙なことに、デフォルトのパスワードは sa であることを思い出させてください。

唯一の要件は、どこでもローカル管理者であることです。

GUI経由でSQLのパスワードを変更する

始めましょう。スタートを開いて、[すべてのプログラム] > [Microsoft SQL Server 2012 R2] > [SQL Server Management Studio] に移動します。

または、コマンド プロンプトを開いて「ssms」と入力することもできます。

SQL Server Management Studio が開きます。

デフォルトでは、Windows 認証が設定されています。つまり、権限がある限り、ローカル Windows アカウントまたはドメイン アカウントでのみログインできます。

sa アカウントはデフォルトでは無効になっていますが、パスワードの変更が妨げられるわけではありません。

ms sql では、そのプロパティを通じて sa パスワードをリセットできます。これを行うには、右クリックしてコンテキスト メニューからプロパティを選択します。

[全般] タブには、新しいパスワードを入力するフィールドが表示されます。唯一留意すべき点は、[パスワード ポリシーの使用を要求する] チェックボックスがオンになっている場合は、セキュリティを満たす強力なパスワードを考え出す必要があるということです。要件、つまり

  • パスワードは大文字にする必要があります
  • パスワードには小文字を使用する必要があります
  • パスワードには特殊文字または数字が必要です

チェックボックスをオフにすると、新しいパスワードを設定して保存できます。 SQL の sa ユーザーのパスワードが変更されました。

唯一のことは、sa アカウントを使用したい場合はそれを有効にする必要があり、ステータス項目に移動して「ログイン名を有効」と指定します。

もう 1 つのニュアンスとして、Windows 認証があることを覚えていますが、これは、これが sa には適していないことを意味します。 階層の最上位にあるサーバー名を右クリックし、プロパティを選択します。

[セキュリティ] タブで、[SQL Server と Windows 認証] オプションを選択します。 これで、SQL で sa ユーザーを使用してログインできるようになりました。

ログインしようとすると、Management Studio でサーバーへの接続が正常に確立されたことを示すエラー 233 が表示されたが、ログイン中にエラーが発生した場合は、次の手順を実行します。

[スタート] > [コントロール パネル] > [管理ツール] > [サービス] に移動し、SQL Server サービスを再起動します。

その後、接続はエラーなしで成功します。

コマンドライン経由でSQLのSAパスワードを変更する

コマンドライン経由で SQL で sa パスワードをリセットするには、次のコマンドを使用します。

このコマンドを使用すると、利用可能なすべての MS SQL サーバーとその SPN が表示されます。

sp_password NULL、<вставьте_новый_пароль_тут>、「さ」

「パスワードの検証に失敗しました」というメッセージが表示された場合。 パスワードが短すぎるため、Windows ポリシー要件を満たしていません。 次に、より強力なパスワードを設定します。

この後、SQL で sa パスワードをリセットします。

osqlを使用するための別のオプションは次のとおりです

cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn 次に、信頼された OS アカウントで接続を試みます。

osql.exe" -S (ローカル)\サーバー名 -E

そして最後のフロンティア
PASSWORD= ‘new_password’ でログイン SA を変更します
パスワードを new_password に置き換えます

Asunsoft SQL Password Geeker の使用

Asunsoft SQL Password Geeker というユーティリティがあり、有料ですが、このタスクを実行できます。 起動して「参照」をクリックし、パス C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA に従って、master.mdf を開きます。

SQL でパスワードをリセットするには、パスワードを選択して「リセット」をクリックします。

排他モードでパスワードを変更する

sa のパスワードを変更する 4 番目の方法は、MS SQL をシングルユーザー モードで実行することです。

まず最初に MS SQL Server を停止します。これはサービスを通じて実行することも、コマンド ラインから実行することもできます。

ネットストップ MSSQLSERVER

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER

次に、行にパラメータを設定する必要があります 画像パス-m はシングルユーザー モードについてのみ説明します。 こんな感じで分かりました

"C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -m -s MSSQLSERVER

コマンドで MS SQL を起動します。

ネットスタート MSSQLSERVER

SQL は現在シングル ユーザー モードで実行されており、コンピューターのローカル管理者グループのメンバーは sysadmin 権限で SQL Server のインスタンスに接続できますが、これを SQL に伝える必要があります。 動作モードはサービスのプロパティで確認できます。

コマンドラインで次のように書きます。

cd C:\Program Files\Microsoft SQL Server\110\Tools\Binnsqlcmd.exe: EXEC sp_addsrvrolemember "サーバー名\ユーザー名", "sysadmin"

サービスを再起動します。レジストリの -m パラメータを忘れずに削除してください。 SQLでのユーザーsaのパスワードのリセット。

皆さんこんにちは、今日は変更またはリセットする方法を説明します パスワードsa SQLサーバー。 sa は MS SQL のユーザー ログインであり、デフォルトで最高の権限を持ち、アカウント自体はローカルであり、無効になっている場合もありますが、それでも頻繁に使用されることを思い出してください。 パスワードを忘れてデータベースにアクセスできなくなる状況が発生する可能性があります。今日は、これを回避してデー​​タベースへのアクセスを復元する方法を学びます。

sp_password NULL、<вставьте_новый_пароль_тут>、「さ」

「パスワードの検証に失敗しました」というメッセージが表示された場合。 パスワードが短すぎるため、Windows ポリシー要件を満たしていません。 次に、より強力なパスワードを設定します。

この後、SQL で sa パスワードをリセットします。

osqlを使用するための別のオプションは次のとおりです

次に、信頼された OS アカウントで接続を試みます

osql.exe" -S (ローカル)\サーバー名 -E

そして最後のフロンティア
PASSWORD= "new_password" でログイン SA を変更します
パスワードを new_password に置き換えます

Asunsoft SQL Password Geeker の使用

Asunsoft SQL Password Geeker というユーティリティがあり、残念ながら有料ですが、タスクを完了することができます。 起動して「参照」をクリックし、パス C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA に従って、master.mdf を開きます。

SQL でパスワードをリセットするには、パスワードを選択して「リセット」をクリックします。

排他モードでパスワードを変更する

sa のパスワードを変更する 4 番目の方法は、MS SQL をシングルユーザー モードで実行することです。 私たちは何が必要なのか?

まず最初に MS SQL Server を停止します。これはサービスを通じて実行することも、コマンド ラインから実行することもできます。

ネットストップ MSSQLSERVER

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER

次に、行にパラメータを設定する必要があります 画像パス-m はシングルユーザー モードについてのみ説明します。 こんな感じで分かりました

"C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -m -s MSSQLSERVER

コマンドで MS SQL を起動します。

ネットスタート MSSQLSERVER

SQL は現在シングル ユーザー モードで実行されており、コンピューターのローカル管理者グループのメンバーは sysadmin 権限で SQL Server のインスタンスに接続できますが、これを SQL に伝える必要があります。 動作モードはサービスのプロパティで確認できます。

コマンドラインで次のように書きます。

cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn

sqlcmd.exe: EXEC sp_addsrvrolemember "サーバー名\ユーザー名", "sysadmin"

サービスを再起動して生活を楽しみます。後でレジストリの -m パラメータを削除することを忘れないでください。 これは、組み込みメソッドとサードパーティメソッドの両方を使用して、SQL で sa パスワードを簡単にリセットする方法です。



読むことをお勧めします