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! JeffAnonymous
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, KKAnonymous
October 17, 2007
What happens when you make changes outside the scope of your project? What if you edit a file insideAnonymous
October 27, 2007
What the difference is between the "Refresh" button in "Solution Explorer" and the