Xem mẫu

  1. Ki m tra SQL Server b ng Windows PowerShell – Ph n 4 Ph n 1 c a lo t bài này ã gi i thi u v ki m tra u tiên trên SQL Server – các ping m t host. Ph n 2 là gi i thi u v cách ki m tra t t c các d ch v c a Windows có liên quan n SQL Server và ph n ba là cách ki m tra các thông tin ph n c ng và ph n m m. Trong ph n ti p theo này, chúng tôi s gi i thi u cho các b n các thu th p các thông tin v card m ng và a c ng t máy ch . B c1 ánh ho c copy và paste o n mã d i ây vào C:\CheckSQLServer\Checkhd.ps1. #Function to check the HDD information on the host machine Function checkHD([string] $Hostname ) { $drives=get-wmiobject -class Win32_LogicalDisk -computername $hostname -errorvariable errorvar if (-not $errorvar) { foreach ($drive in $drives) { if ($drive.drivetype -eq "3" ) { $message= "DeviceID="+$drive.Deviceid+" Size="+ $drive.size/1048576+"MB Free Space="+ $drive.freespace/1048576 +"MB Percentage Used=" + (($drive.Size/1048576)-($drive.freespace/1048576))/ ($drive.Size/1048576) *100+"% " write-host $message -background "GREEN" -foreground "BLACk" } } } } B c2 ánh ho c copy và paste o n mã d i ây vào C:\CheckSQLServer\Checknet.ps1. #Function to check the Network netadapter information on the host machine Function checknet([string] $Hostname ) { $netadapter=get-wmiobject -class win32_networkadapter -computername $hostname -errorvariable errorvar if (-not $errorvar)
  2. { foreach ($netadapter in $netadapter) { write-host "---------------------------------------------------" -background "Blue" -foreground "BLACk" #$message= "netadapter Enabled="+$netadapter.Enable #write-host $message -background "GREEN" -foreground "BLACk" $message= "netadapterType="+$netadapter.netadapterType write-host $message -background "GREEN" -foreground "BLACk" $message= "Description="+$netadapter.Description write-host $message -background "GREEN" -foreground "BLACk" $message= "Manufacturer="+$netadapter.Manufacturer write-host $message -background "GREEN" -foreground "BLACk" $message= "NetworkAddresses="+$netadapter.NetworkAddresses write-host $message -background "GREEN" -foreground "BLACk" $message= "PermanentAddress="+$netadapter.PermanentAddress write-host $message -background "GREEN" -foreground "BLACk" $message= "Physicalnetadapter="+$netadapter.Physicalnetadapter write-host $message -background "GREEN" -foreground "BLACk" $message= "ProductName="+$netadapter.ProductName write-host $message -background "GREEN" -foreground "BLACk" $message= "ServiceName="+$netadapter.ServiceName write-host $message -background "GREEN" -foreground "BLACk" $message= "StatusInfo="+$netadapter.StatusInfo write-host $message -background "GREEN" -foreground "BLACk" $message= "Speed="+$netadapter.Speed write-host $message -background "GREEN" -foreground "BLACk" $message= "Status="+$netadapter.Status write-host $message -background "GREEN" -foreground "BLACk" } } } B c3 Gán vào file C:\CheckSQLServer\CheckSQL_Lib.ps1 o n mã d i ây. . ./checkhd.ps1 . ./checknet.ps1 Lúc này C:\CheckSQLServer\CheckSQL_Lib.ps1 s có pinghost, checkservices, checkhardware, checkOS, checkHD và checknet nh th hi n bên d i. #Source all the functions relate to CheckSQL . ./PingHost.ps1 . ./checkservices.ps1 . ./checkhardware.ps1 . ./checkOS.ps1 . ./checkHD.ps1 . ./checknet.ps1 L u ý: File CheckSQL_Lib.ps1 này s c c p nh t v i ngu n d n c a các k ch b n m i nh checkhd.ps1 và checknet.ps1.
  3. B c4 G n thêm vào file C:\CheckSQLServer\CheckSQLServer.ps1 o n mã d i ây. Write-host "Checking HDD Information....." Write-host "............................." checkHD $Hostname Write-host "Checking Network Adapter Information....." Write-host "........................................." checknet $Hostname Lúc này C:\CheckSQLServer\CheckSQLServer.ps1 s có c checkhd và checknet nh th hiên d i. Chúng tôi ã thêm m t s tuyên b write-host hi n toàn b quá trình. #Objective: To check various status of SQL Server #Host, instances and databases. #Author: MAK #Date Written: June 5, 2008 param ( [string] $Hostname ) $global:errorvar=0 . ./CheckSQL_Lib.ps1 Write-host "Checking SQL Server....." Write-host "........................" Write-host " " Write-host "Arguments accepted : $Hostname" write-host "........................" Write-host "Pinging the host machine" write-host "........................" pinghost $Hostname if ($global:errorvar -ne "host not reachable") { Write-host "Checking windows services on the host related to SQL Server" write-host "..........................................................." checkservices $Hostname Write-host "Checking hardware Information....." Write-host ".................................." checkhardware $Hostname Write-host "Checking OS Information....." Write-host "............................." checkOS $Hostname Write-host "Checking HDD Information....." Write-host "............................." checkHD $Hostname Write-host "Checking Network Adapter Information....." Write-host "........................................." checknet $Hostname } L u ý: CheckSQLServer.ps1 s c c p nh t các i u ki n m i và các tham s m i trong các ph n sau c a lo t bài này.
  4. Ngu n d n c b n load các hàng c li t kê trong file k ch b n và làm cho nó tr lên hi n h u trong toàn b PowerShell session. Trong tr ng h p này, chúng tôi d n ngu n m t k ch b n, k ch b n này l i l y ngu n t nhi u k ch b n khác. B c5 Chúng ta hãy th c thi k ch b n CheckSQLServer.ps1 b ng cách passing “Powerpc” host nh m t i s , xem th hi n d i ây. ./CheckSQLServer.ps1 PowerServer2 Các k t qu b n thu c nh th hi n bên d i (tham kh o hình 1.0) Checking SQL Server..... ........................ Arguments accepted : PowerServer2 ........................ Pinging the host machine ........................ PowerServer2 is REACHABLE Checking windows services on the host related to SQL Server ........................................................... Host=PowerServer2 MSSQLSERVER Running OK True .\Administrator Host=PowerServer2 MSSQLServerADHelper100 Stopped OK False NT AUTHORITY\NETWORK SERVICE Host=PowerServer2 MSSQLServerOLAPService Stopped OK False .\Administrator Host=PowerServer2 SQLBrowser Stopped OK False NT AUTHORITY\LOCAL SERVICE Host=PowerServer2 SQLSERVERAGENT Stopped OK False .\Administrator Host=PowerServer2 SQLWriter Stopped OK False LocalSystem Checking hardware Information..... .................................. Host=PowerServer2 Description=AT/AT COMPATIBLE NumberOfLogicalProcessors=2 NumberOfProcessors=1 TotalPhysicalMemory=2145738752 Model=OptiPlex GX270 Manufacturer=Dell Computer Corporation PartOfDomain=True CurrentTimeZone=-240 DaylightInEffect=True Checking OS Information..... ............................. OSArchitecture=32-bit OSLanguage=1033 OSProductSuite=274 OSType=18 BuildNumber=6001 BuildType=Multiprocessor Free Version=6.0.6001 WindowsDirectory=C:\Windows
  5. PlusVersionNumber= FreePhysicalMemory=1492684 FreeSpaceInPagingFiles=2402648 FreeVirtualMemory=3948148 PAEEnabled=False ServicePackMajorVersion=0 ServicePackMinorVersion=0 Checking HDD Information..... ............................. DeviceID=C: Size=38143.99609375MB Free Space=23761.51953125MB Percentage Used=37.7057414937619 Checking Network Adapter Information..... ......................................... --------------------------------------------------- netadapterType= Description=WAN Miniport (SSTP) Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=WAN Miniport (SSTP) ServiceName=RasSstp StatusInfo= Speed= Status= --------------------------------------------------- netadapterType= Description=WAN Miniport (L2TP) Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=WAN Miniport (L2TP) ServiceName=Rasl2tp StatusInfo= Speed= Status= --------------------------------------------------- netadapterType= Description=WAN Miniport (PPTP) Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=WAN Miniport (PPTP) ServiceName=PptpMiniport StatusInfo= Speed= Status= --------------------------------------------------- netadapterType= Description=WAN Miniport (PPPOE) Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter=
  6. ProductName=WAN Miniport (PPPOE) ServiceName=RasPppoe StatusInfo= Speed= Status= --------------------------------------------------- netadapterType= Description=WAN Miniport (IPv6) Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=WAN Miniport (IPv6) ServiceName=NdisWan StatusInfo= Speed= Status= --------------------------------------------------- netadapterType= Description=WAN Miniport (Network Monitor) Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=WAN Miniport (Network Monitor) ServiceName=NdisWan StatusInfo= Speed= Status= --------------------------------------------------- netadapterType= Description=Intel(R) PRO/1000 MT Network Connection Manufacturer=Intel NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=Intel(R) PRO/1000 MT Network Connection ServiceName=E1G60 StatusInfo= Speed=100000000 Status= --------------------------------------------------- netadapterType= Description=Microsoft ISATAP Adapter Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=Microsoft ISATAP Adapter ServiceName=tunnel StatusInfo= Speed=100000 Status= --------------------------------------------------- netadapterType= Description=WAN Miniport (IP)
  7. Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=WAN Miniport (IP) ServiceName=NdisWan StatusInfo= Speed= Status= --------------------------------------------------- netadapterType= Description=Microsoft Tun Miniport Adapter Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=Microsoft Tun Miniport Adapter ServiceName=tunmp StatusInfo= Speed=1073741824 Status= --------------------------------------------------- netadapterType= Description=RAS Async Adapter Manufacturer=Microsoft NetworkAddresses= PermanentAddress= Physicalnetadapter= ProductName=RAS Async Adapter ServiceName=AsyncMac StatusInfo= Speed= Status=
  8. Hình 1.0 T các k t qu thu c, b n có th th y c các thông tin v a c!ng và card m ng. B c6 Chúng ta hãy th c thhi k ch b n trên máy không có a c!ng hay card m ng. ./CheckSQLServer.ps1 TestMachine K t qu mà b n nh n c c th hi n bên d i (tham kh o hình 1.1) K t qu Checking SQL Server..... ........................ Arguments accepted : TestMachine ........................ Pinging the host machine ........................ TestMachine is NOT reachable
  9. Hình 1.1 L u ý: b n có th download mã cho ph n 3 m i nh t ây. K t lu n Ph n 4 này ã gi i thi u cho các b n cách truy c p thu th p các thông tin v a c!ng và card m ng b ng Windows PowerShell và WMI-Object.