Création de procédures stockées

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

Les procédures stockées sont inscrites sur un serveur ou sur une base de données. Les procédures stockées serveur peuvent être appelées à partir de n’importe quel contexte de requête. Les procédures stockées de base de données sont accessibles uniquement si le contexte de base de données est la base de données sous laquelle la procédure stockée est définie. Si les fonctions d’un assembly appellent des fonctions dans un autre assembly, vous devez inscrire 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 Analysis Services déployée sur un serveur, vous pouvez utiliser SQL Server Management Studio pour inscrire un assembly. Pour un projet Analysis Services, vous pouvez utiliser le Concepteur Analysis Services pour inscrire un assembly dans le projet.

Important

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

Inscription d’un assembly de serveur

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

Pour créer un assembly de serveur

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

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

    • Pour une DLL de code managé (CLR), spécifiez l’assembly .NET.

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

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

  4. Pour le 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 case à cocher Inclure les informations de débogage . Pour plus d’informations sur le débogage des procédures stockées, consultez Débogage des 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 scripter 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 l’Explorateur d’objets, puis en cliquant sur Propriétés.

Inscription d’un assembly de base de données sur le serveur

Dans l’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 Analysis Services. Les assemblys de base de données peuvent contenir 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 l’instance de la base de données Analysis Services dans l’Explorateur d’objets, cliquez avec le bouton droit sur le dossier Assemblys , puis cliquez sur Nouvel assembly. Cette opération affiche la boîte de dialogue Inscrire l’assembly de base de données .

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

    • Pour une DLL de code managé (CLR), spécifiez l’assembly .NET.

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

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

  4. Pour le 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 case à cocher Inclure les informations de débogage . Pour plus d’informations sur le débogage des procédures stockées, consultez Débogage des 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 scripter 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 l’Explorateur d’objets, puis en cliquant sur Propriétés.

Inscription d’un assembly de base de données dans un projet

Dans l’Explorateur de solutions dans SQL Server Data Tools (SSDT), les assemblys de base de données sont répertoriés dans le dossier Assemblys sous un projet Analysis Services. Les assemblys de base de données peuvent contenir 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 l’instance de la base de données Analysis Services dans l’Explorateur d’objets, cliquez avec le bouton droit sur le dossier Assemblys , puis cliquez sur Nouvelle référence d’assembly. Cette opération affiche la boîte de dialogue Ajouter une référence . 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 cliquer sur Ajouter pour l’ajouter au projet Analysis Services. Pour ajouter une référence à une DLL COM, cliquez sur l’onglet Parcourir pour rechercher le fichier. La liste des 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. Une fois que vous avez terminé de sélectionner des composants à ajouter, cliquez sur OK pour les ajouter au projet Analysis Services.

Format de script pour un assembly

L’inscription d’un assembly .NET est assez simple. 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èle multidimensionnel
Définition de procédures stockées