3.8.3 PowerShell
2018-07-07 10:16 笑一笑十年少!!! 阅读(269) 评论(0) 编辑 收藏 举报3.8.3 PowerShell
PowerShell是为系统管理员设计的一个新型命令行外壳工具。它既是个交互式控制台, 又是个脚本界面,可用于自动化许多常见的管理任 务 。有 关 PowerShell的全面介绍超出了
本书范围,但本节会概述如何将PowerShell用于SQL Server管理。
PowerShell 是围绕 Microsoft .NET 公共语言运行时(Common Language Runtime, CLR)
和.NET Framework设计的。它通过一 系 列 cmdlet展示.NET对象,cmdlet是与对象交互的
单功能命令。cmdlet的格式为“动词•名词”结构,并用连字符分隔,如 Get-Process可返
回一个当前运行进程的列表。PowerShell的另一好处是,cmdlet可以管道化。例如,可以 调用一个命令来检索信息,然后在同一行使用管道符(|)调用另一个执行操作或控制第一个
命令结果的格式和输出的命令。可以将几个命令管道化为一个函数。PowerShell可安装在
Windows XP SP2、Windows Vista、Windows Server 2003 上,Windows Server 2008 中内置
了这个实用工具。
SQL Server 2008支持将PowerShell用于SQL管理,事实上,如果系统中未安装它, SQL Server安装程序将会安装该实用工具。SQL Server管理员可使用PowerShell管理运行
SQL Server 2008、SQL Server 2005 甚至 SQL Server 2000 SP4 的任何 SQL Server,尽 管 功 能
可能受 限 。
SQL Server 2008还包含一个名为sqlps的功能有限的外壳。sqlps工具自动提供对SQL
Server对象和cmdlet的访问,但被配置为用“受限制”的执行策略运行,这将阻止PowerShell 脚本运行。如果有必要,可对此做出更改。
更好的方式是从标准的PowerShell环境访问SQL Server对象,此时可创建一个包括 SQL Server管 理 单 元 的 PowerShell控制 台 。下面的例子将演示如何创 建 一 个名为
MySQLPS.pscl的、带有SQL Server管理单元的新PowerShell控制台。在本例中,通过“开
始”菜单中的“运行”命令调用PowerShello
使 用 PowerShell输出数据
本例将使用PowerShell来调用 一 个 SQLCMD命令。
(1) 在 “对象资源管理器”中 ,选 择 “服务器”丨“数据 库 ” |AdventureWorks2008选项。
(2) 右 击 AdventureWorks2008数 据库,选 择 “启 动 PowerShell” 命令(如图3-44所示)。
(3 )在 PowerShell外壳中输入下列命令:
(4 )导航至C:\OutFiles,双 击 ToplOEmps.html文件。在 IE 中,将看到图3-45所示的
HTML格式的输出。
现在您只是粗浅地了解了 PowerShell的功能,但 由 于 PowerShell可以使用整个
SMO(SQL Management Object, SQL管理对象)集合都被提供给PowerShell,因此通过自动
化和脚本化许多常用的进程,可使SQL Server和其数据库的管理变得更为容易。
3 . 9 小结
本章介绍了数据库管理员所使用的一些基本工具。有些工具只是简要提及,因为经常
使用它们的并不是数据库管理员,而是应用程序或商业智能幵发人员。现在您应该已经对
数据库管理员可以使用的工具有了比较深入的了解,并知道如何定制这些工具以满足自己
的需求。
最突出的工具是 SQL Server Management Studio(SSMS)。SQL Server 2008 的 SSMS 包 括了许多优秀的新功能,如 T-SQLIntelliSense、PowerShell集成和扩展工具集。不过,DBA
也应熟悉 BIDS(Business Intelligence Development Studio)和 SQL Server 配置管理器。
在本书中,您将使用本章中描述的工具构建和管理SQL Server 2008数据库。对这些工 具有一个扎实的了解可使执行这些任务更容易。
第 4 章将介绍SQL Server如何物理和逻辑存储数据。该章介紹了数据和日志文件的物 理体系结构,还有SQL Server如何管理这些文件。由于磁盘I/O通常是SQL环境中最慢的 部分,因此了解SQLServer如何存储和访问数据对于维护稳固的基础设施十分关键。