Hi @VDT-7677 ,
I can only post it as an answer because of too much text. Please refer to this explained documentation: To change schema options for an existing article in a merge publication
At the Publisher on the publication database, execute sp_helpmergearticle. Specify the name of the publication to which the article belongs for @publication and the name of the article for @article. Note the value of the schema_option column in the result set.
- Execute a & (Bitwise AND) operation using the value from step 1 and the desired schema option value to determine if the option is set.
- If the result is 0, the option is not set.
If the result is the option value, the option is already set. - If the option is not set, execute a | (Bitwise OR) operation using the value from step 1 and the desired schema option value.
- At the Publisher on the publication database, execute sp_changemergearticle. Specify the name of the publication to which the article belongs for @publication, the name of the article for @article, a value of schema_option for @property, and the hexadecimal result from step 3 for @value.
- Run the Snapshot Agent to generate a new snapshot. For more information, see Create and Apply the Initial Snapshot.
Now let me add some of my understanding:
First, you need to convert the hexadecimal to binary to see if each bit is a 1 or a 0. See the following example:
0x00----------------0000 0000 b
0x01----------------0000 0001 b (This is added temporarily by me, you don't have it in your assumption, I added it to the options in that document.)
0x10----------------0001 0000 b
0x20----------------0010 0000 b
0x40----------------0100 0000 b
0x80----------------1000 0000 b
0x100---------0001 0000 0000 b (0x represents hexadecimal, b represents binary)
There are many options below that are the same conversion method, so I won't list them one by one. You can see that each option corresponds to a different bit.
If you have assigned a value to this parameter and you want to get what options are set, you need to AND each bit to see the corresponding options.
If you haven't set this parameter you can use the OR operation to compose the value you want. In your assumption, all you need to do is list the binary of each option inside, and the result is 0001 1111 0001 b. The corresponding hexadecimal is 0x1f1.
Hope this could help you get better understanding.
Best regards,
Seeya
If the answer is the right solution, please click "Accept Answer" and kindly upvote it.