【问题标题】:Should a data warehouse developer know Powershell scripting?数据仓库开发人员应该了解 Powershell 脚本吗?
【发布时间】:2011-02-16 10:20:24
【问题描述】:
我是一名 SQL Server(2005 和 2008)数据仓库开发人员(SSIS、SSAS、SSRS、SQL),我想知道是否值得花时间和精力来学习 Powershell 脚本。从开发的角度来看,是否有适用的用途?我了解到,从 DBA 的角度来看,Powershell 具有相当大的管理功能 - 这些功能是否会转化为对开发人员有用的命令?
谢谢!
【问题讨论】:
标签:
sql-server
sql-server-2005
sql-server-2008
powershell
【解决方案1】:
我认为,无论您的 IT 专业领域是什么,您可以添加到工具箱中的任何工具都是有益的。
【解决方案2】:
虽然在您的武器库中拥有更多武器通常是一件好事,但从 DW/SQL 开发人员的角度来看,Powershell 对除了一些维护任务之外特别有用的东西并不多。如果您缺乏 shell 脚本,请继续学习它,但我不希望它在 DW/SQL 方面带来巨大的收益。
【解决方案3】:
我使用 Powershell 完成了一些自动化任务。
我还使用 C# WinForms 应用程序来生成 SSIS 包。
我还为与 T-SQL 不同的平台生成了代码。
我认为这些都没有包含在基本的 DW 工具箱中,但我倾向于优化我的时间和精力回报。
任何时候你有一个额外的工具,它都会很有用。唯一需要注意的是你必须平衡:
1) 为工作选择合适的工具
2) 确保使用的各种工具不会增加系统复杂性(增加维护成本)或降低子系统接口的性能,如果您的系统有很多移动部件,并且在不同的范例中运行/环境/框架
【解决方案4】:
从历史上看,在 Powershell 出现之前,我一直使用 Python 来处理这类事情,但我正在考虑将 Powershell 作为 Windows 服务器平台的标准配置。
有时,正确的用户界面是脚本语言。我曾多次使用 IronPython 为带有 .NET API(例如多维数据集分区管理器)的事物构建管理实用程序。这是明确完成的,以便生产人员可以独立于发布过程编写这些内容 - 它使他们能够管理系统配置。
Powershell 也可以很好地做到这一点,而且现在您几乎可以假设它在标准 Windows 服务器环境中可用。作为一种用于代码生成器等开发任务的语言,使用(比如说)Python 可能会更好,但 Powershell 作为一种语言是完全有能力的。它还在可用性和政治可接受性方面发展得很好——因为它带有标准的 Windows 版本,所以生产人员真的没有任何借口阻止使用 Powershell 脚本组件部署系统。