Condividi tramite


Creazione di stored procedure

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

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 una libreria di collegamento dinamica Microsoft ActiveX® (DLL) e registrata come assembly nel server o in un database SQL Server 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 SQL Server Analysis Services distribuito in un server, è possibile usare SQL Server Management Studio per registrare un assembly. Per un progetto SQL Server Analysis Services, è possibile usare SQL Server 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 SQL Server Analysis Services. Gli assembly server possono contenere sia assembly .NET (CLR) sia librerie COM.

Per creare un assembly server

  1. Espandere l'istanza di SQL Server 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 Type 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 compilazione di debug della libreria che verrà usata per eseguire il debug delle stored procedure, selezionare la casella di controllo Includi informazioni di debug . Per altre informazioni sulle stored procedure di debug, 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 nel 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 server, è possibile configurarlo facendo clic con il pulsante destro del mouse sull'assembly in Esplora oggetti e quindi facendo clic su 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 SQL Server 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 SQL Server Analysis Services in Esplora oggetti, fare clic con il pulsante destro del mouse sulla cartella Assembly e quindi scegliere Nuovo assembly. Viene visualizzata la finestra di dialogo Registra assembly di database .

  2. Per Type 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 compilazione di debug della libreria che verrà usata per eseguire il debug delle stored procedure, selezionare la casella di controllo Includi informazioni di debug . Per altre informazioni sulle stored procedure di debug, 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 nel 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 facendo clic su Proprietà.

Registrazione di un assembly database in un progetto

In Esplora soluzioni in SQL Server Data Tools, gli assembly di database sono elencati nella cartella Assembly in un progetto di SQL Server 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 SQL Server 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 . La scheda .NET della finestra di dialogo Aggiungi riferimento elenca gli assembly .NET (CLR) esistenti, mentre la scheda Progetti elenca i progetti.

  2. È possibile fare clic su un componente o un progetto esistente e quindi fare clic su Aggiungi per aggiungerlo al progetto SQL Server 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 che si aggiunge al progetto.

  3. Al termine della selezione dei componenti da aggiungere, fare clic su OK per aggiungerli al progetto SQL Server 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