Tìm kiếm PhanVien.Com Web
Download PhanVien.Com Toolbar
Danh mục thông tin

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

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, phần 3 là cách
kiểm tra các thông tin phần cứng và phần mềm, phần 4 là giới thiệu về
cách thu thập các thông tin về card mạng và ổ đĩa cứng từ máy chủ.

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

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

Muthusamy

Trong phần 5 này chúng ta sẽ kiểm tra xem có thể kết nối với SQL Server  hay không và xem chúng ta có thể truy vấn một số thuộc tính liên quan đến SQL Server.

Bước 1

Đánh hoặc copy  và paste đoạn mã dưới đây vào file C:\CheckSQLServer\Checkinstance.ps1.

function checkinstance(
[string] $servername
)
{
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$DataSet = New-Object System.Data.DataSet
$SqlConnection.ConnectionString =
"Server=$servername;Database=master;Integrated Security=True"
$SqlCmd.CommandText = "
create table #serverproperty (property varchar(100),
value varchar(100))
insert into #serverproperty values
('MachineName',convert(varchar(100),
SERVERPROPERTY ('Machinename')))
insert into #serverproperty values
('Servername',convert(varchar(100),
SERVERPROPERTY ('ServerName') ))
insert into #serverproperty values
('InstanceName',convert(varchar(100),
SERVERPROPERTY ('ServerName') ))
insert into #serverproperty values
('Edition',convert(varchar(100),SERVERPROPERTY ('Edition') ))
insert into #serverproperty values
('EngineEdition',convert(varchar(100),
SERVERPROPERTY ('EngineEdition')) )
insert into #serverproperty values
('BuildClrVersion',convert(varchar(100),
SERVERPROPERTY ('Buildclrversion')) )
insert into #serverproperty values
('Collation', convert(varchar(100),SERVERPROPERTY ('Collation')) )
insert into #serverproperty values
('ProductLevel',convert(varchar(100),
SERVERPROPERTY ('ProductLevel')) )
insert into #serverproperty values
('IsClustered',convert(varchar(100),SERVERPROPERTY ('IsClustered') ))
insert into #serverproperty values
('IsFullTextInstalled',convert(varchar(100),SERVERPROPERTY
('IsFullTextInstalled ') ))
insert into #serverproperty values
('IsSingleuser',convert(varchar(100),
SERVERPROPERTY ('IsSingleUser ') ))
set nocount on
select * from #serverproperty
drop table #serverproperty
"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter.SelectCommand = $SqlCmd
$SqlAdapter.Fill($DataSet)
$DataSet.Tables[0]
$SqlConnection.Close()
}

Bước 2

Đánh hoặc copy  và paste đoạn mã sau vào file C:\CheckSQLServer\Checkconfiguration.ps1.

function checkconfiguration(
[string] $servername
)
{
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$DataSet = New-Object System.Data.DataSet
$SqlConnection.ConnectionString = "Server=$servername;Database=master;Integrated Security=True"
$SqlCmd.CommandText = "
exec master.dbo.sp_configure 'show advanced options',1
reconfigure
"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter.SelectCommand = $SqlCmd
$SqlAdapter.Fill($DataSet)
$SqlCmd.CommandText = "
set nocount on
create table #config (name varchar(100), minimum bigint, maximum bigint, config_value bigint, run_value bigint)
insert #config exec ('master.dbo.sp_configure')
set nocount on
select * from #config as mytable
drop table #config
"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter.SelectCommand = $SqlCmd
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0].rows
}

Bước 3

Gắn vào file C:\CheckSQLServer\CheckSQL_Lib.ps1 đoạn mã sau.

. ./checkinstance.ps1
. ./checkconfiguration.ps1

Lúc này file C:\CheckSQLServer\CheckSQL_Lib.ps1 có có pinghost, checkservices, checkhardware, checkOS, checkHD, checknet, checkinstance và Checkconfiguration 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
. ./checkinstance.ps1
. ./checkconfiguration.ps1

Lưu ý: File CheckSQL_Lib.ps1 này sẽ được cập nhật với nguồn dẫn từ các file kịch bản mới, chẳng hạn như checkinstance.ps1 and checkconfiguration.ps1

Bước 4

Gắn thêm vào file C:\CheckSQLServer\CheckSQLServer.ps1 đoạn mã sau.

Write-host "Checking Instance property Information....."
Write-host "............................."
checkinstance $instancename
Write-host "Checking Configuration information....."
Write-host "........................................."
checkconfiguration $instancename

Lúc này file sẽ có cả hai kịch bản checkinstance và checkconfiguration như thể hiện bên dưới. Chúng tôi  đã thêm vào một vài lệnh write-host để hiện thị toàn bộ quá trình. Các bạn cũng cần lưu rằng chúng tôi  đã thêm $instancename với tư cách là một tham số bổ sung cho kịch bản checksqlserver.

#Objective: To check various status of SQL Server 
#Host, instances and databases.
#Author: MAK
#Date Written: June 5, 2008
param (
[string] $Hostname,
[string] $instancename
)
$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
Write-host "Checking Configuration information....."
Write-host "........................................."
checkconfiguration $instancename |format-table
Write-host "Checking Instance property Information....."
Write-host "............................."
checkinstance $instancename |format-table
}

Lưu ý: File CheckSQLServer.ps1 này 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 này của loạt bài.

Việc load về cơ bản sẽ tải các chức năng được liệt kê trong các kịch bản và làm cho nó trở lên hiện hữu trong suốt 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ướ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 “PowerServer3” host với tư cách một đối số như thể hiện bên dưới.

./CheckSQLServer.ps1 PowerServer3 PowerServer3\SQL2008

Chúng ta sẽ gặp kết quả như thể hiện dưới đây (Hình 1.0)

.....
....
....
two digit year cutoff 1753 9999 2049
user connections 0 32767 0
user options 0 32767 0
xp_cmdshell 0 1 0

Checking Instance property Information.....
.............................
11
property value
-------- -----
MachineName POWERSERVER3
Servername POWERSERVER3\SQL2008
InstanceName POWERSERVER3\SQL2008
Edition Enterprise  Evaluation Edition
EngineEdition 3
BuildClrVersion v2.0.50727
Collation SQL_Latin1_General_CP1_CI_AS
ProductLevel RTM
IsClustered 0
IsFullTextInstalled 1
IsSingleuser 0
....
.... 

Hình 1.0



Hình 1.1

Bước 6

Lúc này chúng ta hãy thực thi kịch bản trên máy không tồn tại như thể hiện bên dưới.

./CheckSQLServer.ps1 TestMachine

Kết quả thu được sẽ như bên dưới (tham khảo hình 1.3)

Kết quả

Checking SQL Server.....
........................
Arguments accepted : TestMachine
........................
Pinging the host machine
........................
TestMachine is NOT reachable 

Hình 1.3

Kết luận

Phần 5 của loạt bài này đã giới thiệu  cho các bạn cách truy cập  các thuộc tính instance của SQL Server  và các chi tiết về cấu hình của nó bằng cách sử dụng Windows  PowerShell.

Download kịch bản cho bài này.

Tìm bài viết khác
QUANTRIMANG.COM
Updated: 09/12/2008 | Views: 185 | Comments: 0

Comments - Kiểm tra SQL Server bằng Windows PowerShell – Phần 5

Hiện tại chưa có bình luận nào về bài viết Kiểm tra SQL Server bằng Windows PowerShell – Phần 5!

Bạn có ý kiến gì về bài viết Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 này? Hãy gởi suy nghĩ, bình luận, đánh giá, lời khuyên ... của bạn về bài viết Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 bạn tại đây.

Other articles

Similar Articles Kiểm tra SQL Server bằng Windows PowerShell – Phần 5

Older than Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 in Cơ Sở Dữ Liệu

Newer than Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 in Cơ Sở Dữ Liệu

Recently Published - Cơ Sở Dữ Liệu
Day ao thuat
Latest Comments in Cơ Sở Dữ Liệu
By TuấnBQ. Bài viết này rất hay, và em cũng hy vọng sẽ có các bài tiếp theo về .....
Most Comments in Cơ Sở Dữ Liệu
Monthly Most Views - Cơ Sở Dữ Liệu
  English Tiếng Việt 
Bạn đang xem bài viết Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 được gởi trong chủ đề Cơ Sở Dữ Liệu - Công Nghệ Thông Tin. Bài viết Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 này được lưu trên Server thành hai bản: Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 có dấuKiểm tra SQL Server bằng Windows PowerShell – Phần 5 không dấu. Bạn có thể gởi ý kiến bình luận, đóng góp về bài viết Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 này tại phần gởi bình luận ở cuối nội dung bài viết. Lưu ý nội dung của bài viết Kiểm tra SQL Server bằng Windows PowerShell – Phần 5 này có thể không còn phù hợp với thời điểm hiện tại. Nếu phát hiện điều này, xin bạn báo cho BQT biết để gỡ bỏ nó.
Home Page | Privacy | Contact | Friend Links | Search | Sitemap | Up
Copyright © 2008 PhanVien.Com . All rights reserved.