Kiểm tra SQL Server bằng Windows PowerShell – P6
Số trang: 7
Loại file: pdf
Dung lượng: 179.24 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Quản Trị Mạng - 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ủ. Trong phần 5 chúng tôi đã giới thiệu cách kiểm tra xem có thể kết nối...
Nội dung trích xuất từ tài liệu:
Kiểm tra SQL Server bằng Windows PowerShell – P6 Kiểm tra SQL Server bằng Windows PowerShell – Phần 6 Quản Trị Mạng - 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ủ. Trong phần 5 chúng tôi đã giới thiệu cách 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. 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.Connection String = 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) { #$db.name $SqlCmd.CommandText = $db.name+..sp_spaceused $SqlCmd.Connection = $SqlConnection $SqlAdapter.SelectCommand = $SqlCmd $SqlAdapter.Fill($DataSet2) |out -null } $DataSet2.Tables[0]| format-table -autosize foreach ($db in $dbs) { #$db.name $SqlCmd.CommandText = select '+$db.name+' as Dbname, DATABASEPROPERTY('+$db.name+','IsInRecovery') as Inrecovery, DATABASEPROPERTY('+$db.name+','IsInLoad') as InLoad, DATABASEPROPERTY('+$db.name+','IsEmergencyMode') as InEmergency, DATABASEPROPERTY('+$db.name+','IsOffline') as Isoffline, DATABASEPROPERTY('+$db.name+','IsReadOnly') as IsReadonly, DATABASEPROPERTY('+$db.name+','IsSingleUser') as IsSingleuser, DATABASEPROPERTY('+$db.name+','IsSuspect') as IsSuspect, DATABASEPROPERTY('+$db.name+','IsInStandBy') as IsStandby, DATABASEPROPERTY('+$db.name+','Version') as version, DATABASEPROPERTY('+$db.name+','IsTruncLog') as IsTrunclog #$SqlCmd.CommandText $SqlCmd.Connection = $SqlConnection $SqlAdapter.SelectCommand = $SqlCmd $SqlAdapter.Fill($DataSet4) |out -null } $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 Lưu ý: File CheckSQL_Lib.ps1 sẽ được cập nhật với nguồn dẫn của các kịch bản mới, chẳng hạn nh ư checkdatabases.ps1. Bước 3 Gắn thêm vào file C:\CheckSQLServer\CheckSQLServer.ps1 đoạn mã sau. #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 reachabl e) { 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 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. Nguồn dẫn cơ bả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, nh ưng kịch bản này lại lấy nguồn từ nhiều kịch bản khác. Bước 4 Lúc này chúng ta hãy thực thi kịch bản CheckSQLServer.ps1 bằng cách sử dụng “PowerServer3” với t ư cách một đối số như thể hiện bên dưới. ./CheckSQLServer.ps1 PowerServer3 PowerServer3\SQL2008 Bạn sẽ nhận được các kết quả như thể hiện bên dưới (tham khảo hình 1.0) Kết quả database_name database_size unallocated space --- ...
Nội dung trích xuất từ tài liệu:
Kiểm tra SQL Server bằng Windows PowerShell – P6 Kiểm tra SQL Server bằng Windows PowerShell – Phần 6 Quản Trị Mạng - 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ủ. Trong phần 5 chúng tôi đã giới thiệu cách 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. 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.Connection String = 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) { #$db.name $SqlCmd.CommandText = $db.name+..sp_spaceused $SqlCmd.Connection = $SqlConnection $SqlAdapter.SelectCommand = $SqlCmd $SqlAdapter.Fill($DataSet2) |out -null } $DataSet2.Tables[0]| format-table -autosize foreach ($db in $dbs) { #$db.name $SqlCmd.CommandText = select '+$db.name+' as Dbname, DATABASEPROPERTY('+$db.name+','IsInRecovery') as Inrecovery, DATABASEPROPERTY('+$db.name+','IsInLoad') as InLoad, DATABASEPROPERTY('+$db.name+','IsEmergencyMode') as InEmergency, DATABASEPROPERTY('+$db.name+','IsOffline') as Isoffline, DATABASEPROPERTY('+$db.name+','IsReadOnly') as IsReadonly, DATABASEPROPERTY('+$db.name+','IsSingleUser') as IsSingleuser, DATABASEPROPERTY('+$db.name+','IsSuspect') as IsSuspect, DATABASEPROPERTY('+$db.name+','IsInStandBy') as IsStandby, DATABASEPROPERTY('+$db.name+','Version') as version, DATABASEPROPERTY('+$db.name+','IsTruncLog') as IsTrunclog #$SqlCmd.CommandText $SqlCmd.Connection = $SqlConnection $SqlAdapter.SelectCommand = $SqlCmd $SqlAdapter.Fill($DataSet4) |out -null } $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 Lưu ý: File CheckSQL_Lib.ps1 sẽ được cập nhật với nguồn dẫn của các kịch bản mới, chẳng hạn nh ư checkdatabases.ps1. Bước 3 Gắn thêm vào file C:\CheckSQLServer\CheckSQLServer.ps1 đoạn mã sau. #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 reachabl e) { 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 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. Nguồn dẫn cơ bả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, nh ưng kịch bản này lại lấy nguồn từ nhiều kịch bản khác. Bước 4 Lúc này chúng ta hãy thực thi kịch bản CheckSQLServer.ps1 bằng cách sử dụng “PowerServer3” với t ư cách một đối số như thể hiện bên dưới. ./CheckSQLServer.ps1 PowerServer3 PowerServer3\SQL2008 Bạn sẽ nhận được các kết quả như thể hiện bên dưới (tham khảo hình 1.0) Kết quả database_name database_size unallocated space --- ...
Tìm kiếm theo từ khóa liên quan:
Lý thuyết tin học SQL Tin học đại cương giáo trình Tin học đại cương bài giảng Tin học đại cương tài liệu Tin học đại cương lý thuyết Tin học đại cươngGợi ý tài liệu liên quan:
-
Ứng dụng công cụ Quizizz thiết kế trò chơi học tập trong giảng dạy học phần tin học đại cương
12 trang 298 0 0 -
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 trang 257 0 0 -
Giáo trình Tin học đại cương part 7
19 trang 231 0 0 -
Giáo trình Tin học đại cương: Phần 1 - ĐH Kinh tế Quốc Dân
130 trang 156 0 0 -
Giáo trình Tin học đại cương (Tái bản năm 2020): Phần 1 - PGS.TS. Nguyễn Thị Thu Thủy (Chủ biên)
105 trang 141 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 126 0 0 -
Giáo trình Tin học đại cương: Phần 1 - Vi Hồng Thắm
90 trang 125 0 0 -
Giáo trình Tin học đại cương: Phần 2 - Trần Đình Khang
118 trang 115 0 0 -
Trắc nghiệm và đáp án hệ cơ sở dữ liệu - ĐH Công Nghiệp Tp. Hồ Chí Minh
63 trang 113 0 0 -
Quản trị người dùng trong Exchange 2007 bằng Powershell
9 trang 106 0 0