Suherman

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 :

image

wow… ternyata bisa euy. terus saya coba perintah lain, yaitu Tracert. saya cobakan ke mugi.or.id , dan hasilnya sebagai berikut :

image

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 :

image

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 :
image
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 :

image 

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.

 

Share this post :

Comments

Suherman said:

Sambil ngisi waktu cuti saya yang belum juga habis (biasa kerja, dapat cuti lama badan pada pegel semua

# October 7, 2009 2:40 PM