Syndication : Atom 1.0  RSS 2.0
Blogs des développeurs   »   Le blog d'ElSuket

Catégorie: Snippets

08/09/2011

Permalink 18:02:18, Catégories: Récapitulatif .NET, Récapitulatif, Récapitulatif SGBD, SQL Server, Snippets, 1047 mots   French (FR) , elsuket

[.NET][SGBD][SQL Server] Obtenir l'historique des sauvegardes de bases de données

Voici quelques requêtes simples qui montrent l'historique de toutes les sauvegardes de toutes les bases de données ou d'une base de données en particulier

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

29/03/2011

Permalink 16:04:38, Catégories: Récapitulatif .NET, Récapitulatif, SQL Server, Snippets, Utilitaires, T-SQL, 768 mots   French (FR) , elsuket

[.NET][SGBD][SQL Server] Trouver le premier et le dernier jour de la semaine, du mois, du trimestre, et autre calculs

Beaucoup de participants au forum SQL Server se compliquent la vie avec des calculs bizarres, à trouver le premier ou dernier jour d'un index temporel, comme celui d'une semaine, d'un mois, ou d'un trimestre.

Ces calculs se font souvent à base d'extractions de sous-chaînes après avoir converti une date en varchar(n), et on aboutit donc à des choses abominables.

Voici donc une série de calculs de valeurs, uniquement à base de fonctions de date ...
Oui, les dates se manipulent avec des fonctions de date, et non pas avec des fonctions de chaîne !

J'en profite au passage pour rappeler mon billet sur le choix des types de données ...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

22/02/2011

Permalink 10:28:29, Catégories: Récapitulatif .NET, Récapitulatif, Indexation, Récapitulatif SGBD, SQL Server, Snippets, 1660 mots   French (FR) , elsuket

[.NET][SGBD][SQL Server] Lister les caractéristiques des indexes sous SQL Server 2005 et 2008

Voici une requête qui nous permet de retrouver pour tout index :

- la liste de ses colonnes clé
- la liste de ses colonnes incluses
- la définition de son filtre
- le script de création de cet index

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

13/12/2010

Permalink 12:23:28, Catégories: Récapitulatif .NET, Récapitulatif, Récapitulatif SGBD, SQL Server, Snippets, 233 mots   French (FR) , elsuket

[.NET][SGBD][SQL Server] Lister les colonnes d'une ou des toutes les tables avec leurs types

Voici une requête simple pour obtenir tout cela :

------------------------------- 
-- Nicolas SOUQUET - 13/12/2010 
------------------------------- 
SELECT    S.name AS schema_name 
    , T.name AS table_name 
    , C.name AS column_name 
    , C.column_id 
    , TY.name AS data_type_name 
    , CASE WHEN TY.name IN ('nchar', 'nvarchar') THEN C.max_length / 2 ELSE C.max_length END AS max_length 
FROM    sys.schemas AS S 
INNER JOIN  sys.tables AS T 
      ON S.schema_id = T.schema_id 
INNER JOIN  sys.columns AS C  
      ON C.object_id = T.object_id 
INNER JOIN  sys.types AS TY 
      ON TY.system_type_id = C.system_type_id 
      AND TY.system_type_id = TY.user_type_id 
WHERE    1 = 1 
--AND    S.name = 'dbo' 
--AND    T.name = 'maTable' 
--AND    C.name = 'maColonne' 
ORDER BY  T.name, C.column_id

ElSüket ;)

Vous devez être identifié pour poster un commentaire.

07/12/2009

Permalink 21:58:33, Catégories: Récapitulatif, Récapitulatif SGBD, SQL Server, Snippets, Sécurité, 343 mots   French (FR) , elsuket

[SGBD][SQL Server] Empêcher un utilisateur de consulter le code source d'un objet de base de données (procédure stockée, fonction, trigger, vue, ...)

On demande parfois comment on peut crypter le code d'un objet de base de données (procédure stockée, trigger, fonction, vue, ...) afin qu'un utilisateur ou qu'un groupe d'utilisateurs ne puisse pas en consulter le code.

