1. ホーム
  2. データベース
  3. エムエスエル

SQL Server のジョブが失敗しました。所有者がサーバーアクセス権を持っているかどうか判断できない

2022-01-05 19:22:09

I. エラーメッセージです。

ジョブは失敗しました。所有者WIN-3TH1KNIT12DAdministrator(ジョブDatabase_Backup.stepの所有者)にサーバーアクセス権があるかどうか判断できません(Reason: Unable to get information about the Windows NT group/user 'WIN-3TH1KNIT12DentaAdministrator' Error code 0x534. [SQLSTATE 42000] (エラー 15404))。

II. 説明

データベース所有者ではなく、ジョブプランの所有者を変更する

III. 解決策

他のユーザーからの追加メソッドはこちら

午後、サーバーのデータのコピーをローカルにインポートする準備をし、サーバーに接続してデータベースのバックアップファイルを探すと、最後のバックアップが7月1日で、驚くことに10日以上新しいバックアップが生成されていないので、ジョブ履歴を確認すると、次のようなエラーメッセージが表示されていました。

ジョブが失敗しました。所有者WIN-3TH1KNIT12DentaAdministrator(ジョブDatabase_Backup.stepの所有者)にサーバ・アクセスがあるかどうかを判断できません(Reason: Unable to get information about Windows NT group/user 'WIN-3TH1KNIT12DentaAdministrator' Error code 0x534. [SQLSTATE 42000] (エラー 15404))。

前回、システム管理者アカウントの名前を変更したことが原因のはずです。ジョブ所有者の再選択とジョブの再構築を試みましたが、両方ともうまくいかず、最終的に所有者をNT AUTHORITYSYSTEMに変更したら、ジョブが正常に実行されました。

注)サーバーのため、前回のシステム管理者アカウントの名前変更後、システムを再起動しなかったため、SQL Server 2008 R2のログイン名が古いAdministratorのままになっていることがわかりました、システムを再起動することで直るかどうかはわかりませんので、次回再起動時に観察することにします。

説明します。データベースの所有者ではなく、ジョブプランの所有者を変更する

ストアドプロシージャを呼び出してバックアップを行い、テストに合格する

-- Backup the database  
CREATE PROC [dbo]. [P_DBBACKUP2Path]
    (
      @dbPath NVARCHAR(200) , -- path to backup file, with / at the end
      @DbName VARCHAR(50) - the name of the database to be backed up
    )
AS 
    SELECT @dbPath = @dbPath + @DbName + '_' + CONVERT(VARCHAR(20), GETDATE(), 112)
            + REPLACE(CONVERT(VARCHAR(20), GETDATE(), 108), ':', '') + '.bak'  
    BACKUP DATABASE @DbName   
TO DISK = @dbPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT

Called: exec P_DBBACKUP2Path 'x:\dbBackup', 'dbname'.

SQL Serverのジョブの失敗:所有者がサーバーのアクセス権を持っているかどうか判断できないについては、この記事がすべてです。所有者がサーバーのアクセス権を持っているかどうか判断できないについての詳細は、スクリプトハウスの過去の記事を検索するか、以下の関連記事を引き続き参照してください。