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

Chia sẻ: Lang Huyen | Ngày: | Loại File: PDF | Số trang:8

0
104
lượt xem
17
download

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

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

Phần trước của loạt bài này đã giới thiệu cho các bạn kiểm tra đầu tiên về SQL Server—cách ping một host. Trong 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 với SQL Server. Trong phần 3 này chúng tôi sẽ giới thiệu về cách tìm một số thông tin về phần cứng và hệ điều hành từ máy host. Bước 1 Đánh hoặc Copy và paste đoạn mã bên dưới vào file C:\CheckSQLServer\Checkhardware.ps1. #Function to check Hardware information from a host Function checkhardware([string] $Hostname ) { $computer=get-wmiobject -class...

Chủ đề:
Lưu

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

  1. Kiểm tra SQL Server bằng Windows PowerShell – Phần 3 Phần trước của loạt bài này đã giới thiệu cho các bạn kiểm tra đầu tiên về SQL Server—cách ping một host. Trong 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 với SQL Server. Trong phần 3 này chúng tôi sẽ giới thiệu về cách tìm một số thông tin về phần cứng và hệ điều hành từ máy host. Bước 1 Đánh hoặc Copy và paste đoạn mã bên dưới vào file C:\CheckSQLServer\Checkhardware.ps1. #Function to check Hardware information from a host Function checkhardware([string] $Hostname ) { $computer=get-wmiobject -class win32_computersystem -computername $hostname -errorvariable errorvar $errorvar.size if (-not $errorvar) { $message="Host="+$Hostname write-host $message -background "GREEN" -foreground "BLACk" $message="Description=" +$computer.Description write-host $message -background "GREEN" -foreground "BLACk" $message="NumberOfLogicalProcessors="+ $computer.NumberOfLogicalProcessors write-host $message -background "GREEN" -foreground "BLACk" $message="NumberOfProcessors="+ $computer.NumberOfProcessors write-host $message -background "GREEN" -foreground "BLACk" $message="TotalPhysicalMemory=" +$computer.TotalPhysicalMemory write-host $message -background "GREEN" -foreground "BLACk" $message="Model=" +$computer.Model write-host $message -background "GREEN" -foreground "BLACk" $message="Manufacturer=" +$computer.Manufacturer write-host $message -background "GREEN" -foreground "BLACk" $message="PartOfDomain="+ $computer.PartOfDomain write-host $message -background "GREEN" -foreground "BLACk" $message="CurrentTimeZone=" +$computer.CurrentTimeZone write-host $message -background "GREEN" -foreground "BLACk" $message="DaylightInEffect="+$computer.DaylightInEffect write-host $message -background "GREEN" -foreground "BLACk" } }
  2. Bước 2 Đánh hoặc Copy và paste đoạn mã bên dưới vào file C:\CheckSQLServer\CheckOS.ps1. #Function to check the OS information on the host machine Function checkOS([string] $Hostname ) { $os=get-wmiobject -class win32_operatingsystem -computername $hostname -errorvariable errorvar if (-not $errorvar) { $message= "OSArchitecture="+$os.OSArchitecture write-host $message -background "GREEN" -foreground "BLACk" $message= "OSLanguage="+$os.OSLanguage write-host $message -background "GREEN" -foreground "BLACk" $message= "OSProductSuite="+$os.OSProductSuite write-host $message -background "GREEN" -foreground "BLACk" $message= "OSType="+$os.OSType write-host $message -background "GREEN" -foreground "BLACk" $message= "BuildNumber="+$os.BuildNumber write-host $message -background "GREEN" -foreground "BLACk" $message= "BuildType="+$os.BuildType write-host $message -background "GREEN" -foreground "BLACk" $message= "Version="+$os.Version write-host $message -background "GREEN" -foreground "BLACk" $message= "WindowsDirectory="+$os.WindowsDirectory write-host $message -background "GREEN" -foreground "BLACk" $message= "PlusVersionNumber="+$os.PlusVersionNumber write-host $message -background "GREEN" -foreground "BLACk" $message= "FreePhysicalMemory="+$os.FreePhysicalMemory write-host $message -background "GREEN" -foreground "BLACk" $message= "FreeSpaceInPagingFiles="+$os.FreeSpaceInPagingFiles write-host $message -background "GREEN" -foreground "BLACk" $message= "FreeVirtualMemory="+$os.FreeVirtualMemory write-host $message -background "GREEN" -foreground "BLACk" $message= "PAEEnabled="+$os.PAEEnabled write-host $message -background "GREEN" -foreground "BLACk" } } Bước 3 Gắn thêm vào file C:\CheckSQLServer\CheckSQL_Lib.ps1 đoạn mã bên dưới. . ./checkhardware.ps1 . ./checkOS.ps1
  3. Lúc này file C:\CheckSQLServer\CheckSQL_Lib.ps1 sẽ có pinghost, checkservices, checkhardware và checkOS như thể hiện bên dưới. #Source all the functions relate to CheckSQL . ./PingHost.ps1 . ./checkservices.ps1 . ./checkhardware.ps1 . ./checkOS.ps1 Lưu ý: File CheckSQL_Lib.ps1 này sẽ được cập nhật từ các kịch bản mới như checkhardware.ps1 và checkOS.ps1 Bước 4 Gắn thêm vào file C:\CheckSQLServer\CheckSQLServer.ps1 đoạn mã dưới đây. checkhardware $Hostname checkOS $Hostname Lúc này file C:\CheckSQLServer\CheckSQLServer.ps1 sẽ có cả checkhardware và checkOS như bên dưới, Chúng tôi đã thêm môt 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 ) . ./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 Write-host "Checking hardware Information....." Write-host "........................" checkhardware $Hostname Write-host "Checking OS Information....."
  4. Write-host "........................" checkOS $Hostname Lưu ý: File CheckSQLServer.ps1 này sẽ được cập nhật các điều kiện và các tham số mới trong các phần sau của loạt bài. Nguồn dẫn sẽ load các hàm đượ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 tôi dẫn nguồn một kịch bản, kịch bản này sẽ lại lấy nguồn từ nhiều kịch bản khác. Bước 5 Lúc này chúng ta hãy thực thi kịch bản, CheckSQLServer.ps1 bằng cách passing “Powerpc” host với tư cách một đối số như thể hiện bên dưới. ./CheckSQLServer.ps1 PowerServer2 Khi đó kết quả cho ra sẽ như sau (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
  5. 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 PlusVersionNumber= FreePhysicalMemory=1511144 FreeSpaceInPagingFiles=2402648 FreeVirtualMemory=3966452 PAEEnabled=False Hình 1.0 Từ kết quả nhận được, bạn có thể thấy được các thông tin về phần cứng và hệ điều hành. Bước 6 Hãy thực thi kịch bản trên máy không tồn tại như dưới đây.
  6. ./CheckSQLServer.ps1 TestMachine Khi đó kết quả nhận được sẽ như sau (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
  7. Hình 1.1 Bước 7 Chúng ta không phải tiếp tục với checkservices, checkhardware và checkos nếu ping bị thất bại. Chính vì vậy hãy cập nhật pinghost.ps1 như thể hiện bên dưới. Function Pinghost ([string] $Hostname ) { $status=get-wmiobject win32_pingstatus -Filter "Address='$Hostname'" | Select-Object statuscode if($status.statuscode -eq 0) { write-host $Hostname is REACHABLE -background "GREEN" -foreground "BLACk" } else { $global:errorvar="host not reachable" write-host $Hostname is NOT reachable -background "RED" -foreground "BLACk" } } Hãy cập nhật checksqlserver.ps1 như thể hiện bên dưới. #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 "........................"
  8. 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 } Lúc này hãy thực thi kịch bản bằng cách passing tên máy “testmachine”, tên thực sự không tồn tại với tư cách một đối số. ./CheckSQLServer.ps1 TestMachine Kết quả Checking SQL Server..... ........................ Arguments accepted : TestMachine ........................ Pinging the host machine ........................ TestMachine is NOT reachable Lưu ý bạn có thể download các đọan mã mới nhất trong phần ba tại đây. Kết luận Đây là phần thứ ba của loạt bài này. Trong phần thứ ba này chúng tôi đã giới thiệu được cho các bạn cách truy cập các thông tin phần cứng và hệ điều hành bằng Windows PowerShell và WMI- Object. Trong phần tiếp theo, chúng tôi sẽ bổ sung thêm một số kiểm tra khác và 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