Team System Developer Center >
Visual Studio Team System Forums
>
Visual Studio Database Development Tools (Formerly "Database Edition Forum")
>
database deployment
database deployment
I am able to deploy to the database on a different server in the same domain, but when deploy to a remote server in a different domain, got error:
Database2.dbschema(0,0)Error TSD01234: Plan verification encountered errors; deployment cannot continue.
Done executing task "SqlDeployTask" -- FAILED.
Done building target "DspDeploy" in project "Database2.dbproj" -- FAILED.
Done executing task "CallTarget" -- FAILED.
Done building target "DBDeploy" in project "Database2.dbproj" -- FAILED.
Done building project "Database2.dbproj" -- FAILED.Build FAILED.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
Please Help ! Thank you!
Answers
- It is only a problem if the element needs to be altered or droped in order to make the changes. Like lets say you have a foreign key in your target on column2 of table1, but the foreign key is not in your model. Now in your model you change column2 to column3. This means that the foreign key needs to be fixed, but since it not in your model we block because we dont know what you want to do.
This is just an example, there are many cases that would cause the plan verification error. Normally we would just leave the element alone, it just when we cannot make the nessicary changes to the database because of an unmodeled element that you will get the error.
There is a deployment option that will drop all elements that are not in your model. Its in the sqldepoyment file, "Generate DROP statements for objects that are in the target but that are not in the database project." There are also two specific ones: "DropConstraintsNotInSource," and "DropIndexesNotInSource."
Christian.
This posting is provided "AS IS" with no warranties, and confers no rights- Marked As Answer byEdwer FangMSFT, ModeratorTuesday, November 10, 2009 3:17 AM
- So there are many reasons that you would get a plan verification error. Common verification errors are caused by elements in your target server that are not in your model. Like if you had a foriegn key in the target that wasnt in your model. You should do a schema compare between the target and the database project and see what elements are in your target that are not in your project.
If you cannot find any differences, we can look at other reasons that might be happening.
Christian.
This posting is provided "AS IS" with no warranties, and confers no rights- Marked As Answer byEdwer FangMSFT, ModeratorTuesday, November 10, 2009 3:17 AM
All Replies
- So there are many reasons that you would get a plan verification error. Common verification errors are caused by elements in your target server that are not in your model. Like if you had a foriegn key in the target that wasnt in your model. You should do a schema compare between the target and the database project and see what elements are in your target that are not in your project.
If you cannot find any differences, we can look at other reasons that might be happening.
Christian.
This posting is provided "AS IS" with no warranties, and confers no rights- Marked As Answer byEdwer FangMSFT, ModeratorTuesday, November 10, 2009 3:17 AM
- Thank you. It got deployed after some differences are fixed.
All elements in the target database have to be in the model in order to get deployed? or just some certain elements. i.e. If I have that foriegn key in both target and model, but I remove that foriegn in the model and it won't be able to deploy? what about the foriegn were not in target and model, but I add it to the model, can i deploy the change to the target DB? - It is only a problem if the element needs to be altered or droped in order to make the changes. Like lets say you have a foreign key in your target on column2 of table1, but the foreign key is not in your model. Now in your model you change column2 to column3. This means that the foreign key needs to be fixed, but since it not in your model we block because we dont know what you want to do.
This is just an example, there are many cases that would cause the plan verification error. Normally we would just leave the element alone, it just when we cannot make the nessicary changes to the database because of an unmodeled element that you will get the error.
There is a deployment option that will drop all elements that are not in your model. Its in the sqldepoyment file, "Generate DROP statements for objects that are in the target but that are not in the database project." There are also two specific ones: "DropConstraintsNotInSource," and "DropIndexesNotInSource."
Christian.
This posting is provided "AS IS" with no warranties, and confers no rights- Marked As Answer byEdwer FangMSFT, ModeratorTuesday, November 10, 2009 3:17 AM
- Thank you. This helps.


