sql >> データベース >  >> RDS >> Sqlserver

MicrosoftSQLServerエラー18456のトラブルシューティング

    Microsoft SQL Server(MSSQL)でのログインエラーはかなり一般的な問題であり、いくつかの基本的なトラブルシューティング手順で簡単に解決できます。掘り下げる前に、エラーの詳細を見て、原因を特定してみましょう。

    MicrosoftSQLServerエラー18456の解決策

    「ユーザー「」のログインに失敗しました」というエラーが表示されることがあります。この情報は、トラブルシューティングが必要なユーザーを特定するのに役立ちます。メッセージから、次のステップを検索するための参照としてエラー番号がわかります。この場合、Microsoft SQL Server、エラー:18456です。

    また、重大度と状態番号とともに「MicrosoftSQLServerエラー18456」のみが表示される場合もあります。状態番号自体はあまり意味がないかもしれませんが、何が間違っているのか、次にどこを見ればよいのかについての詳細を提供できます。

    エラーのこれらの状態18456は、最も一般的です。説明と考えられる解決策は、簡単な説明と考えられるトラブルシューティングガイドを提供します。

    ステップ1:リモートデスクトップでログイン

    トラブルシューティングと解決策では、サーバーにログインするか、少なくともMicrosoft SQL ServerManagementStudioを使用してMSSQLへのWindows認証接続を確立できる必要があります。最も一般的で最も簡単な方法は、リモートデスクトップ接続を使用してサーバーに直接接続することです。リモートデスクトップ接続に関する詳細情報が必要な場合は、次のナレッジベースの記事が接続に役立ちます。

    • リモートデスクトップの使用方法
    • Windows:リモートデスクトップを使用したサーバーへのアクセス
    • リモートデスクトッププロトコル(RDP)を使用してWindowsServerにログインする

    ステップ2:MicrosoftSQLServer管理を実行する

    サーバーにログインしたら、Microsoft SQL Server Management Studio(SSMS)を実行する必要があります。 SSMSは、MSSQLの構成、管理、および管理に最適なツールです。

    SSMSを起動すると、サーバーにログインするように求められます。既定では、ほとんどのMSSQLサーバーでWindows認証が有効になっています。つまり、Windows管理者、またはMSSQLのインストールと構成時にSQL管理者として指定されたアカウントでログインする必要があります。

    Windows認証に加えて、MSSQLはSQLServer認証をサポートしています。 MSSQLのバージョンと、MSSQLのインストールおよび構成方法に応じて、SQLServer認証がデフォルトで有効になっている場合と有効になっていない場合があります。

    ステップ3:サーバー認証モードの確認

    Windows認証を使用してSSMSにログインしたら、セキュリティ設定をチェックして、MSSQLがWindows認証とSQL認証の両方を許可するように設定されているかどうかを確認する必要があります。

    SSMSで、サーバー名を右クリックします オブジェクトエクスプローラウィンドウの上部で、[プロパティ]を選択します 。

    次に、セキュリティをクリックします ページ。

    Windows認証を見つけた場合 が構成されている唯一のモードです。これがエラー18456の原因である可能性があります。ユーザー「」のログインに失敗しました。

    SQLServerおよびWindows認証を許可するようにサーバー認証モードを設定する 、SQLユーザーとパスワードまたはWindowsユーザーとパスワードを使用してMS-SQLにログインできます。この変更を行った後、SQLServerサービスを再起動する必要があります。

    ステップ4:SQLサービスを再起動します

    SSMSで、サーバー名を右クリックします オブジェクトエクスプローラーの上部にあります ウィンドウを開き、再起動を選択します 新しい認証モード設定を適用します。

    上記の例では、Windows認証モードが構成された唯一のモードであり、ユーザー「sa」がSQLユーザーであり、SQLServer認証が許可されなかったためにエラー18456が発生しました。

    ステップ5:SQLユーザー権限の確認

    SQLユーザーのアクセス許可を確認するときは、次の質問に答える必要があります。

    • ユーザーはログインできますか?
    • ユーザーは有効なパスワードを設定していますか?
    • ユーザーは、目的のデータベースにアクセスするために必要な権限を持っていますか?

    SSMSの場合オブジェクトエクスプローラーセキュリティ、ログインを展開します 。ログインに失敗したユーザーを見つけます。x on the userは、このユーザーがログインを無効にしていることを示します。

    ユーザーがログインできるようにするには、ユーザーを右クリックしてプロパティを選択します 、[ステータス]をクリックします ページ。 ログインを有効にする ユーザーの場合は、[ OK]をクリックします 。

    ユーザーログインのリストを更新した後、ユーザーに赤いxが表示されていないことを確認できます。これにより、ユーザーはログインできるようになります。この例では、ログインの権限がなかったため、SQLユーザー「sa」はログインに失敗しました。

    ユーザーのトラブルシューティングを続行し、ユーザーを右クリックしてプロパティを選択します 、次に一般をクリックします ページ。ここで、新しいパスワードを入力できます 次に、確認パスワードを入力します 。 OKをクリックします 新しいパスワードを保存します。ログインしようとしたときに確実にパスワードがわかるように、ユーザーに新しいパスワードを設定します。

    ステップ6:ユーザーをデータベースにマッピングする

    ユーザーのトラブルシューティングの最後のステップは、ユーザーマッピングをチェックして、ユーザーが目的のデータベースにアクセスできることを確認し、データベースの役割を設定または確認することです。ユーザーを右クリックして、プロパティを選択します 、次にユーザーマッピングをクリックします ページ。 データベースを選択します データベースのリストから。データベースロールメンバーシップから、必要な/必要なメンバーシップを選択します。 OKをクリックします 。

    この例では、ユーザー「 ProdX709」をマッピングしました ’をデータベースに Production X709.2019 そして彼らにデータベースの役割db_ownerを与えました 。多くの場合、ユーザーが必要とするのは db_datareaderだけです。 およびdb_datawriter データベースの読み取りと書き込みができる役割。

    結論

    このトラブルシューティングの記事では、エラー18456の詳細を特定して、問題の根本原因を突き止める方法を学びました。まだサポートをお探しですか? MSSQLデータベースソリューションには、テクニカルサポートチームの支援が含まれています。高可用性データベースがどのように機能するかをご覧ください!

    今日から始めましょう!

    私たちは、Hosting™で最も役立つ人間であることに誇りを持っています!

    私たちのサポートチームは、経験豊富なLinux技術者と、複数のWebホスティングテクノロジー、特にこの記事で説明されているテクノロジーについての深い知識を持つ才能のあるシステム管理者でいっぱいです。

    この情報に関してご不明な点がございましたら、24時間年中無休で、この記事に関連する問題に関するお問い合わせにいつでもお答えいたします。

    フルマネージドVPSサーバー、クラウド専用、VMWareプライベートクラウド、プライベート親サーバー、マネージドクラウドサーバー、または専用サーバーの所有者であり、概説されている手順のいずれかを実行することに不安がある場合は、電話@800.580.4985、このプロセスを支援するためのチャットまたはサポートチケットを介して連絡できます。


    1. SQL Serverでインラインテーブル値関数(ITVF)を作成する

    2. SQL Serverトランザクションログ、パート2:ログアーキテクチャ

    3. インメモリOLTPのDMLステートメントのテスト

    4. MySQLは大きなデータベースから重複をすばやく削除します