I have ado.net sync services working on a mobile device. It does a snapshot sync over WCF (i used the .sync wizard stuff) and I have no problems. My problem is when I generate scripts from the database so that I can create it else where that DB does not work with sync. I get a TargetInvocationException when it does its GetSchema call. The interesting thing is that if I restore a backup of the original working DB to another DB it works as long as it is the same server.. If I restore it to a different server it DOES NOT work.
So I have found two conditions for causing the problem. Using the SQL generated scripts to create the DB causes the problem and restoring to a DIFFERENT server causes it.
It seems as though I am losing some permission or attribute on something when doing this.
Also Note: no exception happens server side.
Server Info: Working Server: Windows Server 2008 + SQL Server 2008 Standard Server copied to for test: Windows Server 2008 R2 + SQL Server 2008 Standard R2