Kiểm tra SQL Server bằng Windows PowerShell – Phần 6
Phần 6 này sẽ giới thiệu tiếp cho các bạn cách kiểm tra tất cả các
cơ sở dữ liệu hiện có trong SQL Server instance và truy vấn các
thuộc tính cơ sở dữ liệu.
Bước 1
Đánh hoặc copy và pasta đoạn mã dưới đây vào file
C:\CheckSQLServer\Checkdatabases.ps1.
function checkdatabases(
[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
$DataSet2 = New-Object System.Data.DataSet
$DataSet3 = New-Object System.Data.DataSet
$DataSet4 = New-Object System.Data.DataSet
$SqlConnection.ConnectionString =
"Server=$servername;Database=master;Integrated Security=True"
$SqlCmd.CommandText = "select name from master.dbo.sysdatabases"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter.SelectCommand = $SqlCmd
$SqlAdapter.Fill($DataSet)|out-null
$dbs =$DataSet.Tables[0]
#$dbs
foreach ($db in $dbs)
}
$DataSet4.Tables[0]| format-table -autosize
$SqlCmd.CommandText = "DBCC SQLPERF(LOGSPACE) WITH NO_INFOMSGS "
$SqlCmd.Connection = $SqlConnection
$SqlAdapter.SelectCommand = $SqlCmd
$SqlAdapter.Fill($DataSet3)|out-null
$DataSet3.Tables[0] | format-table -autosize
$SqlConnection.Close()
}
Bước 2
Gắn vào file C:\CheckSQLServer\CheckSQL_Lib.ps1 đoạn mã sau.
. ./checkdatabases.ps1
Lúc này file C:\CheckSQLServer\CheckSQL_Lib.ps1 sẽ gồm có pinghost, checkservices,
checkhardware, checkOS, checkHD, checknet, checkinstance, Checkconfiguration và
checkdatabases 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
. ./checkdatabases.ps1
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
Write-host "Checking SQL Server databases....."
Write-host "Checking Database status and size....."
Write-host "............................."
checkdatabases $instancename |format-table
}
Lưu ý: File 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 tiếp theo của loạt bài này.
master 0 0 0 0 0
0
tempdb 0 0 0 0 0
0
model 0 0 0 0 0
0
msdb 0 0 0 0 0
0
ReportServer$SQL2008 0 0 0 0 0
0
ReportServer$SQL2008TempDB 0 0 0 0 0
0
AdventureWorksDW2008 0 0 0 0 0
0
AdventureWorksLT2008 0 0 0 0 0
0
AdventureWorks2008 0 0 0 0 0
0
test 0 0 1 0
0
Database Name Log Size (MB) Log Space Used (%) Status
------------- ------------- ------------------ ------
master 0.9921875 50.3937 0
tempdb 0.7421875 63.68421 0
model 0.4921875 59.52381 0
msdb 0.4921875 61.90476 0
Hình 1.0
Bước 5