Or il faut bien se rappeler que le cryptage d'un objet de base de données implique que celui-ci soit décrypté lors de chacune de ses exécutions, ce qui peut infliger au serveur de base de données une consommation de ressources élevée, peu souhaitable dans un environnement OLTP ou pour un serveur OLAP fortement sollicité.

Une alternative bien simple existe pourtant : le refus d'autorisation.
Voyons comment l'utiliser ...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

19/11/2009

[SGBD][SQL Server] Obtenir une représentation sexagésimale d'une coordonnée géographique en degrés

Faisant suite à ce billet, voici une petite fonction pour représenter sexagésimalement une coordonnée géographique exprimée en degrés :

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

09/11/2009

Permalink 23:13:45, Catégories: Récapitulatif, Récapitulatif SGBD, SQL Server, Snippets, T-SQL, 460 mots   French (FR) , elsuket

[SGBD][SQL Server] Vérifier la validité d'une adresse e-mail

Voici un petit snippet pour vérifier la validité d'une adresse mail, histoire d'assurer un minimum d'intégrité à l'aide d'une contrainte de domaine vérifiée par cette fonction :

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

[SGBD][SQL Server] Supprimer toutes les captures instantanées de base de données d'un coup

Il est parfois nécessaire de supprimer toute les captures instantanées d'une base de données : par exemple pour la restaurer ou pour la supprimer.
Voici donc un bout de code pour les supprimer toutes, d'un seul coup ...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

Permalink 18:40:49, Catégories: Récapitulatif, Récapitulatif SGBD, SQL Server, Snippets, 449 mots   French (FR) , elsuket

[SGBD][SQL Server] Lister toutes les contraintes de clé étrangère d'une base de données

Voici un petit snippet permettant d'obtenir la liste de toutes les contraintes de clé étrangère d'une base de données avec :
- le nom de la contrainte,
- le nom de la table référençante,
- le nom de la colonne référençante dans la table référençante,
- le nom de la table référencée,
- le nom de la colonne référencée dans la table référencée.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

30/10/2009

Permalink 18:45:50, Catégories: Récapitulatif, Récapitulatif SGBD, SQL Server, Snippets, T-SQL, 187 mots   French (FR) , elsuket

[SGBD][SQL Server] Lister tous les types de données utilisés pour les colonnes des tables d'une base de données sous SQL Server 2005 et 2008

Voici une petite requête qui permet de lister tous les types de données utilisés pour les colonnes des tables d'une base de données ...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

29/10/2009

[SGBD][SQL Server] Vérifier l'unicité d'une position avec le type GEOGRAPHY sous SQL Server 2008

SQL Server 2008 a introduit de nombreux nouveaux types de données, dont le type de données géographiques GEOGRAPHY.
Ce n'est pas un type habituel, puisque c'est un type CLR.NET intégré à SQL Server.

L'avantage présenté par l'intégration de ce type est l'ensemble des méthodes standard "livrées" avec ce type, qui permettent d'extraire très simplement une latitude (attribut Lat), une longitude (attribut Long), ou encore de connaître la distance entre deux points géographiques avec la méthode STDistance.

Mais il devient alors plus complexe de garantir l'unicité de positions dans une table où l'on stocke la celle de plusieurs villes.
En effet, si une colonne de ce type est spécifiée comme clé d'une contrainte d'unicité, le moteur de base de données SQL Server lève une exception.

Est-il possible de contourner ce problème ?

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

27/10/2009

Permalink 18:14:11, Catégories: Récapitulatif SGBD, SQL Server, Snippets, Systèmes d'information géographiques, 205 mots   French (FR) , elsuket

[SGBD][SQL Server] Convertir des coordonnées sexagésimales en degrés et en radians

Souvent, les coordonnées géographiques sont exprimées en degrés, minutes, secondes.
Mais nos systèmes sont bien plus à l'aise avec des nombres décimaux, et il est donc nécessaire de convertir des coordonnées sexagésimales en degrés ou bien en radians.
Voici une petite fonction pour le faire ...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

« Page Précédente 1 2 3 4 Page suivante »

