I have a long running (48 hour+) stored proc. I've added PRINT statements that print "1%", "2%", etc to provide progress so I can get a ballpark idea of how far along the process is. I ran the stored proc and realized that this won't work. I don't see the output of the print statements until the stored proc is completed. I'm running this from Query Analyzer (SQL Server 2000 SP3a).
For example, the following will wait ten seconds and then print both statements; it doesn't print one then wait, then print the other. Is there any flush command to make the print statements take effect immediately?
I'm working on a stored procedure, and I'm nearing completion. The procedure takes a while to run (it's a very large dataset), but that's not my issue. The problem is that I include several print statements, but I don't get to see any of them until the entire procedure has finished. Is there anything I can do to be able to see them as they are printed? Using sql server 2000 with management studio for 2005.
SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Object Plans' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
I want to trace the user logins by using a stored procedure. This script (sp_login_trace) is created by the SQL Profiler tool. (Once this procedure works well, I will use sp_procoption to run it automatically everytime the SQL Server startup.)
After I successfully created sp_login_trace, I run it (exec sp_login_trace). The trace process is started and TraceID is 1. (I use select * from ::fn_trace_getinfo(default) to verify it). However the file size of login_trace.trc is always 0 even after I use Query Ananlysis or Eneterprise manager to let some users to login into the SQL Server instance. (when I use SQL Profiler to start a trace, the trace file size will increase along with users continaully login in). At that time if I use SQL Profiler to open the login_trace.trc file, the system will give me an error message: No data since Empty File.
After I stop and delete the trace process, I find that the file size of login_trace.trc becomes 128K and I can see the login records caught by sp_login_trace if I use SQL Profiler to open this file again.
How can I flush the buffer to trc file frequently without need of stopping trace process?
Could anybody help me on how to do buffer flush before program exit? I am using OLE DB to insert record to SQL CE database, but cannot control data commit, each time if I exit too quick, then all of inserted record cannot stored into database .sdf file. Thanks a lot!
I have detached a SQL Server 2005 database from one server and attached it to another SQL Server 2005 and I now get the following in the error Log and in the event viewer evry 10 - 20 minutes or so.
SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Object Plans' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2007-03-16 12:37:14.64 spid17s SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'SQL Plans' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
2007-03-16 12:37:14.64 spid17s SQL Server has encountered 1 occurrence(s) of cachestore flush for the 'Bound Trees' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.
Starting up database 'DBName'
It appears under different SPID's 18, 20, 24 ...... and consistently has the 4 errors in a row Full Text indexing is running for both servers but I dont know if this is the cause of the error.
I would greatly appreciate any help to get rid of this as I have trawled the net and not found anything of use.
I am looking for an API to flush all data in memory held by SQL Serverto disk. Also, is there a tool for SQL Server like eseutil forExchange that lets you correct a SQL database?
I am working on my own data flow source component. Here is a fragment of this component code:
public override void PrimeOutput(int outputs, int[] outputIDs, PipelineBuffer[] buffers) { PipelineBuffer selectedBuffer = buffers[0]; string message; while ((message = GetMessage()) != null) { selectedBuffer.AddRow(); selectedBuffer.SetString(0, message); // how to flush data here? } selectedBuffer.SetEndOfRowset(); } private string GetMessage() { // we are retrieving some message here, this is a long-term process }
When a new row is added by this component to the buffer then this row is not immediately available to the next component in data flow. It is possible to configure SSIS in that way that each row is immediately sent to the next data flow component? If no also please inform me about that.
We are having problems printing Reports (when printing by clicking on the AcitiveX print control), where the font for the fields are set to "C39HrP24DhTt" (barcode).
While viewing the report it displays as Barcodes but while printing, the Barcode does not get printed, but the string gets printed.
Environment: SSRS 2005
Using the ReportViewer Control in a .Net 2.0 Web App to render the reports.
BarCodes print fine in the following situations:
1. When the Report is exported to Excel and when printed from there
2. When you click on the print button on Internet Explorer
3. When saving as html (from view source) and opening that html document and printing.
BarCodes do NOT get printed in the following situation:
1. When printing by clicking on the "Print" (Active X Control) icon. Even the "Print Preview" does not show the Barcode.
UPDATE #2: When it said "Do you want to install Microsoft SQL Server" I said "yes" and that caused it to work. I exited and re-ran and now the print runs w/o the "install SQL Server" (If the prompt had said "Do you want to install the print dialog" we wouldn't be having this discussion...)
UPDATE: After posting this i discovered that the same thing occurs when attempting to print the report direct from IE6: First a dialog pops up "Do you want to install this software?" Name: Microsoft SQL Server. When I click "Don't Install" I get the dialog "unable to load client print control." Since this happens direct from IE6 I suspect it's browser settings. I'll resume tomorrow and post a followup.
My WinForm C# app integrates Reporting Services by calling them from WebBrowser controls. The problem is attempts to print cause a dialog: "unable to load client print control."
I've read prior posts that say "enable Active-X in your browser" - I don't know how to do that from a WebBrowser control.
Any ideas how to support Reporting Services "Print" from within a WebBrowser control?
We are using sql server 2005 Enterprise Edition with service pack1
I got the following error messages in the SQL log
The operating system returned error 21(The device is not ready.) to SQL Server during a read at offset 0x00000000090000 in file '....mdf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. fcb::close-flush: Operating system error 21(The device is not ready.) encountered.
I got these errors for about 2 hrs and after that I see these messages in the sql log
Starting up database ' ' 1 transactions rolled forward in database '' (). This is an informational message only. No user action is required. 0 transactions rolled back in database ' ' (). This is an informational message only. No user action is required. Recovery is writing a checkpoint in database ' ' ( ). This is an informational message only. No user action is required. CHECKDB for database '' finished without errors on (local time). This is an informational message only; no user action is required.
Can anyone please help me in troubleshooting this issue. Why this migh have happened.
i would like to enquire about the Print statement. If I do not want to use the Raiseerror to raise an error as its not an error, but want to just print out in a dialog box, how do i do it?I tried using the Print statement but nothing happened. I am using this inside my trigger, can someone help?Thank You
This is so stupid of a question but is there a simple way to print (to a printer) the results of SELECT * FROM SkillGoals --- To show all data(including column headings?)
I'm trying to use the PRINT statement to trace what an SP is doing, while running in QA. However, some PRINTs seem not to print anything. I can see that the code part is being executed. Any ideas? (It's just simple prints like print 'executing an insert' .)
Is there an easy way to print off a sql table ? I wanted something along the lines of an Access query that you can print. Or is it easiest to link to the SQL table and use Access to display it ?
just wanted to get sql to stamp the date/time to the screen when i'm running a query.
i tried:
print 'Formatting Table1' print datetime go
got the following error: Msg 128, Level 15, State 1, Line 2 The name "datetime" is not permitted in this context. Valid expressions are constants, constant expressions, and (in some contexts) variables. Column names are not permitted.
Hi,In the query analyser if I type the following:DECLARE @SortOrder integerexec pr_Admin_SetFieldSortOrder @SortOrderprint @SortOrder@SortOrder is never printed. I just get the message saying that theQuery Batch Completed.Why ?Regards
I want to put some trace in the a UDF, so I put print in the function. IT gave error. Can anyone please explain why this happen. But this work with SPs.
I have a web application with a stand alone report. When I put the ReportViewer in the webform I can see every reports in the project. The problem is that I can't see the print report button...
If I indicate that the report is a "Server Report" instead a local report the Print Report appear, but a need a "Local Report" not a "Server Report" How can i solve that.
I have created a report which contains grouping. Yesterday I learnt how to add a boolean paramter to expandAll. Now in my ASP.Net front end I am using ReportViewer to retrieve the report...
Now I want to introduce a "Print Version" and "Normal Version" (print version being all rows showing (expanding all grouping) and normal being groups showing....
Will this work?
Use javascript to create to div... 1 showing ReportViewer1 where expandAll parameter is true and div 2 containing ReportViewer2 where parameter is false...a radiobutton conrolled by javascript code will hide 1 div and show the other?!
For some reason it doesnt load the report in ReportViewer2?!
I created a parameterized report. When end user select different values from the parameter drop down list , he/she can see the corresponding report for each value.
Now end user wants to print all those reports at the same time , without selecting each report by changing the parameter values.
I created a function that returns a sequence of dates between @LowLimit and @HighLimit. The problem that I'm having is if a bad date is passed into the function I get this error:
Msg 242, Level 16, State 3, Line 1 The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
So I tried using: IF @@ERROR = 242 PRINT N'Must use a valid date.';
which gives this error when I try to create the function: Msg 443, Level 16, State 14, Procedure fnDates, Line 10 Invalid use of side-effecting or time-dependent operator in 'PRINT' within a function.
Here's my code: CREATE FUNCTION [dbo].[fnDates] ( @LowLimit DATETIME, @HighLimit DATETIME ) RETURNS @Values TABLE ( Value DATETIME ) AS BEGIN IF @@ERROR = 242 PRINT N'Must use a valid date.';
DECLARE @Temp DATETIME DECLARE @DateCtr int SET @DateCtr = 0
/* This allows you to enter the later date first */ IF @LowLimit > @HighLimit SELECT @Temp = @LowLimit, @LowLimit = @HighLimit, @HighLimit = @Temp
INSERT into @Values VALUES (@LowLimit)
WHILE DATEADD(dd, @DateCtr, @LowLimit) < @HighLimit BEGIN SET @DateCtr = @DateCtr + 1
INSERT into @Values SELECT DATEADD(dd, @DateCtr, @LowLimit)
I am using MSDE and WebMatrix. My stored procedure is creating a Dynamic SQL query and is is about 200 lines long.
I am not getting the expected results, but also not generating any errors. I inserted a Print statement to print the resultant SQL query, but I don't know how to see or display that print result.
I do NOT have SQL2000, only MSDE. I am using WebMatrix and VB.net to create my application. Is there some class in asp.net that will help me, or some free utility. One of the problems is that the dynamic SQL is using over 20 parameters to create the query; the end result of the user picking fields on the webform.
I am testing a simple stored proc below. create procedure procpooh @val1 int, @val2 int as insert into pooh (val1, val2) values(@val1,@val2) declare @error int SELECT @error = @@ERROR IF @error <> 0 BEGIN print 'it failed' RAISERROR(50020,16,1,@error) end
When I run the proc and feed it the values it fails(that' what I expect) because there is a field not being supplied which will not allow nulls. However neither the print ' it failed ' or the raiserror work. I get the message below instead. Any ideas why the print or raiserror don't work? Server: Msg 515, Level 16, State 2, Procedure trpooh, Line 11 Cannot insert the value NULL into column 'val3', table 'Chapter5DB.dbo.pooh2'; column does not allow nulls. INSERT fails. The statement has been terminated.