本节书摘来自异步社区出版社《PowerShell V3—SQL Server 2012数据库自动化运维权威指南》一书中的第1章,第1.2节,作者:【加拿大】Donabel Santos,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.2 在你开始之前:使用SQL Server和PowerShell工作
在我们深入方法之前,重温一些重要的概念和术语,将会帮助我们理解SQL Server和PowerShell如何一起工作。
PSProvider and PSDrive:PowerShell允许访问不同的数据存储,无论它们是普通文件还是目录。PSProvider类似于一个适配器,允许被视为驱动设备,从而被发现。
列出支持的PSProvider对象,输入:
Get-PSProvider
你可以看到类似下面的截屏。
依赖于在你的系统中已经可用的PSProvider实例,你的可能稍微有些不同。
PSDrive:对C:作为数据存储而不是文件系统。列出在你系统中的PSDrive对象,输入:
Get-PSDrive
你可以看到类似下面的截屏。
注意对于SQL Server有一个PSDrive,可浏览和访问,操作SQL Server对象。
Execution policy:默认情况下,PowerShell遵守当前的执行策略,决定什么类型的脚本能被执行。对于我们的方法,假设在你的测试环境中以系统管理员账号运行PowerShell。你也需要将执行策略设置为RemoteSigned。
Set-ExecutionPolicy RemoteSigned
这个设置将允许PowerShell运行数字签名的脚本,或者本地未签名的脚本。
Modules and snap-ins:模块和插件是扩展PowerShell的方法。模块和插件都能将cmdlets和providers添加到当前的会话。模块能额外将功能、变量、别名和其他工具加载到你的会话。
插件是动态链接库(Dynamically Linked Libraries,DLL),在使用之前需要注册。插件在V1、V2和V3版本中可用。例如:
C
从另一方面来说,模块更像常规的PowerShell .ps1脚本文件。模块在V2和V3版本中可用。你不必注册一个模块来使用它,只需要导入:
Import-Module SQLPS