SQL Server常用工具——SQL Server Powershell Extensions
使用PowerShell的优点
与使用标准的T-SQL和SSIS进行自动化的方法相比,PowerShell脚本为DBA们带来了更多优点。这些优点包括:
1、对多服务器进行自动化处理更为简单,我们可以在多台SQL Server实例上执行任何特定任务。
2、更容易访问Windows资源,例如文件和文件夹、Windows服务及打印机。
3、较之SSIS,数据加载更快更简单。
4、获取服务器上的对象和进程的属性更为快捷方便。
SQLPSX中的函数调用和脚本
SQLPSX中的PowerShell脚本可以执行100多个SQL Server的管理任务,其中许多函数调用和脚本都集中在安全设置上,包括logins users roles以及permissions。在SQLSPX项目的Readme.Txt中完整的介绍了每个函数。
常见SQL Server任务的函数:
Get-SqlServer,调用Microsoft.SqlServer.Management.SMO.Server对象,获取所有可用的SQL Server系统的列表。
Get-SQLUser,可以获取SMO用户对象,这个对象拥有额外的属性,列出这个用户拥有的所有对象。
Get-SQLData,获取SQL Server结果集。
Get-SQLDatabase,获取一个或多个数据库的属性。
Get-SQLUser,获取一个或多个用户的信息,包括这个用户拥有的所有对象。
除此之外,我们可以把运行脚本的输出存储在数据库中,然后通过SQL Server报表服务的报表和查询来查看这些数据,也可以通过BID(Business Intelligence Development Studio)或Visual Studio来分析安全信息。
SQLPSX的系统要求
安装SQL Server2005及以上版本的SSMS。注意将PowerShell的执行策略设置为remotesigned,可能还需要解锁SQLPSX PowerShell脚本,以便他们可以无限制地运行。
相关资源
http://www.codeplex.com/SQLPSX
作者Blog: http://chadwickmiller.spaces.live.com