SQL Mail (Extended Stored Procs - Failure Logging)
Aug 16, 2001
What happens if any of the extended stored procs below can't connect to the Exchange server? Is the failure logged? Does it back off and try again later?
I've written a very simple extended stored proc--little more than what VC++ 6.0's ext stored proc wizard generates--set up the xp in the master database, and eventually want to execute it from a trigger defined on a table in another database...
I've tested the xp in Query Analyzer. If the DB is set to 'master', the xp runs (exec xp_InputTrigger), no problem. If I change databases and try to run the xp, I get:
Server: Msg 2812, Level 16, State 62, Line 1 Could not find stored procedure 'xp_InputTrigger'.
Keying "exec master.xp_InputTrigger", also fails: Could not find stored procedure 'master.xp_InputTrigger'.
I've checked permissions--all seem to be set right. Anyone have any insight for me here? Many thanks, mjo
We use SQL Server 2005 and we use lots of stored procedures. Each time a stored procedure run we log the name, execution time and username so we can identify trends and long-running procedures. I would like to add the actual CPU and IO cost of execution to this log. Is there a way to get it? This type of information is viewable in SQL Server's performance tools - so there must be some way to get it. Can someone point me in the right direction please?
I am having diffuculty with multi owner stored procs with enterprise library deriveparameters.
Eg:
Create proc dbo.test @p1 int as select 'hi'
create proc bob.test @p1 int as select 'hi'
Deriveparameters appears to tell us the wrong number of parameters. I gather it is getting ALL the parameters for all procs called 'test' regardless of the owner.
If anyone can give me some guidance on this I would appreciate it!
What is the procedure to create a extended stored procedure using C#.
Actually we have created a dll file using c# and it was added to the bin folder of mssql server. Also dll file is added to the sql server using "xp_extendedproc"
But while executing the extended proc we got this error "ODBC: Msg 0, Level 16, State 1 Cannot load the DLL xp_TestSql.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.)"
i have created the folowing function but keep geting an error.
Only functions and extended stored procedures can be executed from within a function.
Why am i getting this error!
Create Function myDateAdd (@buildd nvarchar(4), @avdate as nvarchar(25)) Returns nvarchar(25) as Begin declare @ret nvarchar(25) declare @sqlval as nvarchar(3000)
set @sqlval = 'select ''@ret'' = max(realday) from ( select top '+ @buildd +' realday from v_caltable where realday >= '''+ @avdate +''' and prod = 1 )a'
HiIf I register my own proc via execsp_addextendedproc 'xp_myproc', 'xp_mylib.dll'.How then I can look all my own procs and dll's?In which tables are this data saved?Thx.
Is there a way to namespace groups of stored procs to reduce confusion when using them?
For C# you can have ProjectName.ProjectSection.Classname when naming a class. I am just wondering if there is a way to do the same with SQL stored procs. I know Oracle has packages and the name of the package provides a namespace for all of the stored procs inside it.
Hello, I'm trying to enable extended logging to resolve some conflicts. After doing a google search, I found KB312292 which says to follow what's in books online on modifying the merge agent. I tried to add the following parameters in the agent profile:
-Output x:merge.txt
-OutputVerboseLevel 2
When I save the profile I get an error saying that SQL was expecting an integer for -Output. I've also tried using the -OutputMessageFile parameter but this didn't create the file, nor did it change the logging detail in the msmerge_conflicts_info table.
Dear all, I have switched off the firewall settings on my system and as suggested im entering the minimal information and data to send the mail. but still the Mail Task is failing.. plz suggest.
Hopefully someone out there will have an idea as this is driving me nuts.
I've setup a task to email on success/failure and keep receiving the following message when executed:
Progress: The SendMail task is initiated. - 0 percent complete [Send Mail Task] Error: An error occurred with the following error message: "Failure sending mail.". Progress: The SendMail task is completed. - 100 percent complete Task Send Mail Task failed
When I configure Outlook Express on the same machine with the same settings it works.
On the SMTP Connection Manager I have left the default name, tested with both an IP address and Server Name, and no authentication or SSL.
On the Send Mail Task, it uses the above connection. The To: , From: , Subject fields are populated. Message SourceType is DirectInput, MessageSource is Test, Priority is Normal and no attachments or expressions etc.
Nothing useful is logged in the Event Viewer even with full logging turned on.
DECLARE @object int DECLARE @hr int DECLARE @property varchar(255) DECLARE @return varchar(255) DECLARE @output varchar(255) DECLARE @source varchar(255) DECLARE @description varchar(255) --Instantiate a Network Object EXEC @hr = sp_OACreate 'WScript.Network', @object OUT IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @object, @hr RETURN END -- Get a property using an output parameter. --EXEC @hr = sp_OAMethod @object, 'userDomain' --,@property OUT EXEC @hr = sp_OAGetProperty @object, 'userDomain'--, @property OUT IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @object, @hr RETURN END --PRINT @property
-- Destroy the object. EXEC @hr = sp_OADestroy @object IF @hr <> 0 BEGIN EXEC sp_displayoaerrorinfo @object, @hr RETURN END
I get the same behavior stated in microsoft's support site related to BUG 55840 for Sql Server 7.0. I get an error message when trying to retrieve with @property OUT parameter. And I get an Empty record set when NO Output param is supplied.
CREATE PROCEDURE PROC1 AS BEGIN SELECT A.INTCUSTOMERID,A.CHREMAIL,B.INTPREFERENCEID,C.CHR PREFERENCEDESC FROM CUSTOMER A INNER JOIN CUSTOMERPREFERENCE B ON A.INTCUSTOMERID = B.INTCUSTOMERID INNER JOIN TMPREFERENCE C ON B.INTPREFERENCEID = C.INTPREFERENCEID WHERE B.INTPREFERENCEID IN (6,7,2,3,12,10) ORDER BY B.INTCUSTOMERID
END
IF I AM USING THIS PROC AS I/P TO ANOTHER PROC THEN IT GIVES NO PROBLEM AS I CAN USE ?
BUT IF , I USE ANOTHER PROC SIMILAR TO THE FIRST ONE WHICH GIVES SLIGHTLY DIFFERENT RESULTS AND GIVES TWO SETS OF RESULTS,THEN WE HAVE A PROBLEM,HO TO SOLVE THIS :-
CREATE PROCEDURE MY_PROC AS BEGIN SELECT A.INTCUSTOMERID,A.CHREMAIL,B.INTPREFERENCEID,C.CHR PREFERENCEDESC FROM CUSTOMER A INNER JOIN CUSTOMERPREFERENCE B ON A.INTCUSTOMERID = B.INTCUSTOMERID INNER JOIN TMPREFERENCE C ON B.INTPREFERENCEID = C.INTPREFERENCEID WHERE B.INTPREFERENCEID IN (23,12,10) ORDER BY B.INTCUSTOMERID
END
SELECT A.INTCUSTOMERID,MAX(case when A.intpreferenceid = 23 then '1' else '0' end) + MAX(case when A.intpreferenceid = 12 then '1' else '0' end) + MAX(case when A.intpreferenceid = 10 then '1' else '0' end) AS PREFER FROM CUSTOMER GROUP BY A.INTCUSTOMERID ORDER BY A.INTCUSTOMERID END
WHICH NOW GIVES ME TWO SETS OF DATA , BOTH REQUIRED THEN HOW TO USE ONE SET OF RESULTS AS I/P TO ANOTHER PROC AND OTHER SET OF RESULTS AS I/P TO YET ANOTHER PROC .
If I stop and start SQLAgent and SQMail the job works fine.
SQLAgent and SQLMail are running under a valid domain account. When I test the MAPI profile(via Enterprise manager) in SQLAgent and SQLMail I get no errors.
I have checked the event log and the SQL error log and have found no errors.
I'm working on SSIS Package, I messing with one problem. I have a sequence container as a parent & it has 4 data flow task. In that data flow task data is ETL in another database server. According to my requirement, if any of the task is failed then i have to send a mail to the concern person describe the cause of failure. Currently i'm doing this by event handler onerror condition. but for one error it sending 4 mail. becuase for one error it's giving 4 error message. i had used another alternative, on failure of task i connect it to another task that sending mail. but it works only when i use logical OR. But i'm not getting whether it's a correct method or not.
When I am execute the SSIS packages in my machine, it is working fine,
The SSIS package contains Send Mail task, but if the same application is executed by my colleague,
he is getting the error "Failure Sending mail", but he was able to execute the same application successfully previouly. but he can able to send the mail from his outlook.
How do I search for and print all stored procedure names in a particular database? I can use the following query to search and print out all table names in a database. I just need to figure out how to modify the code below to search for stored procedure names. Can anyone help me out? SELECT TABLE_SCHEMA + '.' + TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'
The send mail task in ssis was failing with following error
[Send Mail Task] Error: An error occurred with the following error message: "Failure sending mail.". Progress: The SendMail task is completed. - 100 percent complete Task Send Mail Task failed
The firewall for SMTP server was opened.
And successful in sending mail using Database Mail task from the sql server
Do any one have idea why this difference is? Do any one ever faced similar issue?
One reason I could found is McAfee virus scan policy is stopping the SSIS Send mail task.
(source: 9/25/2007 9:00:04 AM Blocked by port blocking rule C:Program FilesMicrosoft SQL Server90DTSinnDtsDebugHost.exe Anti-virus Standard Protection : Prevent mass mailing worms from sending mail 10.237.5.105:25)
i have a package that contains a foreach loop container, in this container i have sql tasks, and execute package tasks, that end with a send mail task. if there something wrong with the smtp server, or it's down, the send mail task fails the package. i don't want this to happen, what i want that if the send mail taks fails, the package will continue it's execution.
--i thought of using the event handler... but i don't know if it works...
I have multiple task flows with precedence constraints and i have changed the constraint as completion to execute the package even though there is failure in one of the tasks in the package but every time the send mail success is executed instead of Send mail Failure task.
When using a subscription to send mail, I find that the report can be sent in any format apart from Excel, which gives me the error: "Failure sending mail: Unspecified error". As you can imagine, this doesn't give me much to go on!
I want to use Excel format as it retains the drilldown functionality (hiding / unhiding rows). The ExecutionLog has the status as rsSuccess, but Subscription tab for the report shows the error.
I have SQL Server Reporting services on Windows 2000.
The reports seem to be working well, but I cannot get a subscription to work. The error I get is the one in the subject line.
I look into my log files and see these lines.
ReportingServicesService!emailextension!ab0!12/07/2007-15:02:07:: Error sending email. Microsoft.ReportingServices.Diagnostics.Utilities.RSException: An error has occurred during report processing. ---> Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An error has occurred during report processing. ---> System.Runtime.InteropServices.COMException (0x80090005): Bad Data.
More and more often, I am seeing this error message in RS subscriptions. I would assume it means the IIS server can't connect to the corporate exchange server. However I was wondering if there is some timeout setting/configuration in RS or the IIS server (or any other kind of setting) I can change to help alleviate this problem.
Has anyone else experienced this? Or know how to fix it?
Thanks,
Jeff
UPDATE: After looking closer at the subscriptions, I have noticed that subscriptions set up by a RS Admin (who is also a server admin) seem to be working fine. It is the subscriptions that are set up by ordinary users that are failing...
I am Getting this error in SSRS Report Subscription. I went to Subscription table Checked the Laststatus. The LastStatus is :Failure sending mail: The specified string is not in the form required for an e-mail address.Mail will not be resent.
I am wondering if it is possible to execute an .exe from a stored proc. I have an application that calls a stored proc and I am wanting for that stored proc to call up an app to show certain results. I have no way of doing this on the application itself as I dont have the source code. So, since I do have access to the SQL I am wondering if it could be done there.
First off, this is a cross post which is also located here: http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=34073
Now, with the following stored procs and UDF, the Result is NULL and I cannot figure out why.
What I am doing is calling a stored procedure pass in an OUTPUT variable of type float. This stored proceudre then calls a different stored procedure passing the same OUTPUT variable of type float. The second stored procedure then calls a UDF passing in two variables to be multiplied ans this should set the OUTPUT variable to the result.
The UDF does return the correct result to the interior stored procedure, but the interior stored procedure does not pass the value back to the original stored procudure resultint in a Result value = NULL.
The code is below, just copy / past, execute and you will see exactly what I mean.
Any thoughts?
USE NORTHWIND GO
CREATE FUNCTION RECTANGULAR_XSECTION (@fWidth float, @fHeight float)