Cannot execute as the database principal because the principal "guest" does not exist, this type of principal cannot be impersonated, or you do not have permission.

今天遇到这样一个问题:一个系统的作业需要给系统Support人员开放SQL Agent下作业的查看、执行权限。数据库版本为SQL Server 2014 SP2,给这个系统Support人员的NT账号授予msdb数据库下面权限后:

该系统Support人员反馈在双击查看该作业时报下面错误。于是我测试,验证了一下这个权限是否OK,

我测试的时候使用的是Microsoft SQL Server Management Sutdio 2014,发现不会出现这个错误。 后面我又继续测试了一下Microsoft SQL Server Management Sutdio 2008,发现使用这个版本确实会出现这个错误,Microsoft SQL Server Management Sutdio 2008版本如下所示:

于是我用SQL Profile跟踪了一下,双击作业操作时执行的SQL语句,如下所示

在执行下面SQL时,出现错误,可以将该SQL取出,在Microsoft SQL Server Management Sutdio 里面执行。

exec master.dbo.sp_MSdbuserpriv N‘serv‘

解决这个问题也很简单,只需要给这个NT账号,授予master数据库下面的public角色即可解决问题。

时间: 2024-10-01 03:01:51

Cannot execute as the database principal because the principal "guest" does not exist, this type of principal cannot be impersonated, or you do not have permission.的相关文章

SQL Challenge ——快速找到1-100之间缺失的数

有个经典的题目:1-100之间的数字(不重复)存放在表里,共95行一列,但是里面缺了5个数字,怎么用SQL最快找出那五个数字. 我们先来看看Oracle数据库如何实现,如下所示,我们先准备测试环境和数据. SQL> create table t( id number(10));   Table created.   SQL> begin   2   for i in 1 .. 100   3   loop   4     insert into t   5     values(i);   6

通过SQL Server 2008数据库复制实现数据库同步备份

SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用.它是一种优于文件备份的数据库备份解决方案. 在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据库复制.数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜

(初稿)SQL Server 复制(Replication)系列(2)——事务复制搭建

本文演示如何搭建最基本的事务复制. 环境准备: 虚拟机2台: 服务器名分别为RepA和RepB,RepA为发布服务器,RepB为订阅服务器.均安装WindowsServer 2008R2英文版(在外企工作的原因).并确保两台服务器能互访. SQL Server: 在上面的虚拟机中分别安装SQLServer 2008 R2 x64 英文企业版. 演示数据库: 微软示例数据库AdventureWorks2008 R2 配置事务复制 复制的配置可以使用T-SQL来实现,但是所需的T-SQL及存储过程加

SQL Server 复制(Replication) ——事务复制搭建

本文演示如何搭建最基本的事务复制. 环境准备: 虚拟机2台: 服务器名分别为RepA和RepB,RepA为发布服务器,RepB为订阅服务器.均安装WindowsServer 2008R2英文版(在外企工作的原因).并确保两台服务器能互访. SQL Server: 在上面的虚拟机中分别安装SQLServer 2008 R2 x64 英文企业版. 演示数据库: 微软示例数据库AdventureWorks2008 R2 配置事务复制 复制的配置可以使用T-SQL来实现,但是所需的T-SQL及存储过程加

Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches (文档 ID 1929745.1)

From: https://support.oracle.com What is "Oracle JavaVM Component Database PSU" ? Oracle JavaVM Component Database PSU is released as part of the Critical Patch Update program from October 2014 onwards.It consists of two separate patches: One fo

A tutorial on Principal Components Analysis | 主成分分析(PCA)教程

A tutorial on Principal Components Analysis 原著:Lindsay I Smith, A tutorial on Principal Components Analysis, February 26, 2002. 翻译:houchaoqun.时间:2017/01/18.出处:http://blog.csdn.net/houchaoqun_xmu  |  http://blog.csdn.net/Houchaoqun_XMU/article/details

P6 EPPM Manual Installation Guide (Oracle Database)

Contents Oracle Database Manual Configuration Overview ,,★★5 Oracle Database Installation ,,★★6 Creating the Database Structure for Oracle and Loading Application Data ,,★★7 Creating the P6 EPPM Database Structure for Oracle ,,★★7 Copying the Script

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May 2016 Contents About This Guide...................................................................................... 11 Shared Topics in This Guide .

Oracle>>通过PL/SQL程序块判断,指定用户的指定数据表和序列是否存在,如果存在则删除,否则新创建。并且为表添加含有字符串数据,execute immediate执行insert语句中有字符串解决办法

--变量声明 declare num0 number; num1 number; begin --判断用户为:SYSTEM的数据库中是否存在相关数据表和序列,存在则删除,不存在则新创建,DBMS_OUTPUT.put_line等同java中的System.out.println输出语句 DBMS_OUTPUT.put_line('正在初始化数据库信息,请稍后......'); --以下参数说明: --所涉及到的参数值必须为大写 --sequence_owner:指定哪个数据库用户的序列: seq