giammin

LogDb

May 17th, 2012
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 3.59 KB | None | 0 0
  1. CREATE PROCEDURE [dbo].[BackupDatabase]
  2.     @dbname VARCHAR(50)
  3. AS
  4. BEGIN
  5.     SET NOCOUNT ON;
  6.     if  (EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE ('[' + name + ']' = @dbname OR name = @dbname)))
  7.         Begin
  8.             DECLARE @path VARCHAR(256); -- path for backup files
  9.             DECLARE @fileName VARCHAR(256); -- filename for backup
  10.             Declare @currentDate varchar(50); -- suffisso data corrente per il file
  11.             SET @path = 'D:\Backup\SqlServer\';
  12.             set @currentDate=REPLACE(REPLACE(REPLACE(CONVERT(CHAR(16),CURRENT_TIMESTAMP, 120), '-', ''), ' ', ''), ':', '');
  13.             SET @fileName = @path + @dbname + '_' + @currentDate + '.BAK';
  14.             Print 'Backup file name ' + @fileName;
  15.             BACKUP DATABASE @dbname TO DISK = @fileName;
  16.         end
  17.     else
  18.         PRINT 'database ' + @dbname + ' not found';
  19. END
  20. GO
  21.  
  22. CREATE PROCEDURE [dbo].[Archivia]
  23.     @applicazione varchar(50)
  24. AS
  25. BEGIN
  26.     update [GiamminLogDb].[dbo].[Log]
  27.     set Status = 'Archived'
  28.     where Application= @applicazione and Status <> 'Archived'
  29. END
  30. GO
  31.  
  32. CREATE PROCEDURE [dbo].[ArchiviaVecchi]
  33.     @giorni int = 10
  34. AS
  35. BEGIN
  36.     update [GiamminLogDb].[dbo].[Log]
  37.     set Status = 'Archived'
  38.     where DATE < DATEADD(day,-@giorni,getdate()) and Status <> 'Archived'
  39. END
  40. GO
  41.  
  42. CREATE PROCEDURE [dbo].[DeleteUselessLogs]
  43. AS
  44. BEGIN
  45.     SET NOCOUNT ON;
  46.  
  47.     delete from Log where logger = '/dummy.context';
  48. END
  49. GO
  50.  
  51. Create PROCEDURE [dbo].[GetLogCountForApplication]
  52. AS
  53. BEGIN
  54.     SET NOCOUNT ON;
  55. SELECT     Application, [Level], COUNT(Id) AS Count
  56. FROM         dbo.[Log]
  57. GROUP BY Application,  [Level]
  58. order by Application,[level]
  59. END
  60. GO
  61.  
  62. CREATE PROCEDURE [dbo].[GetLogStats]
  63.    
  64. AS
  65. BEGIN
  66. set nocount on
  67. SELECT     Application, [Level], Logger, COUNT(Id) AS Count
  68. FROM         dbo.[Log]
  69. WHERE     (Status = 'New')
  70. GROUP BY Application, [Level], Logger
  71. order by COUNT(Id) desc
  72. END
  73. GO
  74.  
  75. CREATE PROCEDURE [dbo].[GetNewErrors]
  76.     @application varchar(50) = null
  77. AS
  78. BEGIN
  79.     SET NOCOUNT ON;
  80. SELECT     Id, Date, Status, Application, [Level], Logger, Message, Exception, Stacktrace
  81. FROM         dbo.[Log]
  82. WHERE     (Status = 'New') AND ([Level] <> 'Info') and(@application=application OR @application is null)
  83. order by id desc
  84. END
  85. GO
  86.  
  87. CREATE PROCEDURE [dbo].[GetTopErrorLogger]
  88. AS
  89. BEGIN
  90.     SET NOCOUNT ON;
  91. SELECT     Application, [Level], Logger, COUNT(Id) AS Count
  92. FROM         dbo.[Log]
  93. WHERE     (Status = 'New') and Level <> 'info'
  94. GROUP BY Application, [Level], Logger
  95. order by COUNT(Id) desc
  96. END
  97. GO
  98.  
  99. CREATE PROCEDURE [dbo].[GetTopErrorMessage]
  100. AS
  101. BEGIN
  102. SELECT     Application, [Level], Logger,SUBSTRING(message,0,100), COUNT(Id) AS Count
  103. FROM         dbo.[Log]
  104. WHERE     (Status = 'New') AND Level <> 'info'
  105. GROUP BY Application, [Level], Logger,SUBSTRING(message,0,100)
  106.   order by count desc
  107. END
  108. GO
  109.  
  110. CREATE TABLE [dbo].[Log](
  111.     [Id] [int] IDENTITY(1,1) NOT NULL,
  112.     [Date] [datetime] NOT NULL,
  113.     [Status] [nchar](10) COLLATE Latin1_General_CI_AS NOT NULL,
  114.     [Application] [varchar](50) COLLATE Latin1_General_CI_AS NOT NULL,
  115.     [Level] [varchar](50) COLLATE Latin1_General_CI_AS NOT NULL,
  116.     [Logger] [varchar](255) COLLATE Latin1_General_CI_AS NOT NULL,
  117.     [Message] [varchar](max) COLLATE Latin1_General_CI_AS NOT NULL,
  118.     [Exception] [varchar](max) COLLATE Latin1_General_CI_AS NULL,
  119.     [Stacktrace] [varchar](max) COLLATE Latin1_General_CI_AS NULL,
  120.  CONSTRAINT [PK_Log] PRIMARY KEY CLUSTERED
  121. (
  122.     [Id] ASC
  123. )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
  124. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  125. GO
  126. ALTER TABLE [dbo].[Log] ADD  CONSTRAINT [DF_Log_Status]  DEFAULT (N'New') FOR [Status]
  127. GO
Advertisement
Add Comment
Please, Sign In to add comment