728x90

ClientNetworkProtocol Client 의 네트워크 접속 프로토콜의 정의와 우선순위를 결정하는 클래스입니다.

지난번과 같이 WMIObject ClientNetworkProtocol 클래스를 가져와 볼까요

Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 -class ClientNetworkProtocol | Select-Object ProtocolName, ProtocolDisplayName, ProtocolOrder




저 같은 경우 로컬에 SQL이 깔려있기 때문에 우선순위 첫번째가 메모리로 나오네요
원격인 경우 TCP 1 로 보입니다. 참고로 ProtocolOrder 0은 비사용중임을 나타냅니다.

 


이 클래스의 메소드들은..

Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 -class ClientNetworkProtocol |
Get-Member -memberType Method | Select-Object Name

 


이와 같이 프로토콜의 사용여부와 우선순위를 설정하는 메소드들입니다.



위에 메소드를 이용한 아래의 간단한 스크립트는 Named Pipes 를 비사용으로 바꾸는 역할을 합니다.

$WClientNetProtol=Get-WmiObject –namespace root\Microsoft\SqlServer\ComputerManagement10 -class ClientNetworkProtocol -filter "ProtocolName='np'"
$WClientNetProtol.SetDisable()



Named Pipes가 비사용중으로 바뀌었네요



ClientNetworkProtocol의 속성 변경을 원할 경우 ClientNetworkProtocolProperty 클래스를 이용하시면 됩니다.

살짝 살펴보면 ..

Get-WmiObject -namespace root\Microsoft\SqlServer\ComputerManagement10 -class

ClientNetworkProtocolProperty | Select-Object PropertyName, PropertyNumVal, PropertyStrVal,ProtocolName

 


기본접속 포트가 1433으로 설정되어 있네요


아래는 TCP/IP 프로토콜의 기본접속 포트를 1433에서 15886로 변경하는 스크립트입니다.

$WClientNetProto=Get-WmiObject –namespace root\Microsoft\SqlServer\ComputerManagement10 –class
ClientNetworkProtocolProperty -filter "PropertyName='Default Port'"

$ WClientNetProto.SetNumericalValue(15886)


참고: SQL Server Administration with Windows PowerShell

원본: http://vstarmanv.tistory.com/entry/MSSQLWMI-for-SQL-Management2

728x90

+ Recent posts