使用PowerShell功能改善SQL Server管理

日期: 2012-06-13 作者:Don Jones翻译:冯昀晖 来源:TechTarget中国 英文

SQL Server 2008是第一个支持PowerShell的SQL Server版本,但是它的功能还不完善。在SQL Server 2012中,微软公司已经构建了非常稳定的SQL Server,增加了对该产品所有组件支持,包括分析服务和集成服务,以及核心数据库引擎。对PowerShell的支持可能大部分DBA都不熟悉,本文就将对其进行详细的介绍。   首先,我们要明白只有一个shell;尽管微软产品团队热衷于给开始菜单中创建专门针对PowerShell产品的控制台图标,但是它们仍然是相同的shell。

那些产品的每个图标都只是PowerShell插件,在shell启动时应用,使你可以更快地启……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

SQL Server 2008是第一个支持PowerShell的SQL Server版本,但是它的功能还不完善。在SQL Server 2012中,微软公司已经构建了非常稳定的SQL Server,增加了对该产品所有组件支持,包括分析服务和集成服务,以及核心数据库引擎。对PowerShell的支持可能大部分DBA都不熟悉,本文就将对其进行详细的介绍。

  首先,我们要明白只有一个shell;尽管微软产品团队热衷于给开始菜单中创建专门针对PowerShell产品的控制台图标,但是它们仍然是相同的shell。那些产品的每个图标都只是PowerShell插件,在shell启动时应用,使你可以更快地启动和运行。DBA仍然可以使用任何shell实例中的“Add-PSSnapin”和“导入模块”来独立地加载产品的扩展插件。在某些情况下,那些专用产品图标可能会运行整个脚本,如果你想自己加载产品插件,你也应该运行这些脚本。

  其次,了解SQL Server使用混合方法来管理。当该产品的扩展插件添加命令(cmdlets)给PowerShell时,SQL Server PowerShell的许多功能以PSProviders的形式出现。本质上,PSProvider使得SQL Server看起来更像是一个大磁盘驱动器,像分析服务和数据库引起这些各种组件都像“文件夹”一样。配置设定以 “文件”形式展现,你需要使用专门的PowerShell命令集(比如:Set-ItemProperty 和 Get-ItemProperty)来操纵这些设定。在PowerShell中使用HKLM或者HKCU:驱动操作注册表是非常简单的事。为什么SQL Server团队不只提供cmdlets来实现所有功能呢?肯定有一些易于上手的因素考虑,但是SQL Server的动态特性使得它还存在有一定挑战。这个“大驱动器”可以应用到各种SQL Server配置和安装场景,而cmdlets的定位是更静态的场景。IIS团队做了相同的决策,提供了一系列cmdlets命令,并且依赖于PSProvider的动态适应性。在加载SQL Server扩展插件到shell之后,运行“Get-PSDrive”来查看你的SQL Server驱动器;换成使用传统的CD命令,然后开始体验吧。

  SQL Server确实有几个独特的约定。例如,它不会使用标准“`”(反勾号)字符作为转义字符来处理服务器和对象名称中的非法字符。相反,SQL Server团队选择使用了URL编码,这样空格就会变成“%20”。还有几个命令行编码解码功能,这样你就不需要记住无用字符的十六进制值了。

  要记住的最重要的事是什么呢?学会寻求帮助。社区网站PowerShell.com提供了SQL Server Q&A 专栏论坛;也有一些像StackOverflow.com和ServerFault.com这类网站,你可以在这些网站上了解到你的同行们遇到的棘手问题,从而获得帮助。遇到问题不要成天闷头研究,把问题简洁地妥善措辞贴出来,看是否有其他人可以帮助你解决。

  总之,不要忽视了PowerShell。当然,用Transact-SQL能做很多事,但是PowerShell是微软的发展方向,而且SQL Server团队已经把它相当广泛地集成到了产品中。DBA需要认真学习PowerShell,这对你未来的发展是有益的。

作者

Don Jones
Don Jones

投稿作者

相关推荐