This was the error that I was getting when i was trying to deploy our database project to one of our test system in a batch script. To me it was a bit surprise because I had done same process many times in past and it has worked just fine. But today I spent hefty amount of time to resolve this issue. Whole error that I was getting was something like below,
—— Deploy started: Project: Database, Configuration: Debug Any CPU ——
C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.TSqlTasks.targets(120,5): Error Deploy01234: The target database schema provider could not be determined. Deployment cannot continue.
Done executing task “SqlDeployTask” — FAILED.
Done building target “DspDeploy” in project “TheDatabase.dbproj” — FAILED.
Done executing task “CallTarget” — FAILED.
Done building target “DBDeploy” in project “TheDatabase.dbproj” — FAILED.
Done building project “TheDatabase.dbproj” — FAILED.
First I googled this issue and I found that it is rather common issue and is mostly due to incorrect login or some wrong connection string or something like that. So I checked my connection string multiple times but I didn’t find anything wrong.
After spending few hours in this struggle to deploy database, I kind of did an accidental discovery… I was trying to deploy my project on SQL Server 2012 instance and it was failing … so I tried to deploy it on my local instance of SQL Server 2008R2 … and with my surprise it worked !!
So I think the issue could be … my project was built using standard database projects not using SSDT … and may be because of that it can’t be deployed on SQL Server 2012 !!
I wonder if that is the case … and if that is the case then it is really weird that MSFT simply didn’t make their not so old products forward compatible !!
That’s it for now..
It’s Just A Thought …