Does anyone knows how to retrieve execution progress from ssis package, that was
executed programatically.
What I am trying to do, is to launch ssis package on server
and send the progress ("percent complete") to some remote client in order to display it
in progress bar.
I want that ,while ssis package executes, it will raise some event every time the progress changes.
I have a pacakage wich loads data from a .csv file into my database. When I run the package from Visual Studio there is a Progress/Execution Results tab where I see information about the progress. I would like to insert some of these messages into my database. I tried to handle the OnProgress event with an Execute SQL Task and insert the Progress descriptions, but that doesn't seem to give all the information I see on the above mentioned tab (moreover, I get different numbers of events running the package from VS and running it programmatically from c#, why is that?).
What I really would like to get are the messages from the Progress tab which look like these:
[Agreement File [11773]] Information: The processing of file "D:****files*********.csv" has started.
[Agreement File [11773]] Information: The total number of data rows processed for file "D:****files*********.csv" is 201.
[Agreement File [11773]] Information: The processing of file "D:****files*********.csv" has ended.
[DTS.Pipeline] Information: "component "OLE DB Destination" (12598)" wrote 200 rows.
I need to write a front end to execute our .dtsx package due to it being encrypted and not wanting to expose the password at all. I have successfully written code to run it but I want to show something like the Package Execution Progess window and I don't know how. This window shows up when you just double click on the .dtsx file and Execute it using the interface provided. Can anyone help?
after moving off VS debugger and into management studio to exercise our SQLCLR sp, we notice that the 2nd execution gets an error suggesting that our static SqlCommand object is getting reused from the 1st execution (of the sp under mgt studio). If this is expected behavior, we have no problem limiting our statics to only completely reusable objects but would first like to know if this is expected? Is the fact that debugger doesnt show this behavior also expected?
I have some SP's I run once a month and each SP takes a few mins to run and when I batch em together in one shot, I hate sitting there waiting for them to finish whats the easiest way to report back the status of the exec?
Hi I am slowly getting to grips with SQL Server. As a part of this, I have been attempting to work on producing more efficient queries. This post is regarding what appears to be a discrepancy between the SQL Server execution plan and the actual time taken by a query to run. My brief is to produce an attendance system for an education establishment (I presume you know I'm not an A-Level student completing a project :p ). Circa 1.5m rows per annum, testing with ~3m rows currently. College_Year could strictly be inferred from the AttDateTime however it is included as a field because it a part of just about every PK this table is ever likely to be linked to. Indexes are not fully optimised yet. Table:CREATE TABLE [dbo].[AttendanceDets] ([College_Year] [smallint] NOT NULL ,[Group_Code] [char] (12) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,[Student_ID] [char] (8) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,[Session_Date] [datetime] NOT NULL ,[Start_Time] [datetime] NOT NULL ,[Att_Code] [char] (1) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY]GO CREATE CLUSTERED INDEX [IX_AltPK_Clust_AttendanceDets] ON [dbo].[AttendanceDets]([College_Year], [Group_Code], [Student_ID], [Session_Date], [Att_Code]) ON [PRIMARY]GO CREATE INDEX [All] ON [dbo].[AttendanceDets]([College_Year], [Group_Code], [Student_ID], [Session_Date], [Start_Time], [Att_Code]) ON [PRIMARY]GO CREATE INDEX [IX_AttendanceDets] ON [dbo].[AttendanceDets]([Att_Code]) ON [PRIMARY]GOALL inserts are via an overnight sproc - data comes from a third party system. Group_Code is 12 chars (no more no less), student_ID 8 chars (no more no less). I have created a simple sproc. I am using this as a benchmark against which I am testing my options. I appreciate that this sproc is an inefficient jack of all trades - it has been designed as such so I can compare its performance to more specific sprocs and possibly some dynamic SQL. Sproc:CREATE PROCEDURE [dbo].[CAMsp_Att] @College_Year AS SmallInt,@Student_ID AS VarChar(8) = '________', @Group_Code AS VarChar(12) = '____________', @Start_Date AS DateTime = '1950/01/01', @End_Date as DateTime = '2020/01/01', @Att_Code AS VarChar(1) = '_' AS IF @Start_Date = '1950/01/01'SET @Start_Date = CAST(CAST(@College_Year AS Char(4)) + '/08/31' AS DateTime) IF @End_Date = '2020/01/01'SET @End_Date = CAST(CAST(@College_Year +1 AS Char(4)) + '/07/31' AS DateTime) SELECT College_Year, Group_Code, Student_ID, Session_Date, Start_Time, Att_Code FROM dbo.AttendanceDets WHERE College_Year = @College_YearAND Group_Code LIKE @Group_CodeAND Student_ID LIKE @Student_IDAND Session_Date <= @End_DateAND Session_Date >=@Start_DateAND Att_Code LIKE @Att_CodeGOMy confusion lies with running the below script with Show Execution Plan:--SET SHOWPLAN_TEXT ON--Go DECLARE @Time as DateTime Set @Time = GetDate() select College_Year, group_code, Student_ID, Session_Date, Start_Time, Att_Code from attendanceDetswhere College_Year = 2005 AND group_code LIKE '____________' AND Student_ID LIKE '________'AND Session_Date <= '2005-11-16' AND Session_Date >= '2005-11-16' AND Att_Code LIKE '_' Print 'First query took: ' + CAST(DATEDIFF(ms, @Time, GETDATE()) AS VarCHar(5)) + ' milli-Seconds' Set @Time = GetDate() EXEC CAMsp_Att @College_Year = 2005, @Start_Date = '2005-11-16', @End_Date = '2005-11-16' Print 'Second query took: ' + CAST(DATEDIFF(ms, @Time, GETDATE()) AS VarCHar(5)) + ' milli-Seconds'GO --SET SHOWPLAN_TEXT OFF--GOThe execution plan for the first query appears miles more costly than the sproc yet it is effectively the same query with no parameters. However, my understanding is the cached plan substitutes literals for parameters anyway. In any case - the first query cost is listed as 99.52% of the batch, the sproc 0.48% (comparing the IO, cpu costs etc support this). BUT the text output is:(10639 row(s) affected) First query took: 596 milli-Seconds (10639 row(s) affected) Second query took: 2856 milli-SecondsI appreciate that logical and physical performance are not one and the same but can why is there such a huge discrepancy between the two? They are tested on a dedicated test server, and repeated running and switching the order of the queries elicits the same results. Sample data can be provided if requested but I assumed it would not shed much light. BTW - I know that additional indexes can bring the plans and execution time closer together - my question is more about the concept. If you've made it this far - many thanks.If you can enlighten me - infinite thanks.
I am having a problem backing up a customer database to tape. The progress bar just sits there with no movement. I have even left it running overnight and nothing the next day I am able to backup all other databases (master, msdb, model). Any help would be appreciated.
Our ERP uses a Progress db but several of our web apps are developed in vb.Net and use a SQL backend. I need to pull some data in from Progress using TSQL queries.
Experimenting a little I find that a simple query, i.e. from 1 Progress table, takes anywhere from 20 seconds to a couple of minutes. However, when I joined on a 2nd table, I had to cancel the query after it ran for over 10 minutes.
SQL server is connected to Progress via a Linked server.
Any advice on improving the query will be appreciated.
I believe the query has to be in the T-SQL syntax; is that right? Where does the translation into Progress syntax occur?
Hello, we started a restore of a database that is just over 1.2 TB. It took 23 hours to complete the Copy Data Phase. Now, SQL Server continues to show the database in a Restoring state, however, there is no other indication of what SQL Server is doing. We do not have any way to see in which phase of the restore process SQL Server is in or how much time may be remaining. We do know that SQL Server is doing something because of the I/O activity. Its there a command, script, or other tool that we can use to determine where in the Restore process we are and how much time may be remaining? We did not use the WITH STATS = switch so that is out, and the sys.dm_exec_requests shows Percent_Complete is 100, however, we know that its not done, the Data Copy Phase has completed but the Severe is still churning.
is there a way to capture what gets written to the progress tab to a table, or is it overwritten on each execution as xml somewhere so it can be saved kind of like an odometer? the mission is to be able to audit the results of a load, or even if it doesnt turn out to be a load, then document the run.
similarly, is there a way to watch what executes to see what actually runs during a merge join transform, iow, something that exposes ssis to trace? how do i find it?
When running large Store Procedures that take several hours, does SQL 05 have a way of monitoring the progress by telling you what it has actually completed so far rather than having to wait till the query has finished to find out.
Hi guys, I am using ASP.NET 2.0, In one web page i am loading a data from VIEW,This view takes more time to execute and this this data is i am showing in grid on page load event.and the web page only displayes after the view execute until it remains on old page User fills there is no response. I want to show the progress in status bar,Can any one tell me how can i do this. Thanks in advance
I have a script file which do the replication and in the script there is a lot of table need to be addad as article.
So while use osql execute the script there would be cost a lot of time. What I want to do is show a dialog which could show the progress percent and the file name which is now being addad as article.
Does anybody have information on co-existence of SQL Server and Progress on the same machine? Are they happy to live together, or should they be given separate homes? I would like to cut down on server proliferation, if possible, and have a server "beefy" enough to handle both, but is it a wise thing to do?
1. I am trying to create an index, which is running for a long time. Is there an option to know the progress so far or how much more time it is going to take?
2. Is there anyway to find out how much space is required to rebuild an index?
------------------------ I think, therefore I am - Rene Descartes
I'm trying to pull data from about 30 progress databases using DTS andscheduling the jobs to run monthly. I'd like to pull data betweenspecific dates, but for some reason, I can't figure out how to filterthe data on the progress side.I want to run a query that will pull all data fromprior-month/8/current-yearandcurrent-month/15/current-yearI'll also have to account for when it's january, make it december ofthe year before.Any ideas?thanks,M@
I'm doing a big old join on one table with 10,000,000 rows, andanother with400,000 rows. As you can imagine, this is taking a long time.Is there any way to monitor the progress of the join after executingthe sql statement (more specifically, from code)?(Oh, and any good practices for speeding up this join would beappreciated, too).Thanks,Andrew
The ETL processing for my project will be deployed as part of a larger application which is operated by non-technical users. Therefore I want to provide real-time feedback to the user on progress, errors, etc., using windows standard GUI interface objects and style- for example a progress bar. The "designer" of course does some of this but there won't be any designer in our deployed application (and SSIS designer is neither intended to be used by, nor appropriate for, non-technical users anyway).
Now that I have the ETL logic working, it's time to tackle this UI requirement. I am thinking one way to do this is to start a script task to run in parallel with the main ETL processing, open a winform in that task that has various GUI objects whose "state" is based on package scoped variables, update the package level variables via the "on progress" event (or other events as needed) of various SSIS tasks and components, and refresh the winform's display regularly via a timer event.
Does this approach seem like it would be effective? Has anyone tried maintaining an open winform via a script task and updating it's objects via package variables in parrallel with the package is running other tasks?
Hi! I have filegroup that has to few files. I added new files (corresponding to number of cores). Now I'm trying to move data to these new files: dbcc shrinkfile ('oldfile', EMPTYFILE)
But now there are gone nearly one day and dbcc is not finished yet. It is stressing not to see some progress.
Is it possible to see in some sys table how much data are moved?
I have just finished building an SSIS package which does a couple of things including using variables, calling child packages as well as starting off replication.
I plan to kick-off the package via SQL Server Agent.
Is there any way I can monitor the progress of this report by creating a web front-end that refreshes every few minutes to report on errors and progress?
Is there any way to limit the content that is placed into the Progress Tab during execution of a package in debug mode?
My problem is that I have a complex package that puts lots of info in there. This package is called in a loop from another package. Each time the package is called, the new info is added to the existing info in the Progress Tab. Eventually the instance of Dev Studio hangs when it gets too much content in that screen.
The only solution would be if I can limit the output content of that screen or turn it off.
I have a query that returns the jobs that have completed for the nightly processing.
If I run the query it does not reflect jobs that are in progress.How can the following query be modified to reflect jobs that have started but have not completed?
SELECT DISTINCT j.Name AS Job_Name, msdb.dbo.Agent_datetime(Run_Date, Run_Time) AS Run_Datetime, Dateadd(second, Datediff(second, 0, msdb.dbo.Agent_datetime(19000101, Run_Duration)), msdb.dbo.Agent_datetime(Run_Date, Run_Time)) AS Run_Endtime, Stuff(Stuff(RIGHT('000000' + Cast(Run_Duration AS VARCHAR(6)), 6), 5, 0, ':'), 3, 0, ':') AS Run_Duration,
I am working on a SSRS report and need to show a progress bar as shown in the image below.I can think of using two cells in my tablix with
1:-First cell -a databar having value as percentage (scale 1 to 100) 2:-Second cell containing percent value and then removing the border ( not merging )
I'm trying to do an Ad Hoc connection to a Progress database from SQL query Analyzer. I have successfully created a DataDirect ODBC connection and I can access the progress database tables through Excel. However, I can't get it working in SQL.
How to perform testing on SSIS packages? I need to find out how the package progress and the re-entry takes place through c#.net. Please provide me an appropriate code.
Hi All, I have trouble with SQL Server 2005. I downloaded last night trial evolution. And I want to intall it but I cant progress after some points. And pop-up window appears with a msg that
TITLE: Microsoft SQL Server Setup ------------------------------ SQL Server Setup could not validate the service accounts. Either the service accounts have not been provided for all of the services being installed, or the specified username or password is incorrect. For each service, specify a valid username, password, and domain, or specify a built-in system account. For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=SQLSetup90&EvtType=28075
And I opened the link above it says I must enter a strong password and I have done but I couldnt pass the step again.