Update target button is disabled after schema comparison

两盒软妹~` 提交于 2019-12-17 18:46:24

问题


I have created database project using VS 2012. Once the schema comparison is done, the update target button should be enabled to sync with target.

But it's not getting enabled. Any help plz.

I'm using VS 2012 with sp 3, SQL Server 2012,


回答1:


Check in Error List if you have any error, I have a non recognized word in VS (but it does in SQL Server), I commented it out, re-compared and it was enabled successfully.




回答2:


See if you have a "warning" message stating "Cannot generate deployment plan due to an internal error". If so, the Update and Generate Script buttons will be disabled.

Close Visual Studio, navigate to the folder containing the Database project and remove all (*.dbmdl) files. Then restart Visual Studio, re-run the compare schema at which point the Update button should be enabled.




回答3:


Workaround:

In my case. Fixing Error was not priority task. Also i was not able to find any Error in Error List.

Its just you dont have to use your "Visual Studio Database Project" in source or target. Instead of using project, create a temp DataBase using script already with you.

Select this (or these) temp database(s) in source and (or) other in target.

Button must be Enabled.

For me getting difference was far more important than fixing the issue. Hope it helps you. With some more improvisation.




回答4:


It seems your database project has sqlcmd variables without default values.

See: http://www.andrewburrow.net/vs2012-schema-compare-buttons-disabled/

Hope this helps.




回答5:


the everytime you open the "options" on "schema comparison" you must click on "compare" button again to activate the "update" button. However if it doesn't work at the first time, just close and reopen the Schema comparison file again.




回答6:


For me, there were no errors visible in the Error List. This was because I had the "Show Issues Generated" drop down was set to "Build Only"; changing it to "Build + IntelliSense" allowed me to see the SQL errors that needed to be fixed to enable the Generate Script and Update buttons.




回答7:


In SSDT I had the case where the update button was enabled but the generate script was not enabled. This was because my destination schema was my local solution (the *.sqlproj vs project).

It took a few minutes to dawn on me that the destination needed to be a real database to correctly generate the script.




回答8:


And after all, when you have the available Update Target button and the disabled Generate Script button.

See if your source is a database and your target is your SSDT project.

If so then click "Switch source and target" button.

The Generate Script button will become available.
I.e. a SSDT project must be the source and a database must be the target in the Schema Compare window.




回答9:


I couldn't see any errors in Error List, but I could see the errors in the Output tab




回答10:


Workaround 2:

In my case, the Update button was greyed out because of there were errors warnings about a view that I created and added to the project earlier. The problem was that the view was scripted to use full database qualified object naming. E.g. [databasename].[schemaname].[objectname], which works fine in SSMS, but causes a problem when it is checked in a DB Project. If you use three part naming for referring an object in same DB project results in a error/warning in Visual Studio.

By changing the code to [schemaname].[objectname] in the definicion of the view removed the error warnings and enable the Update option. Happy days!

Credits: https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/3577074-allow-three-part-naming-for-referring-a-db-object

https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/17396128-keep-update-and-generate-update-script-buttons




回答11:


Typically the update button is grayed out when the database objects are available in the separate sql files physically inside the database project but are not included in the database project itself. I simply added those sql scripts into the project and the update button got enabled after comparing the schema.



来源:https://stackoverflow.com/questions/17742638/update-target-button-is-disabled-after-schema-comparison

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!