d. 我认为还有一个令人兴奋的特性——数据库的声明型升级。注意我的用词是“兴奋”。这2年来让我兴奋的软件技术不多,比如everything这个小工具软件让我兴奋,现在"声明型数据库升级"是第二个。所谓的“声明型升级”,就是说,我告诉工具,升级前数据库是什么样子,升级后的数据库是什么样子,然后中间需要做什么样的修改,由工具搞定。和声明型升级对应的是过程型升级——告诉工具,应该如何一步步的从现在的数据库变成新的数据库。我在2003年曾经考虑过这个声明型升级的做法,但是种种原因,没有做到。前面提到,因为比较复杂,专文说明。
e. 应用和代价
可以在需要数据库开发的项目中使用,不管是c/s,还是b/s,反正需要数据库开发的,都可以用。代价是现在的电脑恐怕很多需要换掉——vs2010吃内存,吃CPU周期啊。
f. 支持 Sql Server 2000 吗?
看起来:vs2010并不支持sql2000的工程模板,仅仅支持2005,2008。
直接改数据库为sql2000的,deploy会报错:说明需要一个对应版本的DatabaseSchemaProvider 。
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.TSqlTasks.targets(120,5): Error Deploy01234: The source database schema provider Sql100DatabaseSchemaProvider could not be translated to provider Sql80DatabaseSchemaProvider. Deployment cannot continue.
vs2008可以支持sql2000,但是仅仅作为sql的容器,而在vs2010才有了 Intellisense, build-time validation, automatic deployment 。