-
Articles récents
- SQL Server Performances – CHAPITRE 3 – Estimateur de Cardinalité, Intelligent Query Processing (IQP), Query Store, drapeaux de trace…
- SQL Server Performances – CHAPITRE 2 – Faut-il paramétrer, régler, tuner son instance ?
- SQL Server Performances – CHAPITRE 1 – Et la VM dans tout ça ?
- Haute disponibilité – SQL Server vs PostGreSQL
- Détecter les blocages dans MS SQL Server
- Restarting MS SQL Server : bad or good idea ?
- Modélisation : viol de la première forme normale par « apocope »
- Petit guide de Transact SQL – Partie 1
- Trop d’index tue l’index : supprimez les index inutiles !
- Un « GREP » pour rechercher un motif dans tous les codes de Microsoft SQL Server
- Arrêt et re-démarrage d’instance SQL Server… Bonne pratique ou pas ?
- PostgreSQL vs. SQL Server (MSSQL) – part 3 – Very Extremely Detailed Comparison
- PostGreSQL vs Microsoft SQL Server (comparaison) – Partie 2 : performances des requêtes avec COUNT
- PostGreSQL vs Microsoft SQL Server – Comparison part 2 : COUNT performances
- PostGreSQL vs Microsoft SQL Server (comparaison) – Partie 1 : performances des commandes pour le DBA
- PostGreSQL vs Microsoft SQL Server – Comparison part 1 : DBA command performances
- Un cas curieux d’incompatibilité de collation…
- NOLOCK without NOLOCK, page latch time-out on tempdb and finally DUMP…
- Déplacer le stockage de la base TEMPDB
- NOLOCK sans NOLOCK, « page latch » time-out sur la base tempdb et finalement DUMP…
Commentaires récents
Archives
- octobre 2024
- septembre 2024
- juillet 2024
- mai 2024
- juin 2023
- mai 2023
- février 2023
- octobre 2022
- septembre 2022
- mars 2022
- avril 2021
- mars 2021
- février 2021
- janvier 2021
- septembre 2020
- juillet 2020
- juin 2020
- mai 2020
- février 2020
- janvier 2020
- décembre 2019
- mars 2019
- janvier 2019
- septembre 2018
- juillet 2018
- mai 2018
- janvier 2017
Catégories
- bases de données exemple
- bug
- DBA
- index
- langage SQL
- modélisation
- Norme SQL
- Performances
- PostGreSQL
- Procédure de maintenance
- Procédure stockées de métadonnées
- Procédures MS SQL Server
- Requêtes de métadonnées
- Requetes MS SQL Server
- scripts SQL
- Sécurité
- SQL Server
- tables temporelles
- Tips and tricks
- UDF
- Uncategorized
Méta
Archives de catégorie : Requetes MS SQL Server
Listes d’articles présentant des requêtes SQL / Transact SQL pour Microsoft SQL Server
Trop d’index tue l’index : supprimez les index inutiles !
Je découvre souvent beaucoup trop d’index dans les bases de données des clients que j’audite… Or tout index coûte en mise à jour. Or chaque mise à jour étant « bloquante » cela pèse sur les performances. Il faut donc supprimer ou … Continuer la lecture →
Publié dans index, Performances, Requêtes de métadonnées, Requetes MS SQL Server, SQL Server
|
Marqué avec analyse, INDEX, inutiles, sql server, suppression
|
Laisser un commentaire
Un « GREP » pour rechercher un motif dans tous les codes de Microsoft SQL Server
Il est parfois nécessaire de rechercher dans toute l’étendue du code Transact SQL (vues, procédures stockées, fonctions UDF, déclencheurs…) un motif de chaine de caractères (par exemple un nom de table, de colonne… par exemple afin de savoir quel va … Continuer la lecture →
Publié dans bases de données exemple, DBA, Requêtes de métadonnées, Requetes MS SQL Server, scripts SQL, SQL Server
|
Marqué avec code, GREP, motif, recherche, sql server
|
Laisser un commentaire
Arrêt et re-démarrage d’instance SQL Server… Bonne pratique ou pas ?
Parmi les pires pratique que l’on rencontre encore couramment au sujet de Microsoft SQL Server, il y a le fait que redémarrer une instance régulièrement serait bénéfique pour les bases de données d’une instance SQL Server. Ceci est faux et … Continuer la lecture →
Publié dans DBA, Requêtes de métadonnées, scripts SQL, SQL Server, Tips and tricks
|
Marqué avec arrêt, bonne pratique, démarrage, diagnostic, redémarrage, sql server
|
Laisser un commentaire
Un cas curieux d’incompatibilité de collation…
Voulant réaliser une requête donnant la liste de toutes les références d’intégrité relationnelle des clés étrangères (FOREIGN KEY) relatives aux contraintes de clé primaires ou unique, je lance cette requête : Et cela me lance un joyeux message d’erreur : … Continuer la lecture →
Publié dans langage SQL, Requêtes de métadonnées, Requetes MS SQL Server, SQL Server
|
Marqué avec 8711, error, sql server, STRING_AGG
|
Laisser un commentaire
Déplacer le stockage de la base TEMPDB
La base de données système « tempdb » est une base particulière qui est utilisée par tous les objets temporaires explicite (ceux créé avec un nom commençant par #) comme ceux créé de manière implicite, par le moteur SQL Server, notamment au … Continuer la lecture →
Publié dans Procédures MS SQL Server, Requêtes de métadonnées, scripts SQL, SQL Server
|
Marqué avec déplacement, sql server, stockage, tempdb
|
Laisser un commentaire
Métadonnées du partitionnement
Quelles sont mes tables ou index partitionnés ? Comment sont-ils partitionnés ? Voici une requête qui détaille les éléments du partitionnement…
Publié dans Requêtes de métadonnées, Requetes MS SQL Server, SQL Server
|
Marqué avec bornes, fontion de partition, intervalles, métadonnées, partitionnement, schema de partitionnement, valeurs
|
Laisser un commentaire
Événements de croissance, réduction des fichiers d’une base
Toutes les opérations de croissance ou de réduction des fichiers d’une base sont des opérations conduisant à des dégradation des performances (opérations couteuses, perturbantes, génération de fragmentation physique irréfragable des fichiers…). Il faut absolument éviter que ce genre d’opération se … Continuer la lecture →
Aide au diagnostic d’indexation d’une base MS SQL Server
L’ajout systématique de tous les index diagnostiqué par SQL Server via les DMV sys.dm_db_missing_index_details (et autres…), n’est pas une bonne idée. En effet on trouve souvent dans ces diagnostics, des index redondants ou inclus. Il faut donc étudier la pose … Continuer la lecture →
Volumétrie de données et disques d’une instance SQL Server
Voici un batch simple pour obtenir la volumétrie globale, rapidement d’une instance MS SQL Server.
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 32 33 34 35 36 37 |
[code language="sql"]CREATE TABLE ##STORAGE (DATABASE_NAME sysname, NATURE VARCHAR(16), FILE_NAME sysname, FILE_SIZE_MB DECIMAL(24,3), FILE_FREE_MB DECIMAL(24,3), FILE_FREE_PERCENT DECIMAL(5,3), DISK_NAME NVARCHAR(512), DISK_SIZE_MB DECIMAL(24,3), DISK_FREE_MB DECIMAL(24,3), DISK_FREE_PERCENT DECIMAL(5,3)); DECLARE @SQL NVARCHAR(max) = N'USE [?]; WITH T AS ( SELECT DB_NAME() AS DATABASE_NAME, type_desc AS NATURE, name AS FILE_NAME, db.size/128.0 AS FILE_SIZE_MB, (db.size - CAST(FILEPROPERTY(name, ''SpaceUsed'') AS INT))/128.0 AS FILE_FREE_SPACE_MB, total_bytes / 1048576.0 AS DISK_SPACE_MB, volume_mount_point, available_bytes / 1048576.0 AS DISK_FREE_SPACE_MB FROM sys.database_files AS db CROSS APPLY sys.dm_os_volume_stats(DB_ID(), file_id) ) INSERT INTO ##STORAGE SELECT DATABASE_NAME, NATURE, FILE_NAME, FILE_SIZE_MB, FILE_FREE_SPACE_MB, 100.0 * FILE_FREE_SPACE_MB / FILE_SIZE_MB AS FILE_PERCENT_FREE, volume_mount_point AS DISK_NAME, DISK_SPACE_MB, DISK_FREE_SPACE_MB, 100.0 * DISK_FREE_SPACE_MB / DISK_SPACE_MB AS DISK_PERCENT_FREE FROM T;' EXEC sp_MSforeachdb @SQL; SELECT * FROM ##STORAGE; DROP TABLE ##STORAGE;[/code] |
Voici un exemple du résultat : Le lien de téléchargement Frédéric Brouard – SQLpro – ARCHITECTE DE DONNÉES – expert SGBDR et langage SQL … Continuer la lecture →
Agent SQL et réplicas AlwaysOn (HADR – Availability Groups), ma base est-elle active ?
Lorsque l’on utilise la haute disponibilité via AlwaysOn, il est nécessaire de savoir quelles sont les bases actives dans l’instance afin que certains travaux de maintenance via l’Agent SQL ne prenne en compte que ces bases là. Voici 7 fonctions … Continuer la lecture →