123 Eng

Engineering the engineers™


Latest Jobs   Forum Map

 


Home

Source Codes

Engineering Colleges

BE Students

Training  Reports (updated)

Seminar Reports (updated

Placement Papers (updated)

Forums

   Computer Science / IT

   Electronics

   Electrical

   Mechanical

   Chemical

   Civil

   CAT / MBA

   GMAT / Foreign MBA

Latest Jobs

Engineering Jobs / Technical Jobs

Management Jobs

Sitemap

About-Us

Terms of use

Displaying  Source Code(s)  
 

 
Import the SQL Server error log into a table

--------------------------------------------------------------------------------

Description : To import the SQL Server error log into a table, so that it can be queried

CREATE PROC sp_import_errorlog
(
@log_name sysname,
@log_number Int = 0,
@overwrite bit = 0
)
As
/****************************************************************** *******************************
Purpose: To import the SQL Server Error Log into a table, so that it can be queried

Tested On: SQL Server 2000

Limitation: With Error messages spanning more than one line only the first line Is included In the table

Example 1: To import the current Error Log To table myerrorlog
EXEC sp_import_errorlog 'myerrorlog'

Example 2: To import the current Error Log To table myerrorlog, And overwrite the table
'myerrorlog' if it already exists
EXEC sp_import_errorlog 'myerrorlog', @overwrite = 1

Example 3: To import the previous Error Log To table myerrorlog
EXEC sp_import_errorlog 'myerrorlog', 1

Example 4: To import the Second previous Error Log To table myerrorlog
EXEC sp_import_errorlog 'myerrorlog', 2

************************************************************************* ************************/

BEGIN
Set NOCOUNT On

Declare @sql varchar(500) --Holds To SQL needed To create columns from Error Log

If (Select OBJECT_ID(@log_name,'U')) IS NOT NULL
BEGIN
If @overwrite = 0
BEGIN
RAISERROR('Table already exists. Specify another name or pass 1 to @overwrite parameter',18,1)
RETURN -1
End
Else
BEGIN
EXEC('DROP TABLE ' + @log_name)
End
End


--Temp table To hold the output of sp_readerrorlog
CREATE TABLE #errlog
(
err varchar(1000),
controw tinyint
)

--Populating the temp table using sp_readerrorlog
INSERT #errlog
EXEC sp_readerrorlog @log_number

--This will remove the header from the errolog
Set ROWCOUNT 4
DELETE #errlog
Set ROWCOUNT 0


Set @sql = 'SELECT
CONVERT(DATETIME,Left(err,23)) [Date],
SUBSTRING(err,24,10) [spid],
Right(err,Len(err) - 33) [Message],
controw
INTO ' + QUOTENAME(@log_name) +
' FROM #errlog ' +
'WHERE controw = 0'

--Creates the table With the columns Date, spid, message And controw
EXEC (@sql)

--Dropping the temporary table
DROP TABLE #errlog

Set NOCOUNT OFF
Print 'Error log successfully imported to table: ' + @log_name
End
 

 

Contribute content or training reports / feedback / Comments
job placement papers
All rights reserved copyright 123ENG