Choix du mode de récupération d’une base de données pour l’opération Checkdb

bonjour

SQL Server  propose trois mode de récupération pour les bases de données :
– complet
– simple
– journalisé en bloc

Dans le mode de récupération journalisé en bloc, le moteur de base de données journalise de façon minimal les opérations de masse comme select into et bulk insert ( BCP également ).

le mode de récupération journalisé en bloc vous permet de minimiser la taille du journal des transactions lors d’opérations de copies

voyant un petit exemple sur l’importance de choisir ce mode pour quelque opération du maintenance parmi elle celle du commande checkdb

en mode compléte cette opération a pris 06 heures 49 minute 

en mode journalisé en bloc cette opération a pris 04 heures 47 minutes

sans-titre

sans-titre21

n’hésiter pas donc d’utiliser ce mode pour tout opération du mainteanace

cordialement

Créer une Time Dimension avec SSAS

bonjour

Une Time Dimension contient toutes les données d’une période définie                                 une dimension temporelle est un type de dimension dont les attributs représentent des périodes de temps, comme les années, semestres, trimestres, mois et jours.

voir comment on créee en Utilisant assistant de création de dimension avec SSAS

sans-titre1sans-titre2

Lorsque vous créez une dimension de temps du serveur, vous spécifiez les périodes, ainsi que les dates de début et de fin pour la dimension.

L’Assistant utilise les périodes spécifiées pour créer les attributs de temps

sans-titre3

A l’étape suivante, sélectionner calendrier régulier

sans-titre4

Dans l’écran suivant , cochez l’option Créer le schéma maintenant et cliquez sur Terminer

Enfin, l’assistant se complet en donnant un nom à votre dimension:sans-titre5

Dans l’ écran suivant, sélectionnez vos source de données et sélectionnez DimDate comme une nouvelle source sans-titre6sans-titre7sans-titre8sans-titre9sans-titre10

Après la dimension est créé, il vous sera présenté avec Dimension Designer où dans l’ onglet Structure Dimension vous serez en mesure de voir les attributs précédemment sélectionnés dans un assistant

sans-titre12

on obtiens finalement un table calendrier

sans-titre14

Maintenant  vous avez vu un tas de trucs pour construire une bonne dimension de date pour vos cubes

bonne continuation

Requéte Table calendrier sur 100 années

bonjour

Une table de calendrier peut être extrêmement utile surtout en développement et pour faire du jointure avec d’autre table

ci joint une petit requête qui vous  permettra de crée un table calendrier sur x temps

Quelque remarque

*set datefirst 1 :le premier jour de la semaine est un lundi et non plus un dimanche msdn

*on définit une date de début et une date de fin

*where dateadd(day,n,@stardate)<=@endate: ce ci  nous permettre d'incrémenter de 1 jour en 1 jour la variable n pour pouvoir à terme arrêter la boucle

*le colonne type_jour indiquant si le jour est travaillé ou non

set datefirst 1 declare @stardate date ='2000-01-01'
declare @endate date ='2100-01-01'; 
with cte as (select 1 as n ,@stardate as date_jour, 
convert(varchar(10),@stardate,131)as date_format_hijri, 
datepart(day,@stardate)as num_jour,
datepart(weekday,@stardate)as num_jour_semaine, 
datepart(dayofyear,@stardate)as num_jour_année, 
datepart(week,@stardate)as num_semaine,
datepart(QUARTER,@stardate)as trimesstre,
datename(weekday,@stardate)as nom_jour, 
datename(month,@stardate)as nom_mois,
year(@stardate)as année, case when datepart(weekday,@stardate)in(6,7)then 'weekend' else 'no_weekend' end as type_jour
union all 
select n+1,
dateadd(day,n,@stardate),
convert(varchar(10),dateadd(day,n,@stardate),131), 
datepart(day,dateadd(day,n,@stardate)), 
datepart(weekday,dateadd(day,n,@stardate)), 
datepart(dayofyear,dateadd(day,n,@stardate)),
datepart(week,dateadd(day,n,@stardate)), 
datepart(QUARTER,dateadd(day,n,@stardate)),
datename(weekday,dateadd(day,n,@stardate)),
datename(month,dateadd(day,n,@stardate))
,year(dateadd(day,n,@stardate)), case when datepart(weekday,dateadd(day,n,@stardate))in(6,7)then 'weekend' else 'no_weekend' end 
from cte where dateadd(day,n,@stardate)<=@endate )
select * from cte OPTION (MAXRECURSION 0) 

sans-titre

ce ci est les jours de 2000 à 2100 inclus

bonne chance A+