小编Kon*_* Z.的帖子

错误:注意:无法通过电子邮件通知"操作员".当作业失败时尝试发送电子邮件

我在工作失败时发送通知时遇到问题.我创建了数据库邮件配置文件并将其分配给SQL代理和重新启动的SQL代理.当我运行程序时msdb.dbo.sp_send_dbmail,正在发送电子邮件.此外,当我使用数据库邮件发送测试电子邮件时,它工作正常.但是当我在Job失败时设置通知时,在作业日志中我看到以下信息:注意:无法通过电子邮件通知"SQL作业失败". 我不知道这个问题的根源是什么.我发现这个提示:http://sqlblog.jfperry.com/jpsql/post/2009/04/07/NOTE-Failed-to-notify-7boperator7d-via-email.aspx

但我检查了在SQL Agent中启用了配置文件.SQL Agent已重新启动.哪里可以成为问题的根源?

database-mail sql-server-2008-r2

12
推荐指数
3
解决办法
9704
查看次数

如何强制报表项重叠?

我正在尝试创建甜甜圈图,并在图表的孔内插入标签。当我呈现报告时,标签被移到图表之外。 在此处输入图片说明

是否可以强制报表项重叠而不是自动定位?

charts reporting-services overlapping donut-chart

5
推荐指数
1
解决办法
4302
查看次数

当表格少于4列(SSRS)时,导出到excel后隐藏的列

我在将ssrs报告导出到excel时遇到以下问题。当我创建一个具有4列的表格然后将其导出到excel时,我得到了正确的布局: 在此处输入图片说明

但是,当我在ssrs designer中删除至少一列时(当表包含少于4列时),将其导出到excel后,隐藏了一列: 在此处输入图片说明

当我手动将宽度(通过在属性窗口中键入width)更改为至少3 cm时,将其导出为ex​​cel后,附加列消失了(即使表少于4列)。

有谁知道为什么会这样吗?任何帮助将不胜感激。

excel export-to-excel reporting-services ssrs-2008 ssrs-2012

3
推荐指数
1
解决办法
1万
查看次数

用百万空行填充表的有效方法

你知道用大量空行填充表格的任何有效方法吗?使用WHILE子句插入它们 并不是很有效.用空行填充表肯定有更好的方法:

DECLARE @CNT int
SET @CNT = 1
WHILE @CNT < 3
BEGIN
INSERT INTO TAB VALUES( '1' )
SET @CNT = @CNT + 1
END
Run Code Online (Sandbox Code Playgroud)

我还想知道,如果可以在SELECT不使用任何现有表的情况下使用子句和CTE(公用表表达式)显示1 mil行(编号从1到1000000).

我将不胜感激任何帮助.

t-sql insert common-table-expression sql-server-2008

1
推荐指数
1
解决办法
1352
查看次数

作业失败时发送电子邮件通知不起作用

  1. 我为sysadmin准备了脚本,用于创建和配置数据库邮件配置文件,帐户和操作员.他运行脚本,所以我创建了临时工作,但失败了.然后我在作业失败时设置电子邮件通知.我运行Job,但没有发送电子邮件.然后我尝试运行msdb.dbo.sp_send_dbmail 程序,使用相同的操作员,我收到了电子邮件.当作业失败时,不发送电子邮件的原因是什么?如果在作业失败时使用电子邮件通知正在运行哪个程序 - 它是否与sp_send_dbmail?不同?

  2. 另一件事是在数据库邮件日志中没有关于发送电子邮件状态的信息(它是空的) - 也许我没有权限看到日志?

  3. 我将配置文件设置为公共,正在运行dbo.sysmail_add_principalprofile_sp procedure,但是当我尝试发送运行msdb.dbo.sp_send_dbmail已记录为dbowner 的电子邮件时,我收到错误:EXECUTE权限被拒绝..为什么只有当我以用户身份登录时它才有效?

我正在使用SQL Server 2008.

这是一个T-SQL代码,我传递给sysadmin来创建和配置数据库邮件.

-- Create a Database Mail account

EXECUTE msdb.dbo.sysmail_add_account_sp
    @account_name = 'Mail Account',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'xx@xx.pl',
    @display_name = 'Job failure notification',
    @mailserver_name = 'xx.xx.xxx' ,
    @username = 'aaa',
    @password = 'xxx'

-- Create a Database Mail profile


 EXECUTE msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'Database Mail Profile',
    @description = 'Profile used for job failure …
Run Code Online (Sandbox Code Playgroud)

database-mail sql-server-2008

0
推荐指数
1
解决办法
2万
查看次数