I just configured FileStream on a 500 gb database and can now reclaim about 400 gb from the database so I'm planning to shrink it. Are there any issues shrinking a database (data file not log file)that's being replicated? The table that is configured for file tables is not being replicated. Question 2: why do I have to shrink the data file twice to actually reclaim all of the available space? I've tested this a number of times and I always have to shrink multiple times.
As to shrinking multiple times, that has to do with rearranging the pages. Can you shrink the replicated database? Yes. While the shrink runs you're going to see blocking and you could get timeouts, so be prepared for that. The real question is, why are you shrinking so often that you're very familiar with all the inner workings of shrinking. Shrinking databases can be done, but should be done only extremely sparingly in very restricted circumstances. If you find yourself doing lots and lots of shrinks, you have data management issues you should address. Also, if you find yourself doing lots of shrinks, you're fragmenting the file storage of your databases which will cause serious negative impacts to performance.