这篇文章将为大家详细讲解有关SQL Server中如何解决无法确定所有者是否有服务器访问权限的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、错误提示 :
该作业失败。 无法确定所有者 WIN-3TH1KNIT12D\Administrator (拥有作业 Database_Backup.step1)是否有服务器访问权限 (原因: 无法获取有关 Windows NT 组/用户 'WIN-3TH1KNIT12D\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (错误 15404)).
二、说明:
更改作业计划的所有者,不是数据库所有者
三、解决方法:
下面是其他网友的补充方法
下午准备将服务器数据导一份到本地,连上服务器找数据库备份文件发现最后一次备份是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中如何解决无法确定所有者是否有服务器访问权限的问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。