Altering CLR assemblies

pil0tpil0t Posts: 14
1. I comapared two databases with different sql assemblies, and SDK generated migration script like this:

<drop depended objects>
<drop clr assembly>
<create assmbly>

Is there any way to generate migration like this:

ALTER ASSEMBLY [myAssembly]
FROM 0x4d5a9000030000000......?



2. I created "by hand" script (alter assmly ...) and execute it in sql server managment studio without any errors.

When i try to pack it in sql packager i got error
"SQL Error: ALTER ASSEMBLY for assembly 'myAssembly' failed because assembly 'myAssembly' is malformed or not a pure .NET assembly. "

3. in SQL compate 8 there is a checkbox "Do not use ALTER ASSEMBLY to change CLR objects" but when it is checked or not, i always got DROP ASSEBLY, CREATE ASSEMBLE statements.

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi,
    I hope someone will point out any wrong assumptions I've made, but I have had a look at the source code for SQL Compare and it looks to me as if the assembly will be rebuilt instead of altered if:
    • a parent assembly needs to be re-created
    • The assembly metadata between the assembly in database a and database b is different
    • The assembly metadata could not be compared. In that case SQL Compare should leave a log entry stating why the metadata could not be compared.
    • Either or both assemblies contain no files or are less than 96 bytes in length
Sign In or Register to comment.