Share via


To Synchronize or To Refresh?

Are you confused too?

Are you wondering what the difference is between the "Refresh" button in "Solution Explorer" and the "Synchronize" button in "Schema View"? Both buttons share the same icon; but they are named differently; are both option doing the same or different things?

So what is the difference?

 

 

 

 

 

 

 

 

 

Schema View - Synchronize

The "synchronize" button, redraws the schema view, which is the logical schema view based on the in-memory schema representation of the sources interpreted; so synchronize refers to synchronization of state between the Solution Explorer and Schema View.

Solution Explorer - Refresh

The "refresh" button, most likely should have been named "reload" since it will remove the schema cache file (<project dir>\<project name>.dat>; recreate the design verification database and reload all the schema fragments from the project (<project name>.dbproj) file.

So "refresh" (or better reload) can be a rather expensive operation; since it will cause a complete reload of all schema objects (reading all files from links from the project file); parse the fragments and execute them against the design validation database.

I hope this explains the difference and when to use them,

-GertD

Comments

  • Anonymous
    February 19, 2007
    Gert, Thanks for clearing this up! Jeff

  • Anonymous
    February 20, 2007
    GertD on To Synchronize Or To Refresh? James Manning on OneNote 2007 sharing is indistinguishable...

  • Anonymous
    February 20, 2007
    Hi Gert, Can you elaborate on this design verification database a bit.  I seem to have an issue with a dbproj where doing a "Refresh/Reload" seems to be clearing it up - for the first build.  However, if I simply "Deploy" again right after I get a different result.  In particular, I have a CREATE USER script, a Login script and a RolesAndMemberships script.   If I understand the build process correctly, the DB is created, then pre-deployment, objects, post-deployment. So in my case it would be Create DB, Create Login, Create User, [Create DB Objects], RolesAndMembership.  For some reason, the current Create User Script is NOT being included if I don't do a "Refresh/Reload".  I'm using SourceSafe but all the versions in the db are closer than what is being output.  In case it helps narrow it down better, the difference is consistent and something to this effect: Current Script File: CREATE USER [resp_user] FOR LOGIN [resp_user] WITH DEFAULT_SCHEMA=[dbo]; Output: CREATE USER [resp_user] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]; Any ideas? Thanks, KK

  • Anonymous
    October 17, 2007
    What happens when you make changes outside the scope of your project? What if you edit a file inside

  • Anonymous
    October 27, 2007
    What the difference is between the &quot;Refresh&quot; button in &quot;Solution Explorer&quot; and the