Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 4
Số trang: 11
Loại file: pdf
Dung lượng: 471.91 KB
Lượt xem: 9
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:
Hãy tưởng tượng rằng chúng ta muốn kết nối tới các SQL Servers khác nhau và thu thập thông tin chính xác như tên máy chủ, phiên bản và tất cả tên các cơ sở dữ liệu
Nội dung trích xuất từ tài liệu:
Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 4Microsoft Windows Power Shell và SQL Server 2005 SMO – Phần 4Nguồn:quantrimang.com The MAKPhần I và Phần II của loạt bài này đã chỉ dẫn các thiết lập Power Shell, SMOvà WMI cmdlet đơn giản. Phần III chỉ dẫn viết mã PowerShell và kết nối vớiSQL Server. Phần 4 sẽ giới thiệu cách sử dụng mã PowerShell để lặp nộidung tập tin và kết nối tới các máy chủ khác.Hãy tưởng tượng rằng chúng ta muốn kết nối tới các SQL Servers khác nhau vàthu thập thông tin chính xác như tên máy chủ, phiên bản và tất cả tên các cơ sởdữ liệu.Bước 1Chúng ta cần tạo một đoạn mã PowerShell hiển thị tất cả các thông tin trên đốivới một máy chủ. Tạo connect2.ps1 như minh họa dưới đây. [Hình 1.0]param ( [string] $SQLSERVER)$SqlConnection = New-ObjectSystem.Data.SqlClient.SqlConnection$SqlConnection.ConnectionString = Server=$SQLSERVER;Database=master;IntegratedSecurity=True$SqlCmd = New-Object System.Data.SqlClient.SqlCommand$SqlCmd.CommandText = select Servername: +@@servername as Result union Select Version:+@@version as Result union select Database: +name fromsysdatabases as Resultorder by Result desc $SqlCmd.Connection = $SqlConnection$SqlAdapter = New-ObjectSystem.Data.SqlClient.SqlDataAdapter$SqlAdapter.SelectCommand = $SqlCmd$DataSet = New-Object System.Data.DataSet$SqlAdapter.Fill($DataSet)$SqlConnection.Close()$DataSet.Tables[0] Hình 1.0Bước 2Thực hiện đoạn mã sau: [Hình 1.1]./connect2 HOMEChú ý: HOME là tên máy chủ. Hãy thay vào đó tên máy chủ của bạn.Kết quảResult------Version:Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)...Servername: HOMEDatabase: VixiaTrackDatabase: vixiadataDatabase: vixiaDatabase: TrackEquipmentDatabase: testDatabase: tempdbDatabase: Sales2Database: SalesDatabase: pubsDatabase: NorthwindDatabase: msdbDatabase: modelDatabase: masterDatabase: Legacy_VixiaDatabase: abc3Database: abc2Database: abc Hình 1.1Bước 3Hãy lặp qua một tập tin và hiển thị ra nội dung của tập tin đó. Tạo mã loop1.ps1sau đây: [Hình 1.2] Đồng thời tạo tập tin serverlist.txt file. [Hình 1.3]param ([string] $filename)$computers = get-content $filenameforeach ($computer in $computers){write-host $computer} Hình 1.2Serverlist.txtHOMEHOMESQLEXPRESS Hình 1.3Hãy thực hiện mã loop1.ps1. [Hình 1.4]./loop1 serverlist.txt Hình 1.4Bước 4Bây giờ hãy kết hợp connect2.ps1 và loop1.ps1 để thu được tên của SQLServer, phiên bản SQL Server và tất cả tên các cơ sở dữ liệu liệt kê trênserverlist.txt.Tạo connect3.ps1 như sau: [Hình 1.5]param ([string] $filename)$SqlConnection = New-ObjectSystem.Data.SqlClient.SqlConnection$computers = get-content $filenameforeach ($computer in $computers){write-host Details of the Server : $computerwrite-host -----------------------------------$SqlConnection.ConnectionString =Server=$computer;Database=master;Integrated Security=True$SqlCmd = New-Object System.Data.SqlClient.SqlCommand$SqlCmd.CommandText = select Servername: +@@servernameas Result union Select Version: +@@version as Result union select Database: +name fromsysdatabases as Resultorder by Result desc $SqlCmd.Connection = $SqlConnection$SqlAdapter = New-ObjectSystem.Data.SqlClient.SqlDataAdapter$SqlAdapter.SelectCommand = $SqlCmd$DataSet = New-Object System.Data.DataSet$SqlAdapter.Fill($DataSet)$SqlConnection.Close()$DataSet.Tables[0]} Hình 1.5Bước 5Hãy thực hiện đoan mã sau đây: [Hình 1.6]./connect3 serverlist.txt Hình 1.6Kết quả:Details of the Server : HOME-----------------------------------19Result------Version: Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)...Servername: HOMEDatabase: VixiaTrackDatabase: vixiadataDatabase: vixiaDatabase: TrackEquipmentDatabase: testDatabase: tempdbDatabase: Sales2Database: SalesDatabase: pubsDatabase: NorthwindDatabase: msdbDatabase: modelDatabase: masterDatabase: Legacy_VixiaDatabase: abc3Database: abc2Database: abcDetails of the Server : HOMESQLEXPRESS-----------------------------------11Version: Microsoft SQL Server 2005 - 9.00.2047.00 (IntelX86) ...Servername: HOMESQLEXPRESSDatabase: XMLTestDatabase: VixiaTrackDatabase: testDatabase: tempdbDatabase: msdbDatabase: modelDatabase: masterDatabase: AdventureWorksDatabase: adminBây giờ bạn hãy tạo một mã PowerShell thực hiện giống nhau, sử dụng SQLServer SMO.Bước 1Tạo mã connect4.ps1 PowerShell [Hình 1.7]param([string] $filename)[reflection.assembly]::LoadWithPartialName(Microsoft.SqlServer.Smo)$SqlConnection = New-Obj ...
Nội dung trích xuất từ tài liệu:
Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 4Microsoft Windows Power Shell và SQL Server 2005 SMO – Phần 4Nguồn:quantrimang.com The MAKPhần I và Phần II của loạt bài này đã chỉ dẫn các thiết lập Power Shell, SMOvà WMI cmdlet đơn giản. Phần III chỉ dẫn viết mã PowerShell và kết nối vớiSQL Server. Phần 4 sẽ giới thiệu cách sử dụng mã PowerShell để lặp nộidung tập tin và kết nối tới các máy chủ khác.Hãy tưởng tượng rằng chúng ta muốn kết nối tới các SQL Servers khác nhau vàthu thập thông tin chính xác như tên máy chủ, phiên bản và tất cả tên các cơ sởdữ liệu.Bước 1Chúng ta cần tạo một đoạn mã PowerShell hiển thị tất cả các thông tin trên đốivới một máy chủ. Tạo connect2.ps1 như minh họa dưới đây. [Hình 1.0]param ( [string] $SQLSERVER)$SqlConnection = New-ObjectSystem.Data.SqlClient.SqlConnection$SqlConnection.ConnectionString = Server=$SQLSERVER;Database=master;IntegratedSecurity=True$SqlCmd = New-Object System.Data.SqlClient.SqlCommand$SqlCmd.CommandText = select Servername: +@@servername as Result union Select Version:+@@version as Result union select Database: +name fromsysdatabases as Resultorder by Result desc $SqlCmd.Connection = $SqlConnection$SqlAdapter = New-ObjectSystem.Data.SqlClient.SqlDataAdapter$SqlAdapter.SelectCommand = $SqlCmd$DataSet = New-Object System.Data.DataSet$SqlAdapter.Fill($DataSet)$SqlConnection.Close()$DataSet.Tables[0] Hình 1.0Bước 2Thực hiện đoạn mã sau: [Hình 1.1]./connect2 HOMEChú ý: HOME là tên máy chủ. Hãy thay vào đó tên máy chủ của bạn.Kết quảResult------Version:Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)...Servername: HOMEDatabase: VixiaTrackDatabase: vixiadataDatabase: vixiaDatabase: TrackEquipmentDatabase: testDatabase: tempdbDatabase: Sales2Database: SalesDatabase: pubsDatabase: NorthwindDatabase: msdbDatabase: modelDatabase: masterDatabase: Legacy_VixiaDatabase: abc3Database: abc2Database: abc Hình 1.1Bước 3Hãy lặp qua một tập tin và hiển thị ra nội dung của tập tin đó. Tạo mã loop1.ps1sau đây: [Hình 1.2] Đồng thời tạo tập tin serverlist.txt file. [Hình 1.3]param ([string] $filename)$computers = get-content $filenameforeach ($computer in $computers){write-host $computer} Hình 1.2Serverlist.txtHOMEHOMESQLEXPRESS Hình 1.3Hãy thực hiện mã loop1.ps1. [Hình 1.4]./loop1 serverlist.txt Hình 1.4Bước 4Bây giờ hãy kết hợp connect2.ps1 và loop1.ps1 để thu được tên của SQLServer, phiên bản SQL Server và tất cả tên các cơ sở dữ liệu liệt kê trênserverlist.txt.Tạo connect3.ps1 như sau: [Hình 1.5]param ([string] $filename)$SqlConnection = New-ObjectSystem.Data.SqlClient.SqlConnection$computers = get-content $filenameforeach ($computer in $computers){write-host Details of the Server : $computerwrite-host -----------------------------------$SqlConnection.ConnectionString =Server=$computer;Database=master;Integrated Security=True$SqlCmd = New-Object System.Data.SqlClient.SqlCommand$SqlCmd.CommandText = select Servername: +@@servernameas Result union Select Version: +@@version as Result union select Database: +name fromsysdatabases as Resultorder by Result desc $SqlCmd.Connection = $SqlConnection$SqlAdapter = New-ObjectSystem.Data.SqlClient.SqlDataAdapter$SqlAdapter.SelectCommand = $SqlCmd$DataSet = New-Object System.Data.DataSet$SqlAdapter.Fill($DataSet)$SqlConnection.Close()$DataSet.Tables[0]} Hình 1.5Bước 5Hãy thực hiện đoan mã sau đây: [Hình 1.6]./connect3 serverlist.txt Hình 1.6Kết quả:Details of the Server : HOME-----------------------------------19Result------Version: Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)...Servername: HOMEDatabase: VixiaTrackDatabase: vixiadataDatabase: vixiaDatabase: TrackEquipmentDatabase: testDatabase: tempdbDatabase: Sales2Database: SalesDatabase: pubsDatabase: NorthwindDatabase: msdbDatabase: modelDatabase: masterDatabase: Legacy_VixiaDatabase: abc3Database: abc2Database: abcDetails of the Server : HOMESQLEXPRESS-----------------------------------11Version: Microsoft SQL Server 2005 - 9.00.2047.00 (IntelX86) ...Servername: HOMESQLEXPRESSDatabase: XMLTestDatabase: VixiaTrackDatabase: testDatabase: tempdbDatabase: msdbDatabase: modelDatabase: masterDatabase: AdventureWorksDatabase: adminBây giờ bạn hãy tạo một mã PowerShell thực hiện giống nhau, sử dụng SQLServer SMO.Bước 1Tạo mã connect4.ps1 PowerShell [Hình 1.7]param([string] $filename)[reflection.assembly]::LoadWithPartialName(Microsoft.SqlServer.Smo)$SqlConnection = New-Obj ...
Tìm kiếm theo từ khóa liên quan:
Cơ sở dữ liệu An ninh – Bảo mật Công nghệ thông tin Quản trị mạng Thủ thuật máy tínhGợi ý tài liệu liên quan:
-
52 trang 429 1 0
-
62 trang 401 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 377 6 0 -
24 trang 351 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 310 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 298 0 0 -
74 trang 294 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 291 0 0 -
13 trang 290 0 0
-
96 trang 289 0 0