NT AUTHORITY/LOCAL SERVICEが見つからないエラーを修正する
エラーは「NT AUTHORITY/LOCAL SERVICE が見つかりませんSQL Server データエラーは、通常、Visual Studio を使用するか、Windows Server バージョンで特定のタスクを実行するときに発生します。一部のユーザーは、新しいサーバーアプリケーションのインストール後やコンパイル中にこの問題に遭遇することがあります。 Visual Studio アプリケーションインストーラーを使用してサービスをインストールしようとすると、他のユーザーに表示されます。 高度.
NT AUTHORITYNETWORK SERVICE エラーが発生する一般的な理由はいくつかあり、これらの理由は使用ケースによって異なります。
多くの場合、ネットワーク管理者が様々な理由により、指定されたWindowsログインを削除している可能性があります。その結果、SQL Serverログインへのアクセスを許可できなくなります。
このエラーが表示されるもう1つの理由は、SQL Serverの既存のログインと同じセキュリティID(SID)を持つ新しいログインを追加しようとした場合です。この場合も、エラーコード15401が表示されます。
ただし、ログインが SQL サーバーとは異なるドメインにある場合、または使用している名前固有の解決メカニズム (WINS、DNS、HOSTS、または LMHOSTS) が適切に構成されていない場合にも、「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーが発生することが確認されています。
以下に、影響を受けた他のユーザーが問題の根本原因を突き止めるために効果的に使用した、実証済みの一連の解決策を示します。
1. NT AUTHORITYLOCAL SERVICE が存在し、必要な権限を持っているかどうかを確認します。
より技術的な解決策に進む前に、まずアカウントが NT 当局ローカルサービス 使用しようとしているシステムに既に存在します。
アカウントが存在することが判明した場合は、SQL Server レベルで必要なログインと関連ユーザーを作成するための十分な権限があることを確認してください。
この手順は Windows Server のバージョンによって若干異なりますが、基本的な手順はどのバージョンの Windows Server でも同じです。
必要な手順は次のとおりです。
- 開いた Windows Server Essentials ダッシュボード。
- メインナビゲーションバーに移動してクリックします ユーザー。
- 現在のユーザーのリストを閲覧し、名前のエントリが見つかるかどうかを確認します。 NT 当局のローカル サービス。
ملاحظة: 関連する入力が NT 当局ローカルサービス 見つからない場合は、ハイパーリンクをクリックしてください。 ユーザーアカウントを追加する 開く ユーザー アカウント追加ウィザード。 そこから、指示に従って NT AUTHORITYLOCAL SERVICE のユーザーを作成し、命名規則が正しいことを確認します。 - アカウントが存在することを確認したら、必要な権限が付与されているか確認しましょう。そのためには、「アカウント」をクリックします。 NT 当局ローカルサービス 以内に ユーザーの皆様、 次にパートへ進む ミッション をクリックします プロパティ。
- 次に、タブに移動します 全般的、 次にタブを押します 共有フォルダ、 次にタブを押します どこからでもアクセス可能 ユースケースに基づいて、このアカウントに必要なすべての権限を有効にします。
- 変更を保存し、以前に「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーを引き起こした手順を繰り返します。これでエラーは修正されるはずです。
すでにユーザーアカウントの作成を確認している場合 NT 当局ローカルサービス 必要な権限を持っていることを確認したら、次の方法に進みます。
2. SQL Server のログインを作成する (該当する場合)
Visual StudioプロジェクトでSQL Serverデータ層アプリケーションを使用しているときにこのエラーが発生した場合は、次のスクリプトを作成した後にこのエラーが表示される可能性があります。 NT 当局ローカルサービス サーバー レベル オブジェクトの下のログイン リストへ。
次のスクリプトを使用してデータベース レベル オブジェクト内でログインを作成および追加する場合は、この方法を適用できます。
DEFAULT_LANGUAGE=[us_english] で WINDOWS からログイン [NT AUTHORITYLOCAL SERVICE] を作成します。ログイン [NT AUTHORITYLOCAL SERVICE] のユーザー [NT AUTHORITYLOCAL SERVICE] を作成します。
この場合、プロジェクトをコンパイルしようとしたときにエラー メッセージが表示される可能性があります。 「NT AUTHORITYLOCAL SERVICE は存在しないか、許可されていないため見つかりませんでした。」.
このシナリオが当てはまる場合、[NT AUTHORITYLOCAL SERVICE]ログインを作成できない理由は、 NT 当局ローカルサービス この場合、これは単にWindowsに組み込まれているサービスアカウントです。SQL Serverの各サービスは、起動して機能するために、インストール時に指定されたアカウントを持つ必要があります。
SQL Server の起動アカウントには、組み込みのシステムアカウント、ローカルユーザーアカウント、またはドメインユーザーアカウントを使用できます。ローカルサービスアカウントは、グループメンバーと同じリソースとオブジェクトにアクセスできる組み込みアカウントです。 ユーザーこの制限されたアクセスは、特定のサービスまたはプロセスが侵害された場合にシステムを保護するために役立ちます。
ローカル サービス アカウントとして動作するサービス 空のセッションは、ネットワーク リソースにアクセスするために使用されます。.
重要SQL Server または SQL Server エージェント サービスはローカル サービス アカウントをサポートしていないことに注意してください。アカウントの完全な名前は「NT AUTHORITY/LOCAL SERVICE」です。
この問題を解決するには、Transact-SQL 経由で Windows 認証を使用する SQL Server ログインを作成する必要があります。
これを行うには、まず Windows でユーザーを作成し、クエリ エディターを使用して次の Transact-SQL コマンドを開き、ログイン名が Windows ユーザー名と同じであることを確認します。
ログインを作成WindowsからGO
ملاحظة: 覚えておいてくださいこれは単なるプレースホルダです。実際のWindowsユーザー名に置き換えてください。
3. SQLに適切な権限を追加します(該当する場合)
この問題が発生するもう 1 つの原因は、SQL で NT AUTHORITY/LOCAL SERVICE に対する適切な権限を追加せず、フォルダーへの制御のみを付与した場合です。
この問題を解決するには、SQL Server Management Studio(Enterprise Manager)を開き、接続しようとしているSQLインスタンスを調べる必要があります。そこから、 セキュリティ > ログイン Windows認証方式を使用して新しいログインを作成します NT 当局/ローカル サービス。
これを行う方法についての簡単なガイドは次のとおりです。
- スタートページを開いて「ssms'。
- 結果リストから選択 Microsoft SQL Server管理スタジオ.
- Microsoft SQL Server Management Studio ツールが起動したら、エラーの原因となっている特定の SQL インスタンスに移動します。
- 指定されたSQLインスタンスに正常にアクセスしたら、 セキュリティ > ログイン(フィルター済み).
- プライマリアイテムを右クリックし、 Windows認証.
- 次に、書きます 「NT当局/地方サービス」 正しい SQL 権限を作成したことを確認します。
- まだ追加していない場合は、この新しいアカウントに適切な権限を追加してください。
ملاحظة: を参照してください 方法1 具体的な手順を取得します。 - 以前問題が発生した手順を繰り返し、問題が解決したかどうかを確認します。
4. SQL Serverデータベースを再構築する(可能な場合)
SQL Serverサービス内の「ログオン」ユーザーをNT AUTHORITY/LOCAL SERVICEに変更しても問題が解決しない場合は、次の方法で問題を解決できる可能性があります。 インストーラーのダウンロード SQL データベースを再構築してファイルを再度コピーする前に、16 進数の名前を抽出します。
これを行う方法についての簡単なガイドは次のとおりです。
- ダウンロードしたインストーラーを実行し、ファイルをデフォルトの場所に抽出します。
ملاحظة: 抽出結果は、長い 16 進数の名前でオペレーティング システム ドライブのルート ディレクトリ (通常は C:/) に公開されます。 - 抽出が完了したら、次の操作で内容が消去されないように、すべてのファイルを別のフォルダーにコピーしてください。
- インストーラーを閉じます。
ملاحظة: これを実行すると、手順 2 で作成した 16 進数フォルダーの内容が消去されます。 - クリック ウィンドウズキー+ R ダイアログボックスを開くには ラン.
- 次に、書きます 'cmd' を押して Ctrl + Shift + Enter <XNUMXxDXNUMX>للل<XNUMXxXNUMX> 管理者権限でコマンドプロンプトを開きます あなたの召使いに。
- が表示されるとき ユーザーアカウント制御(UAC) タップする نعم 管理者の権限を付与します。
- 使用する CD 手順3で抽出したファイルを保存した場所に移動します。例を以下に示します。
CD C:23420247290247292740
ملاحظة: これは単なるサンプルスニペットです。上記のコマンドを修正して、(手順3で)ファイルを保存した実際の場所に移動してください。
- 正しい場所に到達したら、次のコマンドを実行してデータベースを再作成し、再構築します。
セットアップ /action=RebuildDatabase /InstanceName=SQLEXPRESS /SqlSysAdminAccounts=BUILTINAdministrators
- 管理者権限でコマンド プロンプト (CMD) を閉じ、「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーの原因となった手順を繰り返して、問題が解決したかどうかを確認します。
5. MachineGUIDを設定し、SQLサービスを再起動する
SQL Server を起動しようとしたときにこのエラーが発生し、組み込みログインを Local Service から Local System に変更した後に問題が発生し始めた場合は、MachineGUID レジストリ キーが正しいパスを指していないことが原因である可能性があります。
同様の状況に遭遇した他のユーザーは、パスを変更して SQL サービスを再起動する前に、問題の原因となったキーのバックアップを作成することで問題を解決できたことを確認しました。
これを行う方法についての簡単なガイドは次のとおりです。
- 。キーを押します Windowsの+ R ダイアログボックスを開くには ت<XNUMXxDXNUMX><XNUMXxBXNUMX><XNUMXxBXNUMX><XNUMXxDXNUMX><XNUMXxDXNUMX>ييل.
- 次に、書きます 「レジストリ編集」 を押して Ctrl + Shift + Enter 開く レジストリエディタ 管理者権限あり。
- ウィンドウが表示されたら ユーザー アカウント制御 (UAC)、 タップする نعم 管理者の権限を付与します。
- 入力 レジストリエディタ左側を使用して次の場所に移動します。
HKLMSOFTWAREMicrosoft暗号化マシンガイド
- 正しい場所が見つかったら、問題の原因となっているキーを特定します。キーには、影響を受けるデバイスのGUIDが中括弧で囲まれている必要があります(例: {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}).
- 影響を受けたデバイスを正しく特定したら、バックアップを作成する必要があります。これを行うには、デバイスキーが選択されていることを確認してから、上部のファイルバーを使用して… ファイル をクリックします 書き出す.
- 場所を指定し、認識可能なファイル名を付け、ファイルが設定されていることを確認します 種類を保存 私に レジストリ ファイル (*.reg).
- 最後に、クリックする前に 保存する必ず設定してください エクスポート範囲 私に 特定のブランチ そして正しいブランチが指定されていること。
- タップする 保存する バックアッププロセスを完了します。
- バックアップが完了したら、問題の原因となっているキーの名前を変更し、括弧を削除します。
ملاحظة: 価値は変化しなければならない マシンガイド の {xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 私に xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. - この変更を適用したら、レジストリ エディターを閉じて再起動し、SQL サービスを開始します。 重要: サービスがすぐに開始されない場合は、再起動する前にSQLをアンインストールして再インストールしてください。別のエラーが発生した場合は、手順8で作成した元のバックアップを復元し、以下の手順に進んでください。
6. ユーザーの割り当てを変更する
asp.net を使用して SQL Server からデータを取得しようとしたときに「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーが発生した場合、ローカルの原因を素早く修正する方法の 1 つは、ユーザー マッピングを正しい値に変更することです。
ملاحظة: この修正は、SQL Server Management Studio のローカル データベースを使用しており、asp.net アプリケーションを使用してそこにデータを入力しようとしている場合に有効です。
入力内容を徹底的に確認し、すべてのコードが正しいにもかかわらずエラーが発生する場合は、以下の手順に従って、SQL Server Management Studio を使用して [ログイン] ページにアクセスし、[プロパティ] 画面から現在割り当てられているユーザー マッピングを変更します。
以下に、その方法についての簡単なステップバイステップのガイドを示します。
- キーボードのスタートキーを押して、「ssmsスタートページにて。
- 結果リストから選択 Microsoft SQL Server 管理スタジオ。
- 次に、「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーの原因となっているサーバーにログインします。
- انن<XNUMXxDXNUMX><XNUMXxDXNUMX><XNUMXxDXNUMX><XNUMXxXNUMX>لل<XNUMXxDXNUMX><XNUMXxDXNUMX><XNUMXxDXNUMX><XNUMXxAXNUMX> 安全次にサブセクションに入ります ログイン.
- オプションメニューからNTを右クリックします オーソリティネットワークサービス أو NT 当局ローカルサービス (使用シナリオによって異なります)をクリックし、 プロパティ コンテキストメニューから。
- 画面に入ると ログインプロパティ、 選ぶ ユーザーマッピング 画面の左上の部分から。
- 右側には、 データベースロールチェックボックスが選択されていることを確認してください。 データベース所有者、次にタップします わかりました.
- 以前問題の原因となったコードを再実行し、問題が解決されたかどうかを確認します。
7. システム管理者ロールの権限を付与する(該当する場合)
ローカルに作成されたアプリケーションのデータベースにアクセスしようとしたときにこのエラーが発生した場合、最初に確認する必要があるのは、現在の構成で NT AUTHORITY/LOCAL SERVICE がデータベース内で動作できるかどうかです。 システム管理者の役割。
これを行うには、 Microsoft SQL Server管理スタジオ NT AUTHORITY/LOCAL サービスのプロパティを変更して、sysadmin ロールを有効にします。
これを行う方法についての簡単なガイドは次のとおりです。
- 。キーを押します 始める キーボードで「ssmsスタートページにて。
- 結果リストから選択 Microsoft SQL Server 管理スタジオ。
- その後、に行きます الأمان リストを展開します ログイン.
- 右クリック NT AUTHORITY/ローカルシステム 次に、をクリックします 特徴 コンテキストメニューから。
- プロパティ画面で、 使用人の役割 左のサイドバーから。
- 右側に移動して、関連するボックスを確認してください sysadmin.
- 変更を保存し、デバイスを再起動して問題が解決したかどうかを確認します。
何らかの理由で Microsoft SQL Server Management Studio にアクセスできない場合は、管理者権限を持つコマンド プロンプトからこの修正を適用することもできます (アクセス権限で許可されている場合)。
方法は次のとおりです。
- 。キーを押します Windowsの+ R ダイアログボックスを開くには ت<XNUMXxDXNUMX><XNUMXxBXNUMX><XNUMXxBXNUMX><XNUMXxDXNUMX><XNUMXxDXNUMX>ييل.
次に、書きます 'cmd' を押して Ctrl + Shift + Enter 開く レジストリエディタ 管理者権限あり。
- クレームが発生したとき ユーザー アカウント制御 (UAC)、 クリック نعم 管理者の権限を付与します。
- 昇格された権限で実行されているコマンド プロンプト内で、次のコマンドを入力し (プレースホルダーを変更して)、問題の原因となっている特定のサーバーにアクセスします。
sqlcmd -S (*サーバー名*)
ملاحظة: 必ず編集してください *サーバー名* 特定のケースにおける実際のサーバーの名前。
- 次に、次のコマンドを入力してEnterキーを押します。 Enter マシン上の SQL サーバーにアクセスするには:
sys.server_principals から name を選択 (name = 'NT AUTHORITYSYSTEM')
- 次に、以下のコマンドを入力して結果を取得し、それを使用します。 ソート手順 権利が追加される場所 システムミン 彼女に:
SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
- 両方の問題が正常に解決したら、管理者特権のコマンド プロンプト (CMD) を閉じて、「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーの原因となった手順を繰り返します。
8. サーバーの言語を英語に変更します(該当する場合)
使用中に「NT AUTHORITY/LOCAL SERVICEが見つかりません」というエラーが発生した場合 高度なインストーラー NT AUTHORITYLOCAL SERVICE を呼び出す場合、エラーは外部サーバーに影響する誤動作によって生じた症状である可能性があります。
この問題は、一部の Advanced Installer ユーザーがサービス画面から XUA Automation Server サービスを手動で実行しようとした場合、またはユーザー名のみを入力して手動で実行しようとした場合 (NT Authority なし) に確認されます。
ملاحظة: この問題は、セキュリティサブシステムがローカルに翻訳された名前を変換するにもかかわらず、SCMがローカルに翻訳された名前をサポートしていないために発生します。外国のサーバー上のアカウントにはローカルに翻訳された名前が付与されますが、アカウントは NT AUTHORITYLocalService 次のような機能を使用する場合 サービスの作成 أو サービス構成を変更します。
このシナリオが当てはまる場合、これまでのところ唯一の解決策は、命名規則の英語版を使用することです。
したがって、ローカル サーバーの言語のコマンド (AUTORITE NTSERVICE LOCAL など) を使用する代わりに、英語の同等のコマンド (NT AUTHORITYLocalService) を使用します。
コメントは締め切りました。