Modificare un assembly
Si applica a:SQL Server
Gli assembly registrati in SQL Server possono essere aggiornati da una versione più recente usando l'istruzione ALTER ASSEMBLY
. Per aggiornare un assembly, usare l'istruzione ALTER ASSEMBLY
con la sintassi seguente:
ALTER ASSEMBLY SQLCLRTest
FROM 'C:\MyDBApp\SQLCLRTest.dll';
ALTER ASSEMBLY
non interrompe i processi attualmente in esecuzione che usano l'assembly; i processi continuano a essere eseguiti con l'assembly non modificato.
ALTER ASSEMBLY
non può essere usato per modificare le firme di funzioni CLR (Common Language Runtime), funzioni di aggregazione, stored procedure e trigger. È possibile aggiungere nuovi metodi pubblici all'assembly, i metodi privati possono essere modificati in qualsiasi modo e i metodi pubblici possono essere modificati purché le firme o gli attributi non vengano modificati. I campi contenuti all'interno di un tipo definito dall'utente serializzato nativo, inclusi i membri dati o le classi di base, non possono essere modificati usando ALTER ASSEMBLY
. Tutte le altre modifiche non sono supportate. Per altre informazioni, vedere ALTER ASSEMBLY.
Modificare il set di autorizzazioni di un assembly
È anche possibile modificare il set di autorizzazioni di un assembly usando l'istruzione ALTER ASSEMBLY
. L'istruzione seguente modifica il set di autorizzazioni dell'assembly SQLCLRTest
in EXTERNAL_ACCESS
.
ALTER ASSEMBLY SQLCLRTest
WITH PERMISSION_SET = EXTERNAL_ACCESS;
Se il set di autorizzazioni di un assembly viene modificato da SAFE
a EXTERNAL_ACCESS
o UNSAFE
, è necessario creare prima una chiave asimmetrica e un account di accesso corrispondente con autorizzazione EXTERNAL ACCESS ASSEMBLY
o UNSAFE ASSEMBLY
per l'assembly. Per altre informazioni, vedere Creare un assembly.
Aggiungere il codice sorgente di un assembly
La clausola ADD FILE
nella sintassi ALTER ASSEMBLY
non è presente in CREATE ASSEMBLY
. È possibile utilizzarla per aggiungere codice sorgente o altri file associati a un assembly. I file vengono copiati dai percorsi originali e vengono archiviati nelle tabelle di sistema del database. In questo modo, si ha sempre codice sorgente o altri file a portata di mano, se mai è necessario ricreare o documentare la versione corrente del tipo definito dall'utente (UDT).
L'istruzione seguente aggiunge il codice sorgente della classe Point.cs
per il tipo definito dall'utente Point
. Copia il testo contenuto nel file Point.cs
e lo archivia nel database con il nome PointSource
.
ALTER ASSEMBLY Point
ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource;
Contenuto correlato
- Gestire gli assembly di integrazione CLR
- Creare un di assembly
- Eliminare un di assembly
- ALTER ASSEMBLY (Transact-SQL)