Existe de fato uma maneira - os conjuntos são armazenados na tabela sys.assembly_files
em seu banco de dados. Selecione tudo de sys.assembly_files
e encontre o assembly_id
e execute o seguinte código (alterando o caminho assembly_id
e SaveToFile
):
DECLARE @IMG_PATH VARBINARY(MAX)
DECLARE @ObjectToken INT
SELECT @IMG_PATH = content FROM sys.assembly_files WHERE assembly_id = 65536
EXEC sp_OACreate 'ADODB.Stream', @ObjectToken OUTPUT
EXEC sp_OASetProperty @ObjectToken, 'Type', 1
EXEC sp_OAMethod @ObjectToken, 'Open'
EXEC sp_OAMethod @ObjectToken, 'Write', NULL, @IMG_PATH
EXEC sp_OAMethod @ObjectToken, 'SaveToFile', NULL, 'D:\SqlServerProject1.dll', 2
EXEC sp_OAMethod @ObjectToken, 'Close'
EXEC sp_OADestroy @ObjectToken
Para que isso funcione, você precisará ativar o recurso OLE Automation na Configuração da Área de Superfície para Recursos em sua instância do SQL.
Eu peguei este código aqui: link