DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»SQL pour trouver une erreur de compilation de procédure stockée
    Uncategorized

    SQL pour trouver une erreur de compilation de procédure stockée

    mars 13, 2023
    SQL pour trouver une erreur de compilation de procédure stockée
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    SQL Server est un système de gestion de base de données relationnelle (RDBMS) développé par Microsoft Corporation. C’est une plate-forme puissante pour créer, gérer et interroger des bases de données à grande échelle. SQL Server est utilisé par des entreprises de toutes tailles pour gérer, stocker et récupérer des données pour diverses applications.

    En plus de permettre de stocker et de manipuler des données, le système de serveur SQL fournit un ensemble d’objets/tables système qui sont utilisés pour stocker des métadonnées et des informations de configuration sur le moteur de base de données. Celles-ci sont appelées vues du catalogue système. Ces tables système contiennent des informations sur divers objets de la base de données, tels que des tables, des index, des procédures stockées, des vues, des contraintes, etc.

    Tables système SQL Server couramment utilisées

    sys.objects : Cette table contient des informations sur tous les objets de la base de données, tels que les tables, les vues, les procédures et les fonctions.

    sys.columns : Cette table contient des informations sur toutes les colonnes de la base de données, telles que le nom de la colonne, le type de données et la longueur.

    sys.index : Cette table contient des informations sur tous les index de la base de données, telles que le nom de l’index, le type et les colonnes couvertes par l’index.

    sys.partitions : Cette table contient des informations sur toutes les partitions de la base de données, telles que le numéro de partition, la taille de la partition et l’index associé à la partition.

    sys.schemas : Cette table contient des informations sur tous les schémas de la base de données, telles que le nom du schéma et l’utilisateur propriétaire du schéma.

    sys.sysdatabases : Cette table contient des informations sur toutes les bases de données sur l’instance SQL Server, telles que le nom de la base de données, le propriétaire de la base de données et la date de création.

    sys.procedures : Il s’agit d’une vue système dans SQL Server qui contient des informations sur les procédures stockées dans une base de données. Cette vue renvoie une ligne pour chaque procédure stockée de la base de données, y compris les procédures système, les procédures définies par l’utilisateur et les procédures étendues.

    SQL pour trouver une erreur de compilation de procédure stockée

    -- table variable to store procedure names
    
    DECLARE @v TABLE (RecID INT IDENTITY(1,1), spname sysname)
    
    -- retrieve the list of stored procedures
    
    INSERT INTO @v(spname)
    
        SELECT 
    
            '[' + s.[name] + '].[' + sp.name + ']' 
    
        FROM sys.procedures sp
    
        INNER JOIN sys.schemas s ON s.schema_id = sp.schema_id
    
        WHERE is_ms_shipped = 0 and sp.name like '%rpt%'
    
    -- counter variables
    
    DECLARE @cnt INT, @Tot INT
    
    SELECT @cnt = 1
    
    SELECT @Tot = COUNT(*) FROM @v
    
    DECLARE @spname sysname
    
    -- start the loop
    
    WHILE @Cnt <= @Tot BEGIN
    
        SELECT @spname = spname
    
            FROM @v
    
            WHERE RecID = @Cnt
    
        BEGIN TRY
    
            -- refresh the stored procedure
    
            EXEC sp_refreshsqlmodule @spname
    
        END TRY
    
        BEGIN CATCH
    
         IF XACT_STATE() <> 0 ROLLBACK;
    
            PRINT 'Validation failed for : ' + 
    
                @spname + ' Error:' + 
    
                ERROR_MESSAGE()
    
        END CATCH
    
        SET @Cnt = @cnt + 1
    
    END

    Pourquoi résoudre les erreurs de compilation de procédure stockée ?

    Voici quelques raisons pour lesquelles il est important de traiter les erreurs de compilation de procédure stockée :

    1. Comportement cohérent : Une erreur de compilation de procédure stockée peut entraîner un comportement incohérent ou pas du tout. Il est donc important de résoudre l’erreur de compilation pour s’assurer qu’elle se comporte comme prévu.
    2. Performance: Lorsqu’une compilation de procédure stockée échoue, elle tente de se recompiler à chaque exécution. Cela entraîne des problèmes de performances, car le processus de compilation est gourmand en ressources. Il est donc important de résoudre l’erreur de compilation pour améliorer les performances de votre application de base de données.
    3. Sécurité: Une erreur de compilation de procédure stockée peut être un problème de sécurité, comme une autorisation d’objet manquante ou une connexion non valide. En résolvant l’erreur de compilation, vous améliorerez la sécurité de votre base de données, et elle ne pourra accéder qu’aux ressources auxquelles elle est autorisée à accéder.
    4. Maintenabilité : la résolution des erreurs de compilation est importante. Sinon, il s’accumulera avec le temps, ce qui le rendra difficile à entretenir et à modifier. En résolvant rapidement les erreurs de compilation, vous pouvez vous assurer que votre base de données reste maintenable et facile à modifier.

    Conclusion

    Ces tables système sont largement utilisées par les administrateurs de bases de données, les développeurs et d’autres utilisateurs pour gérer et maintenir les bases de données SQL Server et pour automatiser les tâches répétitives. Il est toujours recommandé d’utiliser les dernières vues du catalogue système, qui ont plus de fonctionnalités et de meilleures performances que les tables système héritées.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.