SQL Server 2008 이상에서 PowerShell 사용하기


SQL Server에서도 PowerShell을 사용하여 원하는 작업을 할 수 있다.

1) Get-PSSnapin -Registered (등록 가능한 PowerShell Snapin 확인하기)
2) Add-PSSnapin -Name SqlServerCmdletSnapin100  (확인한 snapin 추가하기)
3) Get-Command *sql* (여기서 SQL에 관한 cmdlet는 Invoke-Sqlcmd 만 있음을 확인)
4) Invoke-Sqlcmd -Query “Select @@version” (help invoke-sqlcmd -detailed를 실행하여 구문을 확인한 후 이 명령을 실행한다)
5) Invoke-Sqlcmd -Query “Select getdate()”
6) Invoke-Sqlcmd -Server Adventureworks -Query “Exec SP_HelpDB” (Adventureworks라는 SQL server의 Database 종류를 확인한다)
Invoke-Sqlcmd -server Adventureworks -Query “Exec sp_helpdb” | ft -property name  (이렇게 하면 DB 이름 목록만 볼 수 있다)
7) Invoke-Sqlcmd -S Adventureworks -Q “Exec sp_who2”  (접속한 서버 이름을 지정한다)
8) Invoke-Sqlcmd -Query “Select  @@servername as ‘Server’, count(*) as ‘Blocked’ from master.dbo.sysprocesses where blocked <> 0”  | ft -autosize
(특정한 서버에서 블락된 프로세스를 확인한다)

** 아래는 DB를 만들고, Table을 만들고, 데이터를 입력한 후 데이터를 확인하는 작업이다
10) Invoke-Sqlcmd -Query “Create Database TestDB”
11) Invoke-Sqlcmd -database testDB -Query “Create table tbl1 (id int)”
12) Invoke-Sqlcmd -Database testDB -Query “Insert into tbl1 values (1)”
13) Invoke-Sqlcmd -Database testDB -Query “Select * from Tbl1” | ft -auto

** 이제 SQL Server 2008이 설치되지 않은 컴퓨터에서 원격으로 SQL Server에 접속하여 database를 만들어보자
14) enable-psremoting -force (접속할 원격 컴퓨터에서 원격 접속 허용을 한다)
** 이제부터는 접속할 컴퓨터(DC1)에서 작업을 한다
15)  $s = new-pssession -computername SQLServer1
16)  Get-PSSession
17)  Invoke-Command {get-host} -session $s
18)  Invoke-command {Get-PSSnapin -Registered} -Session $s
19)  Invoke-command {Add-PSSnapin -Name SqlServerCmdletSnapin100 } -Session $s
20) Invoke-command {Invoke-Sqlcmd -Query “Select @@version”} -Session $s
21) Invoke-command {Invoke-Sqlcmd -Server AdventureWorks -Query “Create Database TestDB1”} -Session $s
22)  Invoke-command {Invoke-Sqlcmd -Server AdventureWorks -Query “Exec SP_HelpDB”} -Session $s   | FT -Property Name

참고: http://msmvps.com/blogs/robfarley/archive/2008/03/04/sql-server-2008-powershell-snapin.aspx

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s