powershell玩转SQL SERVER所有版本的方法

2019-09-30 09:26:48于丽

微软发布了最新的powershell for sql server 2016命令行客户端库。文章介绍了与之相关的实用方法。
powershell,sql server,2016,功能包,客户端,下载

powershell玩sql server就是比powershell玩mysql强!

问:那么问题来了,强在哪?
答:微软给我们做好了powershell+sqlserver的【客户端】库。

问:那么问题来了,客户端库在哪?叫什么名?哪里下载?
答: 在 叫做【sql server 20xx 功能包】中。或者叫【sql server 20xx with tools】中。

以sqlserver2016功能包为例,以些x64为例: 

必须按顺序安装:

1 .net 4.5以上。(或者系统自带)
2 CHSx64SQLSysClrTypes.msi
3 CHSx64SharedManagementObjects.msi
4 CHSx64PowerShellTools.msi

5 我亲自试验过,重新启动才灵。

下载地址:

sql2016客户端库:
https://www.microsoft.com/zh-cn/download/details.aspx?id=52676

sql2016-sp1客户端库:
https://www.microsoft.com/zh-CN/download/details.aspx?id=54279

它可以管理从sql2008到sql2016的所有sql库 !(sql2005生命周期已经结束)。

问:库如何使用?
答: 在powershell下输入

Import-Module 'sqlps'

其中最主要的命令就是invoke-sqlcmd,如:

Invoke-Sqlcmd -Query "SELECT @@VERSION;"
Invoke-Sqlcmd -InputFile C:tempSQLFiles.sql -ServerInstance deathstar -Database master -Verbose | out-file C:tempoutput.txt

问:有哪些命令?
答: 命令列表如下:

get-command * -module sqlps
Decode-SqlName
Encode-SqlName
SQLSERVER:
Add-SqlAvailabilityDatabase
Add-SqlAvailabilityGroupListenerStaticIp
Add-SqlFirewallRule
Backup-SqlDatabase
ConvertFrom-EncodedSqlName
ConvertTo-EncodedSqlName
Convert-UrnToPath
Disable-SqlAlwaysOn
Enable-SqlAlwaysOn
Get-SqlCredential
Get-SqlDatabase
Get-SqlInstance
Get-SqlSmartAdmin
Invoke-PolicyEvaluation
Invoke-Sqlcmd
Join-SqlAvailabilityGroup
New-SqlAvailabilityGroup
New-SqlAvailabilityGroupListener
New-SqlAvailabilityReplica
New-SqlBackupEncryptionOption
New-SqlCredential
New-SqlHADREndpoint
Remove-SqlAvailabilityDatabase
Remove-SqlAvailabilityGroup
Remove-SqlAvailabilityReplica
Remove-SqlCredential
Remove-SqlFirewallRule
Restore-SqlDatabase
Resume-SqlAvailabilityDatabase
Save-SqlMigrationReport
Set-SqlAuthenticationMode
Set-SqlAvailabilityGroup
Set-SqlAvailabilityGroupListener
Set-SqlAvailabilityReplica
Set-SqlCredential
Set-SqlHADREndpoint
Set-SqlNetworkConfiguration
Set-SqlSmartAdmin
Start-SqlInstance
Stop-SqlInstance
Suspend-SqlAvailabilityDatabase
Switch-SqlAvailabilityGroup
Test-SqlAvailabilityGroup
Test-SqlAvailabilityReplica
Test-SqlDatabaseReplicaState
Test-SqlSmartAdmin

问:手册在哪?

答:

-----【msdn 上的powershell命令 for sqlserver手册】------