SQL Server中如何解决无法确定所有者是否有服务器访问权限的问题

这篇文章将为大家详细讲解有关SQL Server中如何解决无法确定所有者是否有服务器访问权限的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一、错误提示 :

该作业失败。 无法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 'WIN-3TH1KNIT12D\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (错误 15404)).

二、说明:

更改作业计划的所有者,不是数据库所有者

三、解决方法:

SQL Server中如何解决无法确定所有者是否有服务器访问权限的问题

下面是其他网友的补充方法

下午准备将服务器数据导一份到本地,连上服务器找数据库备份文件发现最后一次备份是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中如何解决无法确定所有者是否有服务器访问权限的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。