Lors de mes participations au forum SQL Server de ce site, je vois souvent des membres qui manipulent des données qui ne sont pas de type chaîne de caractère dans une colonne de ce type.
Cela peut revenir à calculer la racine carrée de carottes, et constitue donc un non-sens.
Voici donc un inventaire de ce que j’ai pu rencontrer jusqu’ici, et qu’il ne faut surtout pas faire pour transformer une base de données en dépotoir de données !
Créer des captures instantanées de bases de données
Même en phase de développement, il est important de sauvegarder une base de données.
On peut estimer qu’il n’est pas nécessaire de mettre en place une stratégie de sauvegarde, et, comme une erreur arrive vite lors des tests unitaires, il faut que l’on puisse replacer la base de données avec le jeu de données qui a été altéré par un test, sans perdre le travail de plusieurs développeurs.
Si les captures instantanées de bases de données ne permettent pas de protéger complètement l’intégrité d’une base de données, elles sont très utiles si l’on veut se prémunir des erreurs de l’utilisateur pour « restaurer » les valeurs d’une table ou récupérer une procédure stockée …
Lire la suite
Searchable Arguments, ou S-ARGs, ou comment optimiser la clause WHERE d’une requête
Bien que beaucoup d’optimisations peuvent être assurées lors du choix du matériel du serveur de base de données, et lors de la conception d’une base de données, il n’en reste pas moins que les requêtes, avant de nécessiter la recherche d’indexes permettant leur optimisation, peuvent être dans un premier temps mises au point au niveau de leur(s) contrainte(s).
C’est ce que montrent les S-ARGs, ou « Searchable Arguments »
Récupérer la date d’hier au format ISO
Voici un petit bout de script DOS pour récupérer la date d’hier au format ISO :
1 2 | SET YYYYMMDD=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2% SET /A YYYYMMDD=%YYYYMMDD%-1 |
ElSuket
Les différentes configurations RAID résumées dans une animation
Nomination MVP
Je viens d’être nominé MVP SQL Server, et je souhaite associer à ce titre, et remercier toutes les personnes qui maintiennent ce site, et qui participent aux forums.
Je tiens à remercier plus particulièrement SQLPro qui m’a parrainé pour l’obtention de ce titre.
Je continuerai à contribuer à ce forum aussi fidèlement que je le fais depuis deux ans, tout simplement parce que cela me fait plaisir, et en me concentrant plus sur la publication d’articles complets.
@++
ElSuket
Connaître le pourcentage d’avancement d’une tâche sous SQL Server 2005 et 2008
S’il est impossible de connaître l’avancement d’une requête qui est en cours d’exécution dans une instance de SQL Server (cela est normal puisque l’exécution des requêtes n’est pas « linéaire »), il est en revanche possible de connaître l’avancement des tâches suivantes :
Quelle différence y a-t’il entre une colonne et un champ ? entre une ligne et un enregistrement ? entre une table et un tableau ?
Lors de mes lectures et participations au forum SQL Server de ce site, je vois souvent des participants remplacer le terme ligne par enregistrement ou record, mais aussi le terme colone par le terme champ ou encore field, et enfin le pire : table par tableau, probablement par analogie de la représentation des résultats de requête avec un fichier Excel.
Si certains diront que c’est approximativement la même chose, et que s’attacher a ce type de détails revient à chercher des poils sur les Å“ufs, je vais démontrer que faire cet abus de langage montre qu’on est assez imprécis …
Récupérer les options de session
Comment connaître la liste des options de session (par exemple SET NOCOUNT ON) que nous utilisons dans la session en cours ou bien dans le contexte d’exécution ?
Ce snippet est valable pour les options suivantes :
– DISABLE_DEF_CNST_CHK
– IMPLICIT_TRANSACTIONS
– CURSOR_CLOSE_ON_COMMIT
– ANSI_WARNINGS
– ANSI_PADDING
– ANSI_NULLS
– ARITHABORT
– ARITHIGNORE
– QUOTED_IDENTIFIER
– NOCOUNT
– ANSI_NULL_DFLT_ON
– ANSI_NULL_DFLT_OFF
– CONCAT_NULL_YIELDS_NULL
– NUMERIC_ROUNDABORT
– XACT_ABORT
Et pas pour les suivantes :
– TEXTSIZE
– LANGUAGE
– DATEFORMAT
– DATEFIRST
– LOCK_TIMEOUT
– ISOLATION LEVEL
Lister les triggers d’une base de données sous SQL Server 2005 et 2008
Voici un petit snippet pour trouver la liste de tous les triggers d’une base de données, ainsi que le type d’événement qui entraîne leur exécution …