Condividi tramite


Creazione di stored procedure

Tutte le stored procedure devono essere associate a una classe CLR (Common Language Runtime) o COM (Component Object Model) per poter essere utilizzate. La classe deve essere installata nel server, in genere sotto forma di libreria a collegamento dinamico Microsoft ActiveX® (DLL) e registrata come assembly nel server o in un database di Analysis Services.

Le stored procedure vengono registrate in un server o in un database. Le stored procedure del server possono essere chiamate da qualsiasi contesto di query, mentre le stored procedure di database sono accessibili solo se il contesto del database è il database nel quale è stata definita la stored procedure. Se in un assembly sono presenti funzioni che chiamano funzioni di un assembly diverso, è necessario registrare entrambi gli assembly nello stesso contesto (server o database). Per un server o un database microsoft SQL Server Analysis Services distribuito in un server, è possibile usare SQL Server Management Studio per registrare un assembly. Per un progetto di Analysis Services, è possibile usare Analysis Services Designer per registrare un assembly nel progetto.

Importante

Gli assembly COM potrebbero comportare un rischio per la sicurezza. A causa di questo rischio e altre considerazioni, gli assembly COM sono stati deprecati in SQL Server 2008 Analysis Services (SSAS). e potrebbero non essere supportati nelle versioni future.

Registrazione di un assembly server

In Esplora oggetti in SQL Server Management Studio gli assembly del server sono elencati nella cartella Assembly in un'istanza di Analysis Services. Gli assembly server possono contenere sia assembly .NET (CLR) sia librerie COM.

Per creare un assembly server

  1. Espandere l'istanza di Analysis Services in Esplora oggetti, fare clic con il pulsante destro del mouse sulla cartella Assembly e quindi scegliere Nuovo assembly. Verrà visualizzata la finestra di dialogo Registra assembly server .

  2. Per Tipo specificare il tipo di assembly:

    • Per una DLL (CLR) con codice gestito, specificare Assembly .NET.

    • Per una DLL (COM) con codice nativo, specificare DLL COM.

  3. Per Nome file specificare la DLL contenente le stored procedure.

  4. Per Nome assembly specificare un nome per l'assembly.

  5. Se si tratta di una build di debug della libreria che si intende usare per eseguire il debug di stored procedure, selezionare la casella di controllo Includi informazioni di debug . Per altre informazioni sul debug di stored procedure, vedere Debug di stored procedure.

  6. È possibile fare clic su OK per registrare immediatamente l'assembly o sulla barra degli strumenti della finestra di dialogo, è possibile fare clic su un comando dal menu Script per creare lo script dell'azione di registrazione in una finestra di query, in un file o negli Appunti.

Dopo aver registrato un assembly del server, è possibile configurarlo facendo clic con il pulsante destro del mouse sull'assembly in Esplora oggetti e quindi scegliendo Proprietà.

Registrazione di un assembly database nel server

In Esplora oggetti in SQL Server Management Studio gli assembly di database sono elencati nella cartella Assembly in un database di Analysis Services. Gli assembly database possono contenere sia assembly .NET (CLR) sia librerie COM.

Per creare un assembly database in un server

  1. Espandere l'istanza del database di Analysis Services in Esplora oggetti, fare clic con il pulsante destro del mouse sulla cartella Assembly e quindi scegliere Nuovo assembly. Verrà visualizzata la finestra di dialogo Registra assembly di database .

  2. Per Tipo specificare il tipo di assembly:

    • Per una DLL (CLR) con codice gestito, specificare Assembly .NET.

    • Per una DLL (COM) con codice nativo, specificare DLL COM.

  3. Per Nome file specificare la DLL contenente le stored procedure.

  4. Per Nome assembly specificare un nome per l'assembly.

  5. Se si tratta di una build di debug della libreria che si intende usare per eseguire il debug di stored procedure, selezionare la casella di controllo Includi informazioni di debug . Per altre informazioni sul debug di stored procedure, vedere Debug di stored procedure.

  6. È possibile fare clic su OK per registrare immediatamente l'assembly o sulla barra degli strumenti della finestra di dialogo, è possibile fare clic su un comando dal menu Script per creare lo script dell'azione di registrazione in una finestra di query, in un file o negli Appunti.

Dopo aver registrato un assembly di database, è possibile configurarlo facendo clic con il pulsante destro del mouse sull'assembly in Esplora oggetti e quindi scegliendo Proprietà.

Registrazione di un assembly database in un progetto

In Esplora soluzioni in SQL Server Data Tools (SSDT), gli assembly di database sono elencati nella cartella Assembly in un progetto di Analysis Services. Gli assembly database possono contenere sia assembly .NET (CLR) sia librerie COM.

Per creare un assembly database in un progetto di Analysis Services

  1. Espandere l'istanza del database di Analysis Services in Esplora oggetti, fare clic con il pulsante destro del mouse sulla cartella Assembly e quindi scegliere Nuovo riferimento assembly. Verrà visualizzata la finestra di dialogo Aggiungi riferimento . Nella scheda .NET della finestra di dialogo Aggiungi riferimento sono elencati gli assembly .NET (CLR) esistenti, mentre nella scheda Progetti sono elencati i progetti.

  2. È possibile fare clic su un componente o un progetto esistente e quindi su Aggiungi per aggiungerlo al progetto di Analysis Services. Per aggiungere un riferimento a una DLL COM, fare clic sulla scheda Sfoglia per trovare il file. L'elenco Progetti e componenti selezionati mostra il nome, il tipo, la versione e il percorso per ogni componente aggiunto al progetto.

  3. Al termine della selezione dei componenti da aggiungere, fare clic su OK per aggiungerli al progetto di Analysis Services.

Formatto dello script di un assembly

Registrare un assembly .NET è un'operazione piuttosto semplice. Per aggiungere un assembly .NET a un database in formato binario è possibile utilizzare il formato seguente:

<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>  

Vedere anche

Gestione di assembly di modelli multidimensionali
Definizione di stored procedure