Liste des blogs

Le blog d'ElSuket

ElSüket

Rechercher

<  Mai 2012  >
Lun Mar Mer Jeu Ven Sam Dim
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Liens

Indexation

  • [.NET][SGBD][SQL Server] Différence entre ALTER INDEX ... REBUILD et ALTER INDEX ... REORGANIZE

    Après avoir vu ce que sont la fragmentation interne et externe d'un index, voyons les différences entre les options REBUILD et REORGANIZE de l'instruction ALTER INDEX (ou respectivement DBCC DBREINDEX ou DBCC INDEXDEFRAG sous SQL Server 2000)
    ]suite

    Permalien
  • [SGBD][SQL Server] Différence entre fragmentation interne et externe d'un index

    Quand on parle de la fragmentation physique des indexes, on parle aussi de fragmentation externe. Celle-ci se "produit" lorsque l'ordre logique des pages de l'index est incorrect. Les nouvelles valeurs de clé de l'index sont alors insérées dans de nouvelles pages d'index, qui désordonnent l'ordre original de la clé de l'index.

    Quand on parle de fragmentation logique de l'index, on parle aussi de fragmentation interne : c'est le cas lorsque la quantité de données stockée dans les pages de l'index est plus petite que la quantité maximale de données que peut stocker une page.

    ElSuket

    Permalien
  • [.NET][SGBD][SQL Server] Lister les caractéristiques des indexes sous SQL Server 2005 et 2008

    Voici une requête qui nous permet de retrouver pour tout index :

    - la liste de ses colonnes clé
    - la liste de ses colonnes incluses
    - la définition de son filtre
    - le script de création de cet index

    ]suite

    Permalien
  • [SGBD][SQL Server] Lister les colonnes des index d'une base de données

    Voici une petite requête qui permet de lister les colonnes de tous les index d'une base de données, avec leur type et l'ordre des colonnes dans la clé de l'index :
    ]suite

    Permalien
  • [SGBD][SQL Server] Purge du cache de plans

    Il est possible qu'un jour vous trouviez dans les journaux de SQL Server le libellé suivant :

    SQL Server has encountered n occurrence(s) of cachestore flush for the (partie du cache de plans) cachestore due to some database maintenance or reconfigure operations"

    Ce message n'apparaît qu'à partir du SP2 de SQL Server 2005, et il est écrit par intervalles de 5 minutes.
    La purge du cache de plans peut se produire dans les cas suivants :
    ]suite

    Permalien
  • [SGBD][SQL Server] Recherche d'indexes manquants sous SQL Server 2005

    Une nouvelle fonctionnalité intéressante, introduite avec SQL Server 2005, est la recherche d’indexes manquants.
    Elle permet, de façon très simple, de trouver les indexes manquants qui pourraient simplifier le travail
    du moteur de base de données s’ils étaient posés sur des tables de base ou des vues indexées.
    Néanmoins, cette fonctionnalité comporte quelques limitations, qui doivent être prise en compte avant qu’on
    ait décidé de créer l’index conseillé par SQL Server.
    Comme vous le verrez, plusieurs sujets sont connexes à cet article, mais nous ne les aborderons pas ici.
    Ils seront l’objet de prochains articles.

    ]suite

    Permalien
  • [.NET][SGBD][SQL Server] Rechercher les index inutiles

    Si les index représentent l'optimisation la plus simple à mettre en place, on souhaite néanmoins conserver le minimum d'entre-eux, car leur maintenance lors de l'exécution de requêtes de modifications de données (INSERT, UPDATE, DELETE) peut être coûteuse, surtout sur des tables volumineuses.
    Voyons comment collecter cette information ...
    ]suite

    Permalien
  • [.NET][SGBD][SQL Server] Une procédure pour connaître l'état physique et l'utilisation des index

    Voici une petite procédure stockée qui permet de connaître l'état physique des index (nombre de pages du niveau feuille, fragmentation et taux d'utilisation des pages) en même temps que la façon dont ils sont utilisés (nombres de seeks et de scans, ...).

    Elle est utilisable pour collecter ces statistiques sur l'ensemble d'une base de données, ou bien sur une table en particulier
    ]suite

    Permalien
  • [SGBD][SQL Server] Une procédure stockée pour défragmenter les indexes sous SQL Server 2005 et ultérieur

    Voici une petite procédure stockée que l'on peut exécuter régulièrement dans un job pour défragmenter les indexes de toutes les bases de données, en fixant les seuils de nombre de page et de pourcentage moyen de fragmentation

    ]suite

    Permalien
  • [SGBD][SQL Server] [Agent SQL Server] Gestion de l'historique

    Outre sa principale fonctionnalité de gestion d'exécutions, l'Agent SQL Server comporte quelques fonctionnalités intéressantes concernant la gestion de son historique.
    ]suite

    Permalien

Snippets

  • [SGBD][SQL Server] Calculer le Buffer Cache Hit Ratio

    S'il est une valeur intéressante à suivre pour le performances d'un serveur, c'est bien le Buffer Cache Hit Ratio, ou Taux d'accès au cache des tampons, car celui-ci est un rapport du nombre de pages lues en RAM par rapport au nombre de pages lues à partir des disques.

    Voici une petite requête pour trouver sa valeur :

    ]suite

    Permalien
  • [SGBD][SQL Server] Caractériser une adresse IP

    Voici une procédure stockée pour :

    - vérifier une adresse IP
    - chercher si celle-ci est privée
    - chercher la classe de cette adresse IP

    ]suite

    Permalien
  • [SGBD][SQL Server] Comment exécuter une procédure stockée dès le démarrage de SQL Server ?

    Nous allons voir comment on peut exécuter n'importe quelle procédure stockée dès le démarrage de SQL Server, à l'aide de la procédure stockée sp_procoption

    ]suite

    Permalien
  • [SGBD][SQL Server] Concaténer les valeurs d'une colonne dans une variable

    Il est souvent demandé s'il est possible de concaténer les valeurs d'une colonne dans une variable, éventuellement en les séparant avec un symbole de ponctuation.
    Voici comment faire, sans curseur ni expression de table commune ...
    ]suite

    Permalien
  • [SGBD][SQL Server] Connaître l'état d'un service : xp_servicecontrol

    Comment connaître simplement l'état d'un service ?
    Est-il possible d'arrêter et de démarrer un service avec une requête ?

    ]suite

    Permalien
  • [SGBD][SQL Server] Consulter l'historique des restaurations de bases de données

    Voici une petite requête qui permet de voir toutes les restaurations de bases de données d'une instance ...

    ]suite

    Permalien
  • [SGBD][SQL Server] Créer une table de dates

    Pourquoi ne pas créer une table de dates pour se faciliter les recherches dans des tables suivant la colonne de type date qu'elles contiennent ?
    On peut vous demander par exemple de rechercher la quantité d'eau consommée par un parc de machines pour la deuxième semaine de chaque mois d'une année.
    Imaginez un peu la complexité de la requête à écrire ...
    Voyons comment on peut résoudre cette demande très facilement en créant une table de dates ...

    ]suite

    Permalien
  • [SGBD][SQL Server] Découper une chaîne en sous-chaînes de longueur fixe

    Certains me désignent sur le forum SQL Server comme l'homme qui murmure à l'oreille des CTE.
    En voici donc une nouvelle !

    ]suite

    Permalien
  • [SGBD][SQL Server] Détecter un caractère unicode dans une chaîne de caractères

    Voici une petite fonction qui permet de vérifier la présence d'un caractère qui n'est pas supporté par la norme ASCII dans une chaîne de caractères ...

    ]suite

    Permalien
  • [SGBD][SQL Server] Exemples d'affectations de variables en ligne sous SQL Server 2008

    Voici quelques exemples simples de code qui montrent que sous SQL Server 2008, on peut non seulement se passer des sempiternelles deux lignes de code nécessaires jusqu'en version 2005 pour déclarer et affecter d'un valeur une variable, mais on peut aller encore plus loin ...

    ]suite

    Permalien

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web