Kiểm tra SQL Server bằng Windows PowerShell – Phần 2

Chia sẻ: TRẨN THỊ THANH HẰNG | Ngày: | Loại File: PDF | Số trang:5

0
81
lượt xem
15
download

Kiểm tra SQL Server bằng Windows PowerShell – Phần 2

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Phần 1 của loạt bài này chúng tôi đã giới thiệu cho các bạn cách ping đến host, đó chính là kiểm tra đầu tiên trên SQL Server. Kiểm tra quan trọng thứ hai ở mức hệ điều hành là xem xem tất cả các dịch vụ Windows có liên quan đến SQL Server trên host hiện có đang hoạt động hay không và báo cáo về trạng thái của hệ thống. Phần 2 này sẽ giới thiệu cho các bạn cách truy cập vào dịch vụ Windows trên máy từ xa bằng cách sử dụng Windows PowerShell và WMI-Object. Bước 1 ...

Chủ đề:
Lưu

Nội dung Text: Kiểm tra SQL Server bằng Windows PowerShell – Phần 2

  1. Ki m tra SQL Server b ng Windows PowerShell – Ph n 2 Ph n 1 c a lo t bài này chúng tôi ã gi i thi u cho các b n cách ping n host, ó chính là ki m tra u tiên trên SQL Server. Ki m tra quan tr ng th hai m c h i u hành là xem xem t t c các d ch v Windows có liên quan n SQL Server trên host hi n có ang ho t ng hay không và báo cáo v tr ng thái c a h th ng. Ph n 2 này s gi i thi u cho các b n cách truy c p vào d ch v Windows trên máy t xa b ng cách s d ng Windows PowerShell và WMI-Object. B c1 ánh ho c copy và paste o n mã d i ây vào file C:\CheckSQLServer\CheckServices.ps1. # Function to check windows services related to SQL Server Function checkservices ([string] $Hostname ) { $Services=get-wmiobject -class win32_service -computername $hostname| where {$_.name -like '*SQL*'}| select-object Name,state,status,Started,Startname,Description foreach ( $service in $Services) { if($service.state -ne "Running" -or $service.status -ne "OK" -or $service.started -ne "True" ) { $message="Host="+$Hostname+" " +$Service.Name +" "" +$Service.state +" +$Service.status +" " +$Service.Started +" " +$Service.Startname write-host $message -background "RED" -foreground "BLACk" } else { $message="Host="+$Hostname+" " +$Service.Name +" " +$Service.state +" " +$Service.status +" " +$Service.Started +" " +$Service.Startname write-host $message -background "GREEN" -foreground "BLACk" } } }
  2. B c2 B sung thêm vào file C:\CheckSQLServer\CheckSQL_Lib.ps1 o n mã d i ây: . ./checkservices.ps1 Lúc này C:\CheckSQLServer\CheckSQL_Lib.ps1 s có c pinghost và d ch v ki m tra (checkservices) nh th hi n bên d i. #Source all the functions relate to CheckSQL . ./PingHost.ps1 . ./checkservices.ps1 L u ý: File CheckSQL_Lib.ps1 này s c c p nh t ngu n c a các k ch b n b n m i gi ng nh checkservices.PS1 B c3 G n vào file C:\CheckSQLServer\CheckSQLServer.ps1 b ng cách copy và paste o n mã d i ây. checkservices $Hostname Lúc này file C:\CheckSQLServer\CheckSQLServer.ps1 s có c pinghost và checkservices nh th hi n bên d i. Chúng ta ã thêm vào m t s tuyên b 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 ) . ./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 Write-host "Checking windows services on the host related to SQL Server" write-host "..........................................................." checkservices $Hostname
  3. L u ý: CheckSQLServer.ps1 này s c c p nh t các i u ki n m i và c ng nh các tham s trong các cài t sau c a lo t bài này. Ngu n d n c b n load các ch c n ng c li t kê trong file k ch b n và làm cho nó hi n h u trong toàn b PowerShell session. Trong tr ng h p này, chúng ta ang d n ngu n cho m t k ch b n. B c4 Hãy th!c thi k ch b n CheckSQLServer.ps1 b ng vi c chuy n host “Powerpc” nh m t is , xem th hi n bên d i. ./CheckSQLServer.ps1 PowerPC B n s có c các k"t qu nh th hi n bên d i (xem hình 1.0) Checking SQL Server..... ........................ Arguments accepted : PowerPC ........................ Pinging the host machine ........................ PowerPC is REACHABLE Checking windows services on the host related to SQL Server ........................................................... Host=PowerPC msftesql$SQL2008 Stopped OK False .\mak Host=PowerPC MSSQL$NY0QD1 Running OK True .\mak Host=PowerPC MSSQL$SQL2008 Stopped OK False .\mak Host=PowerPC MSSQLServerADHelper100 Stopped OK False NT AUTHORITY\NETWORK SERVICE Host=PowerPC SQLAgent$NY0QD1 Stopped OK False .\mak Host=PowerPC SQLAgent$SQL2008 Stopped OK False .\mak Host=PowerPC SQLBrowser Stopped OK False NT AUTHORITY\LOCAL SERVICE Host=PowerPC SQLWriter Running OK True LocalSystem
  4. Hình 1.0 T k"t qu b n có th th#y c r ng b#t k$ SQL Server nào có liên quan t i d ch v u không c kh%i t o ho c c ánh d#u tr ng thái “OK” màu & và t#t c các d ch v liên quan "n SQL Server ang ho t ng c ánh d#u màu xanh. B c5 Chúng ta hãy th!c thi k ch b n trên máy tính không t n t i nh th hi n bên d i. ./CheckSQLServer.ps1 TestMachine Khi ó b n s nh n c k"t qu nh th hi n d i ây (xem hình 1.1) K t qu Checking SQL Server..... ........................ Arguments accepted : TestMachine ........................ Pinging the host machine ........................ TestMachine is NOT reachable Checking windows services on the host related to SQL Server ........................................................... Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA) At C:\checksqlserver\checkservices.ps1:5 char:24 + $Services=get-wmiobject
  5. Hình 1.1 N"u b n b t g p l'i “Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)” thì nguyên nhân có th là m t s lý do d i ây: • Host không hi n h u (ví d : b c 5) • T ng l a khóa ch n tính n ng qu n tr t xa N"u b n mu n vô hi u hóa t ng l a, hãy th!c thi l nh d i ây t i nh c l nh: netsh.exe firewall set service type=REMOTEADMIN mode=ENABLE scope=ALL N"u mu n gi các thi"t l p t ng l a và ch( cho phép các c ng c yêu c u i v i qu n tr t xa, hãy th!c thi o n mã d i ây: netsh firewall add portopening protocol=tcp port=135 name=DCOM_TCP135 • D ch v Windows Management Instrumentation không ho t ng Thi"t l p d ch v WMI ch y t! ng và sau ó kh%i t o d ch v • Add ng i dùng hi n hành vào DCOM users. K t lu n Ph n th hai này chúng ta ã c gi i thi u v cách truy c p d ch v Windows Service trên máy t xa b ng Windows PowerShell và WMI-Object. Trong ph n ti"p theo c a lo t bài, chúng tôi s b sung thêm các ki m tra khác chúng ta không ph i th!c hi n t#t c các ki m tra n"u ping b th#t b i. Thêm vào ó chúng tôi s gi i thi u cách capture m t s thông tin ph n c ng và h i u hành.
Đồng bộ tài khoản