Files
2017-02-08 14:14:24 +01:00

328 lines
9.0 KiB
Transact-SQL

SET xact_abort ON
GO
BEGIN TRANSACTION
GO
SET ANSI_NULLS ON
GO
-- =============================================
-- Author: Marco Salvi
-- Create date: 11/03/2009
-- Description: Stored procedure per ricostruire gli indici e fare lo shrink su un db
-- =============================================
CREATE PROCEDURE sp_IndiciAndShrink
(
@databaseName sysname
)
AS
BEGIN
-- elimino eventuale tab temporanea preesistente
IF (SELECT COUNT(*) FROM TEMPDB..SYSOBJECTS WHERE NAME = '##TMP_nomiTabelle') > 0
BEGIN
DROP TABLE ##TMP_nomiTabelle
END
-- enumero le tab del db in una tab temporanea
SELECT IDENT = IDENTITY (INT,1,1), NAME
INTO ##TMP_nomiTabelle
FROM sys.Tables
-- eseguo reindicizzazione
DECLARE @VAR1 INT
SET @VAR1 = 1
WHILE @VAR1 < = ( SELECT COUNT(*) FROM ##TMP_nomiTabelle)
BEGIN
DECLARE @OBJECTNAME VARCHAR(256)
-- carico il nome della tab i-esima
SELECT @OBJECTNAME = NAME
FROM ##TMP_nomiTabelle
WHERE [IDENT] = @VAR1
-- rebuild indice
DBCC DBREINDEX(@OBJECTNAME)
-- incremento
SET @VAR1 = @VAR1 + 1
END
--shrink del db
DBCC SHRINKDATABASE (@databaseName)
END
GO
COMMIT
GO
SET xact_abort ON
GO
BEGIN TRANSACTION
GO
SET ANSI_NULLS ON
GO
ALTER VIEW v_elencoIntervFilt
AS
SELECT TOP (100) PERCENT dbo.InterventiMtz.numIntMtz, dbo.InterventiMtz.richiesta, dbo.AnagImpianti.codImpianto, dbo.AnagImpianti.nomeImpianto,
dbo.AnagMacchine.codMacchina, dbo.AnagMacchine.nomeMacchina, dbo.InterventiMtz.descrizione, dbo.InterventiMtz.inizioIntervento,
dbo.InterventiMtz.fineIntervento, ISNULL(dbo.InterventiMtz.descrizioneIntervento, 'n.d. (report mtz)') AS descrizioneIntervento, ISNULL(dbo.AnagCausali.descrCausale,
'n.d. (causale)') AS descrCausale, ROUND(CAST(ISNULL(dbo.v_interventiErogati.totMinErogati, 0) AS FLOAT) / 60, 2) AS minErogati,
ROUND(CAST(ISNULL(DATEDIFF(minute, dbo.InterventiMtz.inizioIntervento, dbo.InterventiMtz.fineIntervento), 0) AS FLOAT) / 60, 2) AS durataMtz, CASE (isFermo)
WHEN 1 THEN ROUND(CAST(ISNULL(DATEDIFF(minute, dbo.InterventiMtz.guasto, dbo.InterventiMtz.fineIntervento), 0) AS FLOAT) / 60, 2)
WHEN 0 THEN ROUND(CAST(ISNULL(DATEDIFF(minute, dbo.InterventiMtz.inizioIntervento, dbo.InterventiMtz.fineIntervento), 0) AS FLOAT) / 60, 2) END AS durataOff,
dbo.InterventiMtz.guasto, dbo.InterventiMtz.idxStato, dbo.InterventiMtz.idxImpianto, dbo.InterventiMtz.idxMacchina
FROM dbo.InterventiMtz INNER JOIN
dbo.AnagAmbitoGuasto ON dbo.InterventiMtz.idxAmbito = dbo.AnagAmbitoGuasto.idxAmbito INNER JOIN
dbo.AnagImpianti ON dbo.InterventiMtz.idxImpianto = dbo.AnagImpianti.idxImpianto INNER JOIN
dbo.AnagMacchine ON dbo.InterventiMtz.idxMacchina = dbo.AnagMacchine.idxMacchina INNER JOIN
dbo.AnagTipoGuasto ON dbo.InterventiMtz.idxTipo = dbo.AnagTipoGuasto.idxTipo INNER JOIN
dbo.AnagPriorita ON dbo.InterventiMtz.idxPriorita = dbo.AnagPriorita.idxPriorita INNER JOIN
dbo.AnagStati ON dbo.InterventiMtz.idxStato = dbo.AnagStati.idxStato LEFT OUTER JOIN
dbo.v_interventiErogati ON dbo.InterventiMtz.numIntMtz = dbo.v_interventiErogati.numIntMtz LEFT OUTER JOIN
dbo.AnagCausali ON dbo.InterventiMtz.idxCausale = dbo.AnagCausali.idxCausale
ORDER BY dbo.InterventiMtz.numIntMtz DESC
GO
EXEC sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "InterventiMtz"
Begin Extent =
Top = 8
Left = 486
Bottom = 354
Right = 671
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagAmbitoGuasto"
Begin Extent =
Top = 11
Left = 82
Bottom = 89
Right = 255
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagImpianti"
Begin Extent =
Top = 123
Left = 219
Bottom = 231
Right = 370
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagMacchine"
Begin Extent =
Top = 190
Left = 826
Bottom = 298
Right = 977
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagTipoGuasto"
Begin Extent =
Top = 90
Left = 1143
Bottom = 168
Right = 1294
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagPriorita"
Begin Extent =
Top = 23
Left = 958
Bottom = 116
Right = 1109
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagStati"
Begin Extent =
Top = 263
Left = 90
Bottom = 356
Right = 241
', 'SCHEMA', 'dbo', 'VIEW', 'v_elencoIntervFilt'
GO
EXEC sp_updateextendedproperty 'MS_DiagramPane2', ' End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "v_interventiErogati"
Begin Extent =
Top = 3
Left = 739
Bottom = 81
Right = 890
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "AnagCausali"
Begin Extent =
Top = 291
Left = 1011
Bottom = 369
Right = 1162
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 30
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1665
Width = 1500
Width = 1500
Width = 1500
Width = 1575
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
', 'SCHEMA', 'dbo', 'VIEW', 'v_elencoIntervFilt'
GO
COMMIT
GO
-- registro versione...
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(5, GETDATE())
GO