Share via


Création de procédures stockées

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Toutes les procédures stockées doivent être associées à une classe CLR (Common Language Runtime) ou COM (Component Object Model) pour pouvoir être utilisées. La classe doit être installée sur le serveur , généralement sous la forme d’une bibliothèque de liens dynamiques (DLL) Microsoft ActiveX®, et inscrite en tant qu’assembly sur le serveur ou dans une base de données SQL Server Analysis Services.

Les procédures stockées sont enregistrées sur le serveur ou dans une base de données. Les procédures stockées enregistrées sur le serveur peuvent être appelées à partir de n'importe quel contexte de requête. Les procédures stockées enregistrées dans la base de données sont uniquement accessibles si le contexte de base de données est la base de données dans laquelle la procédure stockée est définie. Si les fonctions d'un assembly appellent les fonctions d'un autre assembly, vous devez enregistrer les deux assemblys dans le même contexte (serveur ou base de données). Pour un serveur ou une base de données Microsoft SQL Server SQL Server Analysis Services déployée sur un serveur, vous pouvez utiliser SQL Server Management Studio pour inscrire un assembly. Pour un projet SQL Server Analysis Services, vous pouvez utiliser SQL Server Analysis Services Designer pour inscrire un assembly dans le projet.

Important

Les assemblys COM peuvent présenter un risque pour la sécurité. En raison de ce risque et d’autres considérations, les assemblys COM ont été dépréciés dans SQL Server 2008 Analysis Services (SSAS). Les assemblys COM peuvent ne pas être pris en charge dans les versions ultérieures.

Enregistrement d'un assembly de serveur

Dans Explorateur d'objets dans SQL Server Management Studio, les assemblys de serveur sont répertoriés dans le dossier Assemblys sous une instance de SQL Server Analysis Services. Les assemblys de serveur peuvent contenir à la fois des assemblys .NET (CLR) et des bibliothèques COM.

Pour créer un assembly de serveur

  1. Développez la instance de SQL Server Analysis Services dans Explorateur d'objets, cliquez avec le bouton droit sur le dossier Assemblys, puis cliquez sur Nouvel assembly. La boîte de dialogue Inscrire l’assembly de serveur s’affiche.

  2. Pour Type , spécifiez le type d’assembly :

    • Pour une DLL en code managé (CLR), spécifiez Assembly .NET.

    • Pour une DLL DE code natif (COM), spécifiez LA DLL COM.

  3. Pour Nom de fichier, spécifiez la DLL contenant les procédures stockées.

  4. Pour Nom de l’assembly, spécifiez un nom pour l’assembly.

  5. S’il s’agit d’une build de débogage de la bibliothèque que vous allez utiliser pour déboguer des procédures stockées, activez la zone Inclure les informations de débogage case activée. Pour plus d’informations sur le débogage de procédures stockées, consultez Débogage de procédures stockées.

  6. Vous pouvez cliquer sur OK pour inscrire l’assembly immédiatement ou, dans la barre d’outils de la boîte de dialogue, vous pouvez cliquer sur une commande dans le menu Script pour générer un script de l’action d’inscription dans une fenêtre de requête, un fichier ou le Presse-papiers.

Après avoir inscrit un assembly de serveur, vous pouvez le configurer en cliquant avec le bouton droit sur l’assembly dans Explorateur d'objets, puis en cliquant sur Propriétés.

Enregistrement d'un assembly de base de données sur le serveur

Dans Explorateur d'objets dans SQL Server Management Studio, les assemblys de base de données sont répertoriés dans le dossier Assemblys sous une base de données SQL Server Analysis Services. Les assemblys de base de données peuvent contenir à la fois des assemblys .NET (CLR) et des bibliothèques COM.

Pour créer un assembly de base de données sur un serveur

  1. Développez la instance la base de données SQL Server Analysis Services dans Explorateur d'objets, cliquez avec le bouton droit sur le dossier Assemblys, puis cliquez sur Nouvel assembly. La boîte de dialogue Inscrire l’assembly de base de données s’affiche.

  2. Pour Type , spécifiez le type d’assembly :

    • Pour une DLL en code managé (CLR), spécifiez Assembly .NET.

    • Pour une DLL en code natif (COM), spécifiez DLL COM.

  3. Pour Nom de fichier, spécifiez la DLL contenant les procédures stockées.

  4. Pour Nom de l’assembly, spécifiez un nom pour l’assembly.

  5. S’il s’agit d’une build de débogage de la bibliothèque que vous allez utiliser pour déboguer des procédures stockées, activez la zone Inclure les informations de débogage case activée. Pour plus d’informations sur le débogage de procédures stockées, consultez Débogage de procédures stockées.

  6. Vous pouvez cliquer sur OK pour inscrire l’assembly immédiatement ou, dans la barre d’outils de la boîte de dialogue, vous pouvez cliquer sur une commande dans le menu Script pour générer un script de l’action d’inscription dans une fenêtre de requête, un fichier ou le Presse-papiers.

Après avoir inscrit un assembly de base de données, vous pouvez le configurer en cliquant avec le bouton droit sur l’assembly dans Explorateur d'objets, puis en cliquant sur Propriétés.

Enregistrement d'un assembly de base de données dans un projet

Dans Explorateur de solutions dans SQL Server Data Tools, les assemblys de base de données sont répertoriés dans le dossier Assemblys sous un projet SQL Server Analysis Services. Les assemblys de base de données peuvent contenir à la fois des assemblys .NET (CLR) et des bibliothèques COM.

Pour créer un assembly de base de données dans un projet Analysis Service

  1. Développez le instance la base de données SQL Server Analysis Services dans Explorateur d'objets, cliquez avec le bouton droit sur le dossier Assemblys, puis cliquez sur Nouvelle référence d’assembly. La boîte de dialogue Ajouter une référence s’affiche. L’onglet .NET de la boîte de dialogue Ajouter une référence répertorie les assemblys .NET (CLR) existants, tandis que l’onglet Projets répertorie les projets.

  2. Vous pouvez cliquer sur un composant ou un projet existant, puis sur Ajouter pour l’ajouter au projet SQL Server Analysis Services. Pour ajouter une référence à une DLL COM, cliquez sur l’onglet Parcourir pour rechercher le fichier. La liste Projets et composants sélectionnés affiche le nom, le type, la version et l’emplacement de chaque composant que vous ajoutez au projet.

  3. Lorsque vous avez terminé de sélectionner les composants à ajouter, cliquez sur OK pour les ajouter au projet SQL Server Analysis Services.

Mise en forme du script pour un assembly

Il est relativement simple d'enregistrer un assembly .NET. Un assembly .NET est ajouté à une base de données au format binaire à l'aide du format suivant :

<Create>  
   <ObjectDefinition>  
      <Assembly>  
         <Files>  
            <File>  
               <Name>filename</Name>  
               <Type>filetype</Type>  
               <Data>  
                  <Block>binarydatablock</Block>  
                  <Block>binarydatablock</Block>  
                  ...  
               </Data>  
            </File>  
         </Files>  
         <PermissionSet>PermissionSet</PermissionSet>  
      </Assembly>  
   <ObjectDefinition>  
</Create>  

Voir aussi

Gestion des assemblys de modèles multidimensionnels
Définition de procédures stockées