SQL Server PowerShell 扩展

  • Jonathan Allen
  • 张海龙

2008 年 7 月 3 日

话题:.NETDevOps语言 & 开发

PowserShell 极有可能在接下来的几年内成为 Windows 管理员最重要的语言,越来越多的微软服务器产品加入了对 PowserShell 的支持,如 SQL Server 就是最好的例子。

Michiel Wories 列举了计划中第一版的关键特性:

  • SQLPS —— 一个小型外壳,提供了完整的预先配置好的 PowerShell,并且已预载入了所有针对 SQL Server 的扩展
  • 与 SQL Server Agent 的集成 —— 一个新的针对 PowerShell 的子任务系统
  • 与 SQL Server Management Studio 的集成 —— 在 Object Explorer 的可用节点上提供上下文菜单支持(复用了当前连接信息,包括 SQL 安全信息)
  • 四个新的提供者 —— 新的 SQL Server Relational Engine、Registered Servers、Data Collection 和 SQL Server Policy Management 提供者
  • 与 SQLCMD 的集成 —— 在 PowserShell 中支持 SQLCMD 兼容脚本的执行(复用了 SQL Server 的当前连接信息,甚至包括当前提供者的数据库环境)
  • 与 SQL Server Policy Management 的集成 —— 允许评估任何策略
  • 丰富的 cmdlets —— 支持不同的提供者,比如将 SMO Urn 转换为一个 PowerShell 路径,对 SQL 标识的编、解码等
  • 可再发布的 SQL Server PowerShell —— 允许你与应用程序一起或是在任何需要它的机器上安装 SQL Server Powershell(因为这一特性还在构建中,所以也许要晚一些才能发布,也可能全部被砍掉也不一定——没有的话也别怪我:-p)
  • 前面提到的 SQLPS 将会替代古老的 SQLCMD。SQLPS 是一个已经为特定目的预先配置好的 PowerShell 实例。尽管 SQLPS 拥有 SQL pre-loaded 所拥有的一切,但它不支持从其它嵌入式管理单元(Snap-ins)中进行加载,这就是替换的代价,但这一限制将来会去掉。

作为 SQLPS 的备选方案,管理员也可以使用普通的 PowserShell 实例。但如果这样的话,他们就不得不通过手工或者初始化脚本来装载扩展。这里 Michiel 提供的一个示例初始化脚本

查看英文原文SQL Server PowerShell Extensions
.NETDevOps语言 & 开发