SQL Server Data Tools 2012让数据库开发更容易

日期: 2013-10-22 作者:Robert Sheldon翻译:Ranma 来源:TechTarget中国 英文

SQL Server 2012中的一项新功能已经引起了很多反响——SQL Server Data Tools 2012是对Visual Studio 2010中的一系列数据库和商务智能开发工具的整合。类似于之前SQL Server版本中的Business Intelligence Development Studio(BIDS商务智能开发平台),SQL Server Data Tools(SSDT)2012提供了创建分析服务,报告服务和集成服务项目所必需的模板和组件。但SSDT 2012还添加了一些其他组件,它可以开发SQL Server数据库项目而且可以执行一般只在SQL Server Management Studio(SQL Server管理平台SSMS)中才有的任务,例如编辑数据,更新数据库对象,执行查询以及执行轻型管理。

SQL Server Data Tools 2012中令人困惑的地方

尽管有着一个如此全面的工具集,SQL Server Data Tools 2012还是经历了一个坎坷的开始,主要是由于对于SSDT究竟意味着什么,你向不同人提问,会得到不同的答案。已经安装了SSDT的数据库开发人员在SQL Server 2012的安装过程中肯定见过BIDS的替代品。另一方面,对于开发人员来说,当它们从网上下载(这是免费的)SSDT时,会看到它是作为Visual Studio的插件来取代数据库开发工具Data Dude的。而导致困惑的地方部分来自于这样一个情况,即当SSDT首次安装时,它会包含BI开发工具或是数据库开发工具,但是从来不会两个都包含。

我们来看下SSDT,它是SQL Server安装的一部分。当你首次打开应用程序时,你会看到一个与图1所示类似的界面。如果你已经用SSDT创建了开发项目,它们会列在Recent Projects(最近项目)区域。你也可能在以前就已经打开了一个或是多个窗口,所以它们也同样会被显示。即便如此,你的界面应该与图示中颇为相似。正如你所看到的,其他的都是“Getting Started(开始)”中的标准内容。

图1. 首次启动SQL Server Data Tools 2012时的开始页面

当你创建一个新项目时,有趣的事儿就发生了。要创建新项目,就要点击New Project(新项目)链接。这会启动新项目对话框,如图2所示。注意到在Installed Templates(已安装模板)栏中,列出的第一类是Business Intelligence(商务智能)。当这个被选中,如图示中一样,中间栏就会显示一列BI开发可用的主要模板,例如Integration Services Project (集成服务项目)和Analysis Services Tabular Project(分析服务列表项目)。

图2. SQL Server Data Tools 2012支持大量BI开发模板

如果你想扩展Business Intelligence结点,你会发现一系列BI项目类型:Analysis Services(分析服务),Integrations Services(集成服务)和Reporting Services(报告服务)。对于每种类型,你会发现针对此类型可用的一系列完整模板,如图3所示。例如,图中选中了Analysis Services类型,并且正如所期待的那样,中间栏会显示特定于Analysis Services开发的一系列模板。

图3. SSDT包含针对SSAS开发的大量模板。

目前为止一切还好。但是要注意在Installed Templates栏列有另一个结点 – SQL Server – 你是不会在BIDS见到它的。如果你选择此结点,如图4中所示,你会在中间栏看到一个单独的条目:Microsoft SQL Server Data Tools(Web Install)。没错:数据库开发组件是不包含在内的。相反,你必须点击此选项,然后按照在线提示来安装这些工具。

图4. SQL Server 类别包含一个下载数据库工具的指示。

一旦你安装了数据库工具,你就必须重启SSDT。当你这样做的时候,就会被提示选择你的主要开发环境,例如数据库开发,BI开发或是一种编程语言。然而,一旦你到了这一步,就已经做好了开发一个数据库项目的准备。如图5所示,在工具安装好后,SQL Server结点可用选项会得以更新,因此就不会再有Web安装的条目。你现在应该有了要在SSDT中进行BI和数据库开发所需要的一切。

图5. SQL Server Database Project模板安装后的SQL Server Data Tools 2012

当然,你在这里已看到的是一个以SQL Server为中心的视角。应用程序开发人员会有非常不一样的体验。他们在大多数情况下会直接去MSDN网址检索数据库开发工具。如果他们已经在运行Visual Studio,这些工具就已经安装到了现有环境。如果不是这样的话,Visual Studio shell和数据库工具就会得以安装。

如果你通过这种方式安装SSDT,然后想要安装BI开发工具的话,你就必须返回到SQL Server 2012安装程序并安装SSDT功能。安装程序足够智能,可以检测已经安装的SSDT数据库工具并只会添加BI工具。

SQL Server Data Tools 2012 BI工具

SSDT中的商务智能开发与你在BIDS中用过的是类似的。可见的差异表现在SQL Server 2012 BI栈添加了新功能,例如Analysis Services表格项目,或是更新已经调整过的界面组件以使开发更为容易,例如Integration Services组件运行时的显示方式。图6展示了SQL Server Integration Services(SQL Server 集成服务SSIS)项目的控制流。请注意,你从SSIS Toolbox窗口选择控制流组件,在Control Flow(控制流)选项卡的设计面板使用这些组件,并在Solution Explorer(解决方案资源管理器)窗口查看解决方案和项目的详细信息。

图6. SQL Server Data Tools 2012中的BI工具可以让你开发一个SSIS解决方案。

如果你熟悉BIDS,那么在适应SSDT的BI开发时应该不会有太大问题。从概念上讲,几乎是没有什么变化的。如果你尚不熟悉BIDS,那么学习SSDT的过程将会与学习BIDS是一样的 – 在这种情况下你会想要通过SQL Server Books Online(SQL Server联机丛书)和其他资源挖掘入门的详细信息。

SSDT数据库工具

对于那些主要依赖于SSMS数据库开发的SQL Server开发者来说,SSDT提供了一个非常不同的视角。SSDT支持面向工程的离线开发,这意味着你可以在不触及生产数据库的情况下创建,删除和更新数据库工程直到你做好准备。尽管你仍可以直接对数据库做出变更,但基于工程的离线开发会提供一个有效而安全的机制用于数据库开发。并且你可以对从2005版本以来的所有SQL Server版本开发工程,还包括Windows Azure SQL数据库。

为了更好的了解SSDT工具中所蕴含的巨大威力,我们来看一些SSDT数据库开发功能。但是首先,要说明这些功能,我们需要在一个可用的SQL Server实例上创建一个测试数据库和表。对此,这些例子都是基于以下数据库和表定义的:

use master;

go

create database DbTest;

go

use DbTest;

go

create table TestTable

(

ColA int primary key,

ColB varchar (60) not null,

ColC datetime not null default getdate()

);

go

当你创建一个SQL Server工程的时候,SSDT会显示一个与图7所示相似的窗口。在这种情况下,SQL Server Object Explorer(SQL Server对象资源管理器)和Solution Explorer(解决方案资源管理器)都是打开的,每个都会显示此新工程(在此例中是DbTest2)。在SSMS中The SQL Server Object Explorer 窗口与Object Explorer窗口是相似的,会根据显示和层级顺序(与一些服务器对象相同)来提供对数据库和它们对象的访问。然而,此窗口还会显示你的数据库工程以及与此工程相关的其他工程。

图7. Solution Explorer和SQL Server Object Explorer中列有数据库工程。

SSDT中的Solution Explorer窗口是与BIDS中的Solution Explorer窗口和SSDT中的BI工具组件相似的。它提供了一个解决方案的层级视图,且其工程和工程文件每一个都是一个SQL脚本文件。并且由于SQL Server Object Explorer和Solution Explorer窗口显示一些相同的信息,所以你可以从任一窗口执行一些操作,例如访问表设计器工具。

假设现在我们想要修改DbTest模式,但不想涉及到在线数据库。则我们可以将此模式导入到我们的工程。为此,右击Solution Explorer 中的DbTest2结点,点击导入,点击数据库,然后根据提示导入数据库即可。一旦你已经导入了此模式,SQL Server Object Explorer和Solution Explorer会在表的列表中显示TestTable,如图8所示。

 

图8. 你可以在SQL Server Data Tools 2012将一个现有模式导入到一个数据库工程

SSDT还包含一个表设计器,可以让更新模式元素更加简单。右击SQL Server Object Explorer或Solution Explorer中的表,然后点击View Designer(视图设计器)。这样会在SSDT中打开一个表可以让你简便地修改字段,键,约束以及触发器,如图9所示。在此选项卡上,你可以在网格内,属性窗口或底部的T-SQL面板做变更,而且这些变更会自动映射到其他部分。

图9. SQL Server Data Tools 2012为更新数据库表提供了一个设计视图。

例如,我们给网格添加一个名为CoID的字段,给此字段分配bit数据类型并允许空值。正如你在图10中所见到的,当你做这些变更时,它们会自动映射到位于底部面板中的T-SQL代码里。

图10. 表更新会立即出现在T-SQL代码里。

然后你可以比较工程中的数据库模式和目标数据库的模式。在SQL Server Object Explorer或Solution Explorer中,右击DbTest2,点击Schema Compare(模式比较),然后选择目标数据库(在本例中是DbTest)。当你点击比较按钮的时候,SSDT会比较这两个模式并显示结果,如图11中所示。注意到我们在DbTest2中的TestTable所添加的字段会以黄色高亮显示,并且此字段在DbTest中会显示为丢失。

图11. SQL Server Data Tools 2012可以让你比较数据库模式

基于此对比,接着你可以立即更新目标数据库(DbTest)或生成一个脚本以供后面执行更新之用。另外一个选择是在你的目标SQL Server实例上创建DBTest2。为此,右键Solution Explorer 中的DbTest2,点击发布,然后按提示操作。你就会有机会立即发布新数据库或生成一个脚本以供后面运行之用。一旦你已经发布了新数据库,它就会映射到SQL Server Object Explorer,如图12所示。

图12. 你可以发布新数据库到一个SQL Server实例。

当然,这些例子只代表了SQL Server Data Tools 2012中数据库开发功能的一小部分。这些工具还支持智能提示,代码调试,搜索,以及大量其他用于开发和维护数据库的组件。添加这些到BI开发功能并且你会有一组工具可以满足你所有SQL Server数据库开发工作的需要。实际上,SQL Server数据库和BI开发从来都没有像如今它们包含有SSDT这样简单。尝试使用这些工具对你来说有百利而无一害,特别是如果你已经准备好采用新方法来进行数据库开发。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。