摘要: 简要介绍 Microsoft
SQL Server 2005 Management Studio
中可用的 T-SQL 开发工具。
本页内容
简介
Management Studio 是在 Microsoft SQL
Server 2005 Beta 2 中开发 Transact-SQL
查询的主要工具。下面的讨论将向您介绍
Management Studio Transact-SQL
编辑工具,重点介绍它的一些用于
Transact-SQL
开发的既有趣又引人注目的新功能。您还可以了解到
Management Studio 与 SQL Server 2000 Query
Analyzer
的区别(以及对后者的改进)。您应该已经熟练掌握如何启动和操作
SQL Server 2005 Management Studio,如何连接到一个
SQL Server 2005 实例,以及如何操作
Management Studio 中的各种窗口。
SQL Server 2005 Beta 2 Management Studio
还在不断改进,在 SQL Server 2005
最终发布之前,会出现新的功能,也会对一些功能进行更改。在下面的讨论中,提及的
Management Studio 都是指随 SQL Server
2005 Beta 2
安装的版本,而提及的查询分析器都是指随
SQL Server 2000 安装的版本。
Management Studio
中查询编辑的通用功能
Management Studio 集成了所有 SQL
Server
数据库产品中的查询编辑。当您通过
New Query 工具栏按钮或通过 File/New
Query
菜单启动新的查询时,您就立即会发现可以创建和编辑
SQL Server 查询、分析服务查询和
SQL Mobile 查询。当您使用 SQL Server
查询时,Management Studio 会调用
Transact-SQL
代码编辑器。当您使用分析服务器查询时,Management
Studio 会调用 MDX、DMX 和 XMLA
编辑器;当您使用 SQL Mobile
查询时,它会调用包含合适的
Transact-SQL
语言子集的特定代码编辑器。本文重点介绍使用
Management Studio 编辑 Transact-SQL
查询。
在重点介绍 Transact-SQL
查询之前,注意到与查询分析器相比
Management Studio
具有一些显著不同的通用功能是非常有用的。。Management
Studio
比较显著的一个功能是您现在可以在连接模式或断开连接模式下进行编辑:编辑查询不需要您连接到服务器。当您启动查询时,系统会提示您建立连接,但如果您拒绝也可以继续进行编辑。您甚至可以在编辑会话期间断开或更改连接,而不必保存和重新打开查询。这样,您就可以离线开发代码,或者在多个
SQL Server 上相继运行代码。
当您在连接模式下使用查询时,Management
Studio 会使用 SQL Native Client 连接到
SQL Server、分析服务器或 SQL Mobile。虽然
Management Studio 在很多方面类似于
Microsoft Visual Studio,但它是一个使用
Visual Studio
托管代码开发的独特工具。Management
Studio 支持创建和编辑 SQL Server、分析服务和
SQL Mobile 查询。您必须使用 Visual
Studio 开发 SQL CLR 代码。
您也可以在 Management Studio
中编辑纯文本文件。例如,如果您通过
File 菜单调用 Open
对话框,打开一个文本文件,则
Management Studio
不会提示您建立连接,而是打开一个纯文本编辑器。
管理 Transact-SQL 查询
在 Management Studio 中编辑
Transact-SQL
代码有两种基本方式。可以使用
Management Studio Object Explorer 中的
Assisted Editor 直接编辑数据库
Transact-SQL
代码对象(比如存储过程、触发器、视图和函数),也可以编辑保存为磁盘文件的
Transact-SQL 脚本。
直接编辑数据库代码
Management Studio 的 Object Explorer
是交互式编辑 Transact-SQL
代码的最好选择,在编辑
Transact-SQL
查询的时候,大多希望它一直可用,不管是停靠还是隐藏。您可以使用它从当前连接启动新的查询,而不必在
Connection Dialog
中填写连接信息,方法是下拉到用户数据库,右键单击数据库名称,并选择
New Query。
通过 Object Explorer,您也可以使用一个称为
Assisted Editor
的新工具交互式地直接编辑
Transact-SQL 代码。当您在 Object
Explorer 中下拉到 Programmability
节点并右键单击其中一个
Programmability
节点时,出现的弹出菜单中的 New
和 Modify 选项会调用合适的
Assisted Editor。Assisted Editor
也可以用于存储过程、函数、触发器和视图。例如,图
1 显示了使用 Assisted Editor 编辑
AdventureWorks
示例数据库中的存储过程。
图 1.
Assisted Editor
也可以用于直接编辑 Transact-SQL
代码对象。
如果您使用 Assisted Editor
更改数据库代码对象,则编辑时不需要使用磁盘文件,因此既不需要项目或解决方案,也不需要源代码控制。Assisted
Editor 控制 Transact-SQL
代码对象的头部,并根据您的输入创建和修正头部。然后,您可以使用
Management Studio Transact-SQL
代码编辑器自由地编辑代码对象体。
注
如果将注释或特殊格式放在
Transact-SQL
代码对象的头部中,当操作导致
Assisted Editor 重新编写该行时,Assisted
Editor 会将它们删除。Management
Studio
会对您提出警告,并为您提供在查询窗口中编辑代码对象的选项,这样就可以保存这些注释。
当您使用 Object Explorer 在 Assisted
Editor 中创建新的 Transact-SQL
代码对象或修改现有的 Transact-SQL
代码对象时,您会在 Management
Studio 菜单栏中看见一个新的 Assisted
Editor 菜单。通过 Assisted
Editor
菜单,您可以设置对象的权限,创建或修改对象的扩展属性,编写
Assisted Editor
操作脚本,以及安排对象的创建或更改。
通过 Assisted Editor 中新的 Extended
Properties
页,您可以输入长文本描述。当
Extended Properties
页处于活动状态时,单击 Value
文本框右边的 browse
按钮,会出现一个新的数据输入对话框来让您输入长描述。
请记住,使用 Assisted Editor
编辑数据库代码对象是直接且交互式的。当您保存在其中所做的更改时,它们就会立即应用到数据库中。Management
Studio
也提供基于文件的编辑工具,您可以通过它开发属于更改-控制操作的
Transact-SQL 代码对象。
脚本文件编辑
除了交互式编辑外,Management
Studio
还允许您单独编辑来自磁盘或通过
SQL Server 解决方案和项目的
Transact-SQL
脚本文件。与查询分析器一样,您可以创建和更改单个脚本文件,以及将新查询保存为隔离的脚本文件。还有一处与查询分析器一样,您可以在编辑前将这些单个文件签出源代码控制系统,完成后再将它们重新签入。Management
Studio 的一个新功能是您可以将
Transact-SQL
脚本文件组织到解决方案和项目中,并将这些解决方案和项目与源代码控制相集成。
Management Studio
解决方案将多个项目组织成单个工作单位。创建的每个项目只与一种查询类型相关联:SQL
Server、分析服务或 SQL Mobile;而每个解决方案至少要有一个项目。在特定的项目中,可以存储的项包括连接信息、查询脚本文件和各种各样的文件。
注 Management Studio
解决方案和项目与 Visual Studio
解决方案和项目相似但不兼容。
甚至当您在项目外建立新的 SQL
Server 查询时,Management Studio
也会启动一个新的没有项目的默认解决方案,称为“Solution1”。如果您不添加项目,Management
Studio
仍然会询问您是否保存该解决方案
Management Studio。然而,创建新解决方案的最好方式是从创建新的项目开始。只需在
File 菜单中选择 New,然后选择
Project。这样会弹出一个对话框,让您选择新项目的类型、名称和解决方案名称。如果您想在一个解决方案中包含多个项目,请确保解决方案的名称与项目名称不一样,如图
2 所示。
图 2.
当创建新的项目时,可以命名新的解决方案,也可以指定一个自定义目录。
请注意,一次只能有一个解决方案,但任何特定的解决方案可以包含多个任意项目类型的项目。有关解决方案和项目的更多信息,请参见
SQL Server 2005 Beta 2 Books Online 中的“Introduction
to Solutions, Projects, and Items”。
如果您的源代码控制系统为您提供了一个插件,则
Management Studio
将解决方案和项目与源代码控制系统相集成。然后,您可以通过
Tools 菜单中的 Options
对话框配置源代码控制系统。选择树中的
Source Control/Plug-in Selection
节点显示了可以指定当前源代码控制插件的对话框。一旦您设置了与源代码控制的集成,您就可以将
SQL Server
解决方案添加到源代码系统中,再将它签出。当您通过
Solution Explorer 创建新的 SQL Server
查询时,有一个 Pending Checkins
对话框会帮助您确定签入哪些文件。
例如,如果您在机器上安装了
Microsoft Visual SourceSafe 6.0
客户端组件,SQL Server 2005 Management
Studio 会自动检测到 VSS
插件可用。正如前面所提到的,您可以在
Tools/Option
对话框中查找列出的 VSS
插件,方法是选择 Source Control,然后选择
Plug-in Selection 节点。另外,File
下拉菜单中的 Source Control
选项也已激活,可以通过它将现有的
Management Studio
解决方案添加到源代码控制中,或者直接从源代码控制打开一个
Management Studio。您可以启用多个源代码控制系统,并且将其从一个更改为另一个。
支持工具
除了这些编辑策略外,还有大量支持编辑
Transact-SQL 和其他代码的 Management
Studio 工具。
例如,您可以使用可通过
Management Studio Template Explorer
窗口访问的 Query Templates
迅速启动 SQL Server 查询。Template
Explorer 允许您为所有类型的 SQL
Server 查询(而不只是 Transact-SQL
查询)使用、修改和添加自己的模板。Template
Explorer SQL Server 模板与 SQL Server
2000
模板兼容,二者使用相同类型的参数替换标记。
如果您在运行查询时单击 SQLCMD
按钮,则还可以使用 Management
Studio Transact-SQL 编辑器运行和调试
SQLCMD 查询。接下来 Management Studio
在执行 Transact-SQL
命令的同时也会识别和执行 SQLCMD
的特定命令。
注 SQL Server 2005 Beta 2
不支持通过 Management Studio 调试
Transact-SQL 代码。您必须使用 Visual
Studio 2005 单步调试 Transact-SQL
代码。
使用 Transact-SQL 代码编辑器
大多数情况下,在 SQL Server 2005
Management Studio 中编辑 Transact-SQL
代码与在 SQL Server 2000 Query Analyzer
中编辑非常相似,但您会注意到它在创作体验上做了大量增强。
编辑功能
当您在 Management Studio 中编辑
Transact-SQL
代码时,您会看到大致相同的颜色语法突出显示和编辑选项,这是您在
SQL Server 2000 Query Analyzer
中非常熟悉的。另外,除了撤消编辑外,还可以重复编辑。您还有一个增强的查找和替换对话框,它允许您根据正则表达式或通配符搜索,以及跨文件搜索和替换。
注 Beta 2 中的 Management
Studio
没有一个与查询分析器的对象搜索对话框相对应的工具。
Management Studio Edit
菜单中的其他编辑选项还包括制表符替换空格和空格替换制表符选项(将制表符转换成空格或反向转换),以及删除水平空白的能力。新的选项还包括打开/关闭切换自动换行的能力和切换是否使用自动换行标志符号的能力。您可以在
Tools/Options/Text Editor/All languages
对话框中配置自动换行。
键盘快捷键
您可以使用默认的 Standard
工具栏上的按钮注释和取消注释,缩进和取消缩进文本。然而,Management
Studio 用于注释和取消注释
Transact-SQL
代码的标准键盘快捷键有所更改:Management
Studio 不是使用 CTRL+SHIFT+C
来注释,使用 CTRL+SHIFT+R
来取消注释,而是默认使用 CTRL+K
再用 CTRL+C 来注释,使用 CTRL+K
再用 CTRL+U 来取消注释。只需按住
CTRL 键加 C,在不释放 CTRL
键的条件下又按下 K
即可注释代码。(请参见 SQL Server
2005 Beta 2 Books Online 中的“SQL Server
Management Studio 键盘快捷键”。)
注 您可以在 Tools/Options/Environment/Keyboard
对话框中将 Management Studio
键盘快捷键方案从 Standard 更改为
SQL Server 2000。Beta 2 Management Studio
不允许您自定义键盘快捷键。
窗口管理
在 Management Studio
中,您可以选择两种风格的查询编辑窗口:选项卡式或
MDI
文档。默认设置是选项卡式窗口,您可以通过选择选项卡来选择任何打开的查询窗口。您可以在
Tools/Options 对话框中,在 Environment
对话框中将窗口布局更改为 MDI
窗口。当您这样做时,Management
Studio
会自动重启,但会保存您的所有连接和打开的窗口。
注 因为 Management Studio
有许多窗口可用,所以您可能会发现使用
SHIFT+ALT+ENTER
键盘快捷键来使查询编辑窗口全屏化会很方便,您也可以通过
View
菜单来实现全屏化。如果您想将窗口重置为默认设置,可以单击
Window 菜单中的 Reset Window
Layout 选项。
您可以查看垂直或水平平铺的查询窗口,方法是右键单击一个查询窗口的选项卡,选择
New Horizontal Tab Group 或 New
Vertical Tab Group。完成这一步之后,可以使用
ALT+SHIFT+ENTER
键盘快捷键来使查询窗口最大化,以获得平铺效果。图
3 显示了两个使用 Vertical Tab
Group 来并排平铺并使用
SHIFT+ALT+ENTER
命令来最大化的查询窗口。
图 3.
可以右键单击查询选项卡并选择
New Horizontal/Vertical Tab Group
来对齐两个或多个查询窗口,并使用
SHIFT+ALT+ENTER 来使窗口最大化。
使用查询结果
除了使用 Query 工具栏中的
Execute
按钮执行查询外,还可以使用 F5、ALT+X
或 CTRL+E。同样,可以将结果定向到文本、网格或文件。当您将结果定向到网格时,可以使查询结果在独立的选项卡窗口中显示,还可以使用
Tools 菜单下的 Options
对话框使这一更改应用到下一个打开的查询窗口。在该对话框的树状视图中,下拉至
Query Results、SQL Server 和
Results to Grid。然后选中“Display
results in a separate tab”。
这里有一些局限性,表明这个版本还有待改进。在
Management Studio Beta 2 中,不能将基于文本
的结果显示在独立的选项卡式窗口中。当您在独立的选项卡式窗口中显示基于网格的结果时,选项卡会出现在窗口的底部,当前还无法将其置于窗口顶部。
虽然在 Management Studio
中不像查询分析器那样有一个与将结果窗口切换为打开或关闭相关联的工具栏图标,但
CTRL+R
命令还是可以起到相同的作用。您还可以使用
Window 菜单中的 Hide/Show
Results Pane 选项,以及使用 Tools
菜单中的 Customize 选项,在 Query
工具栏中添加一个具有相同选项的按钮。
分析查询
Management Studio
添加了新的功能来支持查询分析。除了熟悉的图形和文本形式的
showplan 输出,您还可以将 showplan
输出定向到 XML。Database Tuning
Advisor
取代了索引优化向导,而客户端统计则增加了两个新功能。
图形查询计划
与在查询分析器中一样,可以使用
Standard
工具栏中的按钮,以及单击 Query
菜单中的选项直观地检查估计的和实际的查询设计。您会注意到
Management Studio
显示了一组修正过的用于分析查询计划的图标。特别地,运算符显示为蓝色,光标物理操作显示为黄色,而语言元素显示为绿色。虽然查找相关对象(表或索引)还需要访问特定节点的
Properties
页,但是在图形查询计划中的每个节点顶部都以不同颜色显示的方式使得操作信息的显示更加清楚。(要获得图形查询计划图标的完整列表,请参见
Beta 2 Books Online 中的“Graphically
Displaying the Execution Plan Using SQL
Server Management Studio”。)
注
可以使用图形查询计划窗口右下角的
+
符号来放大查询计划。您还可以将
showplan 输出定向到 XML。如果您调用命令
SET SHOWPLAN_XML ON
并执行结果发送到网格的查询,则结果集会包含
XML showplan,将其作为一个 XML
文档,通过只有一行一列的表返回。然后,您可以单击单元格内容中的内部链接,在
Management Studio XML 编辑器中查看 XML
showplan。当将结果发送到文本时,输出也一样,但从网格打开会导致单元格调用
XML 编辑器。
注 Management Studio Beta 2
不支持将图形查询计划作为 XML
文档导出,或者将 XML
文档导入图形查询设计显示中。
Database Tuning Advisor
SQL Server 2005 Database Tuning Advisor
取代了旧式索引优化向导,对于选定的查询,可以通过
Query 菜单调用它,或者使用
CTRL+I
键盘快捷键。(可以直接通过 Tools
菜单调用 Database Tuning Advisor。)
客户端统计
客户端统计可以确定网络和客户端组件占据查询总响应时间的比例。Management
Studio 支持通过 SQL
编辑工具栏收集客户端统计,也支持通过
Query 菜单收集。SQL Server 2005
Beta 2 Management Studio
中的客户端统计为您提供了重置客户端和显示试验运行结果平均值的选项,从而使您对客户端统计有更多的控制。您可以使用
Shift+Alt+S
来启动客户端统计,或者从 Query
菜单选择相同的选项,通过它可以重置客户端统计。在输出中会列出每个试验结果和所有试验的平均结果。在时间统计中还增加了一个新的客户端统计
— 总执行时间。
配置Management Studio来进行Transact-SQL编辑
Management Studio
有三个主要的配置选项对
Transact-SQL 查询编辑有影响。
Tools/Options 对话框
大多数 Management Studio
配置选项都可以从 Tools
菜单的 Options
对话框中找到。这个对话框成为
Management Studio
的所有查询编辑默认选项的集中场所。当您更改一个与
SQL Server
查询相关的选项时,所做的更改会作用于所有后续查询的默认设置,如同查询分析器。然而,配置更改何时起作用却不固定。有些选项会根据您想配置的查询类型(Transact-SQL、分析服务、SQL
Mobile
等)而有所变化。有时更改会立即应用于所有查询窗口,有时只应用于后续窗口,有时
Management Studio
必须重启才能应用更改。
注 Management Studio
并不提供从 Tools
菜单管理表索引或表统计的能力。这些操作已经移动到
Object Explorer:只需在 Object Explorer
中下拉到要查看的表的 Indexes
或 Statistics 节点。
并非 Tool/Options
对话框中的所有可用选项在 Beta 2
中都是活动的。例如,在 Text
Editor/All Languages/Tabs
对话框中,您可以选择无缩进、块缩进和智能缩进。而在
Beta 2 中,SQL Server
查询实现了块缩进,但没有实现智能缩进。
在 Tools/All Languages/General
对话框中,可以注意到一些用于
Statement Completion
的选项。这些选项会影响
IntelliSense
的行为。这里还可以让您指定自动换行选项以及允许在
SQL 查询中单击 URL 导航。
注 在SQL Server 2005 Beta 2
中,IntelliSense 对 SQL Server
查询不是活动的,而对 XML 和 MDX
编辑器是活动的。(您可以在 Options
对话框树的 Text Editor/XML
节点中进一步配置 XML 编辑。)
自定义工具栏
在 Management Studio 中,从 Tools
菜单选择 Customize
选项可以调用 Customize
对话框,它允许您自定义工具栏外观。例如,如果您想拥有一个切换结果面板的工具栏按钮,可以在
Customize 窗口的 Commands
选项卡中,选择 Window
类别,并向下滚动至 Show Results
Pane
命令。选中它,将它拖到所期望工具栏的位置上。
注 Beta 2 Management Studio
还没有自定义键盘快捷键的机制。作为替代,您可以在
Standard Management Studio
键盘快捷键方案和 SQL Server 2000
快捷键方案之间选择。
Query Options
您可以调用 Query Options
对话框来为当前查询窗口设置某些选项,可以从
Query 菜单调用,或者使用
CTRL+SHIFT+O 键盘快捷键,或者单击 Query
工具栏中的 Query Options
按钮。Query Options
对话框可以让您设置查询执行和结果显示的选项,但只能对查询窗口设置。可用的选项是
Tools/Options
对话框中选项的一个子集:Execution
选项与 Tools/Options/Query
Execution/SQL Server
中的选项一样,而 Results
选项与 Query Results/SQL Server
对话框中的选项一样。不同之处是当您在
Query Options
对话框中设置选项时,您只能对当前查询窗口起作用。
小结
SQL Server 2005 Beta 2 Management Studio
提供了一些用于开发 Transact-SQL
查询的引人注目的增强。特别是,在连接到物理
SQL Server
时不需要进行编辑,以及可以在同一个编辑会话中连接、断开连接或更改连接。也许最重要的增强是将
Transact-SQL
脚本文件组织到解决方案和项目以及将这些解决方案与源代码控制系统相集成的能力。Management
Studio
与查询分析器十分类似,您会发现它很容易入门,但它也为您提供了重要的新帮助来帮助您编辑
Transact-SQL 代码。 |