评论

收藏

[SQL Server] SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法

数据库 数据库 发布于:2021-08-03 12:39 | 阅读数:354 | 评论:0

一、错误提示 :
该作业失败。 无法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 'WIN-3TH1KNIT12D\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (错误 15404)).
二、说明:
更改作业计划的所有者,不是数据库所有者
三、解决方法:
DSC0000.png

下面是其他网友的补充方法
下午准备将服务器数据导一份到本地,连上服务器找数据库备份文件发现最后一次备份是7月1日,竟然十几天没生成新备份,查看作业历史记录,错误信息如下:
该作业失败。 无法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 'WIN-3TH1KNIT12D\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (错误 15404)).
这应是上次重命名系统管理员帐户导致的,尝试重新选择作业所有者和重建作业,都不好用,最终将所有者更改为NT AUTHORITY\SYSTEM,作业成功执行。
说明:因是服务器,上次重命名系统管理员帐户后系统未重启,发现SQL Server 2008 R2登录名仍是旧的Administrator,不知重启系统会不会修复,待下次重启时观察下。
说明:更改作业计划的所有者,不是数据库所有者
调用存储过程来备份,测试通过
--备份数据库  
CREATE PROC [dbo].[P_DBBACKUP2Path]
  (
    @dbPath NVARCHAR(200) ,--备份文件存放路径,最后带/
    @DbName VARCHAR(50)--要备份的数据库名称
  )
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
调用:exec P_DBBACKUP2Path 'x:\dbBackup\', 'dbname'
到此这篇关于SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法的文章就介绍到这了,更多相关无法确定所有者是否有服务器访问权限内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

关注下面的标签,发现更多相似文章