Have Fun with Powershell & Sql Server 2008
Sebenarnya saya adalah Newbie dengan powershell, saya baru mengenalnya ketika mulai mengenal Windows 7. Untuk dapat mendownload Windows Powershell dapat di unduh disini . Dalam artikel ini saya menggunakan Poweshell 1.0 for XP
Di pemikiran awal saya, Powershell hanyalah pengganti MS-DOS Command prompt. Ternyata lebih dari itu, Powershell dapat bekerja dengan Object karena powershell dibangun dari kekuatan .Net Framework.
Apakah benar Powershell dapat menjalankan perintah-perintah MS-DOS, saya coba untuk melakukan perintah sederhana, IPCONFIG , dan hasilnya :
wow… ternyata bisa euy. terus saya coba perintah lain, yaitu Tracert. saya cobakan ke mugi.or.id , dan hasilnya sebagai berikut :

Perintah-perintah yang ada di powershell dikenal dengan nama cmdlets, untuk mendapatkan daftar perintah yang ada yaitu dengan mengetikkan Get-help atau Get-command, kedua perintah tersebut akan sangat membantu anda ketika bekerja dengan powershell.
Penasaran saya pun muncul, apakah powershell bisa digunakan untuk berinteraksi dengan SQL Server ? dan jawabannya adalah BISA.
Sebenarnya, pada saat kita menginstall SQL Server 2008, anda dapat menggunakan Powershell yang berada di "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLPS.exe". Cmdlets untuk dapat bekerja dengan SQL Server bernama invoke-sqlcmd . Perlu diketahui juga bahwa powershell 1.0 tidak disertakan dengan SQL Server tool, seperti digambar dibawah ini :
jadi anda harus menginstallnya dengan command sebagai berikut :
add-pssnapin sqlserverprovidersnapin100
add-pssnapin sqlservercmdletsnapin100
sehingga cmdlets invoke-sqlcmd dapat di panggil, seperti digambar dibawah ini :
Nah, untuk mendapatkan comand-comand yang tersedia, deskripsi command dan contoh-contoh implementasi sudah ada di dalamnya, yaitu dengan memanggilnya dengan command :
get-help invoke-sqlcmd -detailed
kemudian saya coba melakukan query sederhana, dengan menggunakan database AdventureWorks, yaitu mengeksekusi query berikut :
select * from HumanResources.Department
dengan menggunakan Powershell dapat dilakukan dengan cara sebagai berikut :
invoke-sqlcmd -serverinstance "ianeman\sqlsrv2008" -database "adventureworks" -query "select * from humanresources.department"
sehingga didapat hasil seperti ini :
Kendala yang saya hadapi yaitu, setiap saya membuka windows baru powershell, invoke-sqlcmd yang sudah saya install kembali hilang, sehingga saya harus menginstall lagi dengan menjalankan script diatas, sehingga saya akhirnya menggunakan SQLPS.exe , kecapean bolak-balik ngetik scriptnya ;)
melalui powershell juga kita dapat mengconvert hasil query menjadi sebuah file CSV. dengan command sebagai berikut :
invoke-sqlcmd -serverinstance "ianeman\sqlsrv2008" -database "adventureworks" -query "select * from department" | export-csv -path e:\powershell\department.csv
Wah, bisa menggantikan fungsi SSIS ya, yaa walupun sederhana.
cukup demikian dulu bermain-main dengan powershell dan sql server 2008, semoga bermanfaat untuk teman-teman.