février
2011
L’un des objectifs principaux de tous les SGBD est de réduire les entrées/sorties (E/S) disque car les lectures et écritures sur le disque font partie des opérations les plus consommatrices de ressources. SQL Server pour atteindre cet objectif crée un pool de mémoires tampons pour garder les pages de la base de données lues en mémoire. De façon standard les systèmes d’exploitation Microsoft Windows 32 bits peuvent adresser une mémoire maximale de 4 Go. Dans […]
janvier
2011
Identifier les login/password non sécurisés
janvier
2011
Dans ce billet nous allons voir comment les données de type date-heure sont stockées sur les pages de données (sur le disque dur). Préparez-vous, nous allons faire une plongée dans les profondeurs de SQL SERVER
janvier
2011
Les nouveaux types DATE,TIME,DATETIME2,DATETIMEOFFSET sont apparus depuis SQL SERVER 2008. Ces types sont différemment gérés comparés aux types DATETIME et SMALLDATETIME : ¤ la date de référence est désormais le 1er janvier 0001 pour ces nouveaux types ¤ l’heure est stockée en secondes sur un nombre d’octets variable selon la précision imposée de façon explicite Voyons en détails comment fonctionne par exemple le type DATETIME2
janvier
2011
SQL SERVER 2008 dispose de six types pour stocker les données date/heure : ¤ DATETIME ¤ SMALLDATETIME ¤ DATE ¤ TIME ¤ DATETIME2 ¤ DATETIMEOFFSET Les types DATETIME,SMALLDATETIME sont disponibles depuis les premières versions de SQL SERVER. Par contre les types DATE,TIME,DATETIME2,DATETIMEOFFSET sont disponibles qu’à partir de SQL SERVER 2008. ¤ Pour le type DATETIME (stocké sur 8 octets) la date (date de référence 1er janvier 1900) est stockée sur 4 octets et l’heure (en […]
janvier
2011
Lorsqu’on met en place un automate d’import/export de fichier (fichier de campagne d’appels sortants par exemple), on a besoin de : –> tester l’existence du fichier d’import/export –> faire l’opération d’import/export (pour ça j’utilise l’utilitaire BCP) –> déplacer/copier/supprimer/renommer le fichier dans le repertoire d’archivage Voici des procédures stockées qui permettent de déplacer/copier/supprimer ces fichiers de données à l’aide du T-SQL.
janvier
2011
La plus petite entité physique dans laquelle SQL SERVER stocke les données d’une table s’appelle page. Chaque page de données occupe un espace de 8 kilo-octets (8192 octets) sur le disque dur. 96 octets sont réservés pour l’entête de la page afin de stocker des méta-données. Et il reste donc (8192 – 96) = 8096 octets. Des 8096 octets restants, SQL SERVER réserve : 8060 octets pour les données proprement dites (lignes des tables) 2 […]
janvier
2011
Pour écconomiser de l’espace de stockage des données des tables, on est souvent confronté au choix du type CHAR ou VARCHAR. Pour une colonne dont la longueur est fixe, il n’y a pas de doute sur le choix du type de colonne : c’est CHAR qu’il faut utiliser. Mais lorsque la longueur de la colonne est variable, il faut se poser la question du choix du type de colonne. Ce n’est pas parce que les […]
janvier
2011
D’habitude pour faire une estimation de la taille d’une base de données j’utilise l’outil POWER AMC. En fonction de différents paramètres : nombre de lignes dans chaque table, index, … POWER AMC indique une estimation de la taille de la base. Mais la méthode de calcul n’est pas affichée par POWER AMC … En fouillant sur le net, je suis tombé sur une procédure écrite par Tim Laqua pour faire une estimation de la taille […]