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 AUTHORITYLOCAL SERVICEアカウントが既に存在することを確認する必要があります。
アカウントが存在することが判明した場合は、SQL Server レベルで必要なログインと関連ユーザーを作成するための十分な権限があることを確認してください。
この手順は Windows Server のバージョンによって若干異なりますが、基本的な手順はどのバージョンの Windows Server でも同じです。
必要な手順は次のとおりです。
- 開いた Windows Server Essentials ダッシュボード。
- メインナビゲーションバーに移動してクリックします ユーザー。
- 現在のユーザーのリストを閲覧し、名前のエントリが見つかるかどうかを確認します。 NT 当局のローカル サービス。
ملاحظة: 関連する入力が NT 当局ローカルサービス 見つからない場合は、ハイパーリンクをクリックしてください。 ユーザーアカウントを追加する 開く ユーザー アカウント追加ウィザード。 そこから、指示に従って NT AUTHORITYLOCAL SERVICE のユーザーを作成し、命名規則が正しいことを確認します。 - アカウントが存在することを確認したら、必要な権限が付与されているか確認しましょう。そのためには、「アカウント」をクリックします。 NT 当局ローカルサービス 以内に ユーザーの皆様、 次にパートへ進む ミッション をクリックします プロパティ。
- 次に、タブに移動します 全般的、 次にタブを押します 共有フォルダ、 次にタブを押します どこからでもアクセス可能 ユースケースに基づいて、このアカウントに必要なすべての権限を有効にします。
- 変更を保存し、以前に「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーを引き起こした手順を繰り返します。これでエラーは修正されるはずです。
NT AUTHORITYLOCAL SERVICEユーザー アカウントが作成され、必要な権限が付与されていることを既に確認済みであれば、以下の次の方法に進んでください。
2. SQL Server のログインを作成する (該当する場合)
Visual Studio プロジェクトで SQL Server データ レイヤー アプリケーションを使用しているときにこのエラーが発生した場合は、おそらくサーバー レベル オブジェクトのログイン リストにNT AUTHORITYLOCAL SERVICE を追加するスクリプトを作成した後にこのエラーが発生していると考えられます。
次のスクリプトを使用してデータベース レベル オブジェクト内でログインを作成および追加する場合は、この方法を適用できます。
DEFAULT_LANGUAGE=[us_english] で WINDOWS からログイン [NT AUTHORITYLOCAL SERVICE] を作成します。ログイン [NT AUTHORITYLOCAL SERVICE] のユーザー [NT AUTHORITYLOCAL SERVICE] を作成します。
この場合、プロジェクトをコンパイルしようとしたときに、「NT AUTHORITYLOCAL SERVICE が存在しないか、権限が付与されていないため、見つかりませんでした」というエラーメッセージが表示される可能性があります。
この状況があなたに当てはまる場合、[NT AUTHORITYLOCAL SERVICE] ログインを作成できない理由は、この場合、NT AUTHORITYLOCAL SERVICE は単なる 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ユーザー名>は単なるプレースホルダーです。実際のWindowsユーザー名に置き換えてください。
3. SQLに適切な権限を追加します(該当する場合)
この問題が発生するもう 1 つの原因は、SQL で NT AUTHORITY/LOCAL SERVICE に対する適切な権限を追加せず、フォルダーへの制御のみを付与した場合です。
この問題を解決するには、SQL Server Management Studio (Enterprise Manager) を開き、接続しようとしている SQL インスタンスを確認する必要があります。次に、[セキュリティ] > [ログイン]に移動し、Windows 認証方式を使用してNT AUTHORITY/LOCAL SERVICEの新しいログインを作成します。
これを行う方法についての簡単なガイドは次のとおりです。
- スタートページを開いて「ssms'。
- 結果リストから選択 Microsoft SQL Server管理スタジオ.
- Microsoft SQL Server Management Studio ツールが起動したら、エラーの原因となっている特定の SQL インスタンスに移動します。
- 指定されたSQLインスタンスに正常にアクセスしたら、 セキュリティ > ログイン(フィルター済み).
- プライマリアイテムを右クリックし、 Windows認証.
- 次に、書きます 「NT当局/地方サービス」 正しい SQL 権限を作成したことを確認します。
- まだ追加していない場合は、この新しいアカウントに適切な権限を追加してください。
ملاحظة: を参照してください 方法1 具体的な手順を取得します。 - 以前問題が発生した手順を繰り返し、問題が解決したかどうかを確認します。
4. SQL Serverデータベースを再構築する(可能な場合)
SQL Server サービス内の「ログオンユーザー」を NT AUTHORITY/LOCAL SERVICE に変更しても問題が解決しない場合は、ダウンロードインストーラーを使用して16 進数の名前を抽出してから SQL データベースを再構築し、ファイルを再度コピーすることで問題を解決できる可能性があります。
これを行う方法についての簡単なガイドは次のとおりです。
- ダウンロードしたインストーラーを実行し、ファイルをデフォルトの場所に抽出します。
ملاحظة: 抽出結果は、長い 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 がsysadmin ロールで動作することを許可しているかどうかを確認する必要があります。
Microsoft SQL Server Management Studioを開き、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 (*サーバー名*)
注:*server name* は、ご使用の環境における実際のサーバー名に必ず変更してください。
- 次に、次のコマンドを入力してEnterキーを押します。 Enter マシン上の SQL サーバーにアクセスするには:
sys.server_principals から name を選択 (name = 'NT AUTHORITYSYSTEM')
- 次に、以下のコマンドを入力して結果を取得し、それを使用します。 ソート手順 権利が追加される場所 システムミン 彼女に:
SP_ADDSRVROLEMEMBER 'NT AUTHORITYSYSTEM','SYSADMIN'
- 両方の問題が正常に解決したら、管理者特権のコマンド プロンプト (CMD) を閉じて、「NT AUTHORITY/LOCAL SERVICE が見つかりません」というエラーの原因となった手順を繰り返します。
8. サーバーの言語を英語に変更します(該当する場合)
Advanced Installerを使用してNT AUTHORITY/LOCAL SERVICEを呼び出す際に「NT AUTHORITY/LOCAL SERVICEが見つかりません」というエラーが発生した場合、そのエラーは外部サーバーに影響を与えるバグの症状である可能性があります。
この問題は、一部の Advanced Installer ユーザーがサービス画面から XUA Automation Server サービスを手動で実行しようとした場合、またはユーザー名のみを入力して手動で実行しようとした場合 (NT Authority なし) に確認されます。
注:この問題は、セキュリティサブシステムがローカルで翻訳された名前を翻訳するにもかかわらず、SCMがローカルで翻訳された名前をサポートしていないために発生します。外部サーバー上のアカウントにはローカルで翻訳された名前が付与されますが、CreateServiceやChangeServiceConfigなどの関数を使用する場合は、アカウントがNT AUTHORITYLocalServiceである必要があります。
このシナリオが当てはまる場合、これまでのところ唯一の解決策は、命名規則の英語版を使用することです。
したがって、ローカル サーバーの言語のコマンド (AUTORITE NTSERVICE LOCAL など) を使用する代わりに、英語の同等のコマンド (NT AUTHORITYLocalService) を使用します。
コメントは締め切りました。