Anda tidak dapat memperbarui katalog sistem, seperti yang dikatakan pesan kesalahan. Anda belum dapat melakukan ini sejak SQL Server 2000, dan bahkan di masa koboi itu jarang merupakan ide yang bagus. Cara Anda perlu melakukan ini, seperti yang dikatakan Gordon, adalah dengan menggunakan ALTER ASSEMBLY
. Jika Anda hanya memiliki satu Majelis untuk diperbarui:
ALTER ASSEMBLY [assembly name] WITH PERMISSION_SET = EXTERNAL_ACCESS;
Jika Anda memiliki banyak, Anda dapat membuat skrip menggunakan SQL dinamis:
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += N'ALTER ASSEMBLY ' + QUOTENAME(name)
+ ' WITH PERMISSION_SET = EXTERNAL_ACCESS;
'
FROM sys.assemblies WHERE assembly_id = <someInt>; -- or IN (<some range>)
PRINT @sql;
-- EXEC sp_executesql @sql;
Saya rasa Anda tidak perlu memfilter rakitan Microsoft jika Anda telah memberikan assembly_id
tertentu .