■ 北京 苑進(jìn)良
編者按:PowerShell是構(gòu)建于.NET上基于任務(wù)的命令行Shell和腳本語言,它可以幫助系統(tǒng)管理員快速自動(dòng)執(zhí)行用于管理操作系統(tǒng)的任務(wù)。本文筆者介紹了如何使用PowerShelL管理SQL Server,實(shí)現(xiàn)與SQL Serve的數(shù)據(jù)交互。
首先我們可以通過圖1所示腳本去檢查SQL Server模塊是否已經(jīng)被安裝和加載到PowerShell中。如果沒有,腳本中的Install-Module和Import-Module命令會(huì)完成安裝和加載的操作。
SQL Server模塊加載完成之后,我們需要以下變量進(jìn)行賦值:
接下來我們可以使用G et-SQLDatabase去查看現(xiàn)有的數(shù)據(jù)庫(kù):
使用Invoke-Sqlcmd去獲取數(shù)據(jù)庫(kù)中相應(yīng)列表的數(shù)據(jù):
使用Invoke-sqlcmd寫入數(shù)據(jù)到數(shù)據(jù)庫(kù):
圖1 檢查腳本
使用Invoke-sqlcmd清除數(shù)據(jù)庫(kù)列表內(nèi)容:
大家一定注意到針對(duì)執(zhí)行操作的不同,$SQL變量里的SQL語句是不一樣的。
我們只需要把需要進(jìn)行的操作用SQL語句賦給這個(gè)變量然后執(zhí)行Invoke-Sqlcmd這個(gè)PowerShell命令就可以輕松實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的增刪改查。
另外為了便于使用,大家也可以把不同的操作寫成PowerShell Fuction。這樣,我們就可以通過調(diào)用Fucntion來便利的進(jìn)行數(shù)據(jù)庫(kù)的操作了。
比如,PowerShell Funct ion就是用來進(jìn)行數(shù)據(jù)庫(kù)查詢的。我們可以使用”Get-SQLQuery–Database$SQLDatabase–Table$Table”來獲取相應(yīng)數(shù)據(jù)庫(kù)中列表的數(shù)據(jù)。