《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——第1章 开始使用SQL Server和PowerShell 1.1 简介

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

本节书摘来自异步社区出版社《PowerShell V3—SQL Server 2012数据库自动化运维权威指南》一书中的第1章,第1.1节,作者:【加拿大】Donabel Santos,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 开始使用SQL Server和PowerShell

PowerShell V3——SQL Server 2012数据库自动化运维权威指南
1.1 简介
PowerShell是一款拥有Shell和脚本能力的可管理工具,可以用来调用Windows管理规范(Windows Management Instrumentation,WMI)、COM组件和.NET库。PowerShell在一代一代的微软产品中变得更加杰出。在大量的、新的、即将发布的微软产品中,对于它的支持是捆绑式的,并有所加强。Windows Server、Exchange、ActiveDirectory、SharePoint,甚至SQL Server,所有这些都添加了PowerShell支持和cmdlets。甚至一些供应商如VMWare、Citrix、Cisco和Quest提供了允许他们的产品被PowerShell访问的方法。

是什么使得PowerShell发威?每个系统管理员可能都知道通过脚本集成各种系统的痛苦。曾经用到的解决方案是集成各种脚本,包括VBScript、一些批处理文件,或者C#代码、Perl脚本。系统管理员要么捆绑不同的语言来工作,要么因为复杂的代码而束手无策。

这就是PowerShell的来由。PowerShell最重要的一点是,它简化了自动化和在不同微软子系统之间的集成。因为大多数产品都支持PowerShell,让一个系统与另一个系统沟通只是一件探索在脚本中添加哪些cmdlets、功能或模块的事情。即便产品现在还不支持PowerShell,但它很有可能已经有了.NET或COM组件的支持,能够轻松使用PowerShell。

值得注意的PowerShell V3属性
在最新版本中,值得注意的属性如下所示。

工作流(Workflows):PowerShell V3包括Windows PowerShell Workflow(PSWF),在MSDN中有描述(http://msdn.microsoft.com/en-us/library/jj134242.aspx):
帮助自动化分发、业务流程、完成多机任务、解放用户和管理员使他们专注于高级别任务。
PSWF运用Windows Workflow Foundation 4.0作为声明框架,但使用类似PowerShell语法和结构。
稳健的会话(Robust sessions):PowerShell V3支持更加稳健的会话。会话能在网络中断的过程中被保留。这些会话保留打开状态直到超时。
调度作业(Scheduled jobs):对于调度作业有一个增强的支持。在PSScheduledJob模块中有新的cmdlets,允许你创建、激活和管理调度作业。
模块自动加载(Module AutoLoading):如果你使用的cmdlet所属于的模块还没有被加载,将触发PowerShell搜索PSModulePath,加载第一个包含该cmdlet的模块。这些我们很容易测试。

#check current modules in session
Get-Module
#use cmdlet from CimCmdlets module, which
#is not loaded yet
Get-CimInstance win32_bios 
#note new module loaded CimCmdlets
Get-Module 
#use cmdlet from SQLPS module, which
#is not loaded yet
Invoke-Sqlcmd -Query "SELECT GETDATE()" -ServerInstance "KERRIGAN"
#note new modules loaded SQLPS and SQLASCmdlets 
Get-Module

Web服务支持(Web service support):PowerShell V3介绍了Invoke-WebRequest cmdlet,它发送HTTP或者HTTPS请求到Web服务,返回基于对象的内容,能够在PowerShell中被容易的操作。你可以考虑用PowerShell下载完整的站点(看看Lee Holmes关于此项服务的文章:http://www.leeholmes.com/blog/2012/03/31/how-to- download-an-entire-wordpress-blog)。

简化语法(Simplified language syntax):书写Where-Object和Foreach-Object变得更加整洁。提高包括默认参数值和简化语法。
在V1和V2中必须用大括号和$_。

Get-Service | Where-Object { $_.Status –eq' Running' }

现在能在V3中书写为:

Get-Service | Where-Object Status –eq' Running'

增强集成脚本环境(Improved Integrated Scripting Enviroment(ISE)):新的ISE智能感知,侧边栏可搜索命令、参数表单和动态语法检查。
image

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
3月前
|
人工智能 运维 关系型数据库
|
5月前
|
SQL 存储 关系型数据库
MySQL原理简介—1.SQL的执行流程
本文介绍了MySQL驱动、数据库连接池及SQL执行流程的关键组件和作用。主要内容包括:MySQL驱动用于建立Java系统与数据库的网络连接;数据库连接池提高多线程并发访问效率;MySQL中的连接池维护多个数据库连接并进行权限验证;网络连接由线程处理,监听请求并读取数据;SQL接口负责执行SQL语句;查询解析器将SQL语句解析为可执行逻辑;查询优化器选择最优查询路径;存储引擎接口负责实际的数据操作;执行器根据优化后的执行计划调用存储引擎接口完成SQL语句的执行。整个流程确保了高效、安全地处理SQL请求。
352 77
|
6月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
5月前
|
SQL 存储 关系型数据库
MySQL原理简介—10.SQL语句和执行计划
本文介绍了MySQL执行计划的相关概念及其优化方法。首先解释了什么是执行计划,它是SQL语句在查询时如何检索、筛选和排序数据的过程。接着详细描述了执行计划中常见的访问类型,如const、ref、range、index和all等,并分析了它们的性能特点。文中还探讨了多表关联查询的原理及优化策略,包括驱动表和被驱动表的选择。此外,文章讨论了全表扫描和索引的成本计算方法,以及MySQL如何通过成本估算选择最优执行计划。最后,介绍了explain命令的各个参数含义,帮助理解查询优化器的工作机制。通过这些内容,读者可以更好地理解和优化SQL查询性能。
|
9月前
|
SQL 数据库
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)之解决方案
1075 0
|
11月前
|
SQL 运维 监控
SQL Server 运维常用sql语句(二)
SQL Server 运维常用sql语句(二)
98 3
|
11月前
|
SQL XML 运维
SQL Server 运维常用sql语句(三)
SQL Server 运维常用sql语句(三)
113 1
|
11月前
|
SQL 关系型数据库 MySQL
SQL数据库和 SQLserver数据库
【8月更文挑战第19天】SQL数据库和 SQLserver数据库
155 2
|
11月前
|
Java 应用服务中间件 Maven
从零到英雄:一步步构建你的首个 JSF 应用程序,揭开 JavaServer Faces 的神秘面纱
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的 Java EE 标准,用于构建企业级 Web 应用。它提供了丰富的组件库和声明式页面描述语言 Facelets,便于开发者快速开发功能完善且易于维护的 Web 应用。本文将指导你从零开始构建一个简单的 JSF 应用,包括环境搭建、依赖配置、Managed Bean 编写及 Facelets 页面设计。
209 0

热门文章

最新文章