sync
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
USE [HCITools]
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[mon_Transfert_Stats_Index]') AND type in (N'P', N'PC'))
|
||||
DROP PROCEDURE [dbo].[mon_Transfert_Stats_Index]
|
||||
GO
|
||||
|
||||
USE [HCITools]
|
||||
GO
|
||||
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
|
||||
CREATE PROCEDURE [dbo].[mon_Transfert_Stats_Index]
|
||||
@in_debug tinyint = 0
|
||||
AS
|
||||
/*=============================================================================
|
||||
|
||||
Explication du traitement realise par la SP
|
||||
-------------------------------------------
|
||||
La SP va transferer l'ensemble des statistiques des index contenues dans la table HCITools.dbo.Stats_index vers la table HCITools.dbo.All_Stats_Index de la centrale
|
||||
|
||||
Contexte d'utilisation
|
||||
----------------------
|
||||
Appelé depuis le job D92070 - Transfert Stats Index
|
||||
|
||||
Parametres
|
||||
----------
|
||||
@in_debug : non utilisé
|
||||
|
||||
Creation : 27.10.16 / FLA
|
||||
|
||||
Modifications : 28.10.2016 / FLA : Standardisation de la gestion des erreurs
|
||||
04.10.2017 / FLA : Ajout de la gestion des environnements
|
||||
24.09.2018 / FLA : Remove references to undocumented system tables
|
||||
20.12.2018 / SPE : #TFS49408# Migrate identification table [master].[cfg].[Identity]
|
||||
04.08.2023 / TSC : Added a WHERE NOT EXISTS to avoid duplicate key errors during upload
|
||||
|
||||
=============================================================================*/
|
||||
|
||||
set nocount on;
|
||||
|
||||
|
||||
/*------------------- Declaration des variables --------------------*/
|
||||
|
||||
declare @cvCurrentOrganizationalUnit int,
|
||||
@CV_OUT_value varchar(8000),
|
||||
@ou_code varchar(10),
|
||||
@ServerName varchar(20),
|
||||
@restartdate datetime,
|
||||
@errno int,
|
||||
@errmsg varchar(255),
|
||||
@LnkSrv varchar(15),
|
||||
@cmd varchar(8000),
|
||||
@Entity varchar(4)
|
||||
|
||||
/*------------ Affectation des parametres aux variables ------------*/
|
||||
|
||||
select @cvCurrentOrganizationalUnit = null ;
|
||||
|
||||
/*-------------------------- Traitement ---------------------------*/
|
||||
|
||||
|
||||
IF EXISTS (SELECT type FROM master.cfg.InstanceContext WHERE type = 'PROD')
|
||||
BEGIN
|
||||
|
||||
BEGIN TRY
|
||||
|
||||
exec arizona.dbo.sp_bmc_Bmc_Applic_Default
|
||||
@in_job_type = 3,
|
||||
@in_param_int_1 = null,
|
||||
@in_param_int_2 = null,
|
||||
@in_param_varchar_1 = 'cvCurrentOrganizationalUnit',
|
||||
@out_default_value = @CV_out_value output,
|
||||
@out_param_int_1 = null;
|
||||
select @cvCurrentOrganizationalUnit = convert(int,@CV_out_value)
|
||||
|
||||
select @ou_code = ou.ou_code
|
||||
from arizona.dbo.Organizational_unit ou (nolock)
|
||||
where ou.Organizational_unit_ID = @cvCurrentOrganizationalUnit
|
||||
|
||||
SELECT @Entity = [Customer] FROM [master].[cfg].[Identity]
|
||||
|
||||
IF @Entity = 'RUEG'
|
||||
BEGIN
|
||||
SET @Entity = 'AAI'
|
||||
END
|
||||
|
||||
SET @ServerName = @Entity+isnull(@ou_code,'')+'APS'
|
||||
|
||||
select @RestartDate = MIN(login_time)
|
||||
from sys.dm_exec_sessions
|
||||
|
||||
IF @Entity = 'AAI'
|
||||
SET @LnkSrv = 'CENTRALEDATA'
|
||||
ELSE
|
||||
SET @LnkSrv = 'ARIZONACASH'
|
||||
|
||||
SET @cmd = 'INSERT INTO '+@LnkSrv+'.HCITools.dbo.All_Stats_Index
|
||||
SELECT TOP 50000 '''+@ServerName+''',[Stats_index_ID]
|
||||
,[SI_schemaname]
|
||||
,[SI_databasename]
|
||||
,[SI_tablename]
|
||||
,[SI_indexname]
|
||||
,[SI_indextype]
|
||||
,[SI_user_seeks]
|
||||
,[SI_user_scans]
|
||||
,[SI_user_lookups]
|
||||
,[SI_user_updates]
|
||||
,[SI_last_user_seek]
|
||||
,[SI_last_user_scan]
|
||||
,[SI_last_user_lookup]
|
||||
,[SI_last_user_update]
|
||||
,[SI_updatedate]
|
||||
,[SI_restartdate]
|
||||
,NULL
|
||||
FROM [HCITools].[dbo].[Stats_index] si WITH (NOLOCK)
|
||||
WHERE SI_updatedate < CAST('''+CONVERT(nvarchar(30),@RestartDate,126)+''' as datetime)
|
||||
AND NOT EXISTS(
|
||||
SELECT 1
|
||||
FROM '+@LnkSrv+'.HCITools.dbo.All_Stats_Index t
|
||||
WHERE t.[SI_ServerName] = '''+@ServerName+'''
|
||||
AND t.[Stats_index_ID] = si.[Stats_index_ID]
|
||||
)
|
||||
'
|
||||
|
||||
EXEC (@cmd)
|
||||
|
||||
/*---------------------- Traitement des erreurs ----------------------*/
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
|
||||
/* Traitement des erreurs (avec RaiseError) */
|
||||
EXEC dbo.get_Error_Info @in_RaiseError = 1
|
||||
|
||||
END CATCH
|
||||
|
||||
END
|
||||
|
||||
GO
|
||||
Reference in New Issue
Block a user