logo

Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần I


Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần I Như bạn có lẽ đã biết, Windows PowerShell là tiện ích dòng lệnh mới và là ngôn ngữ kịch bản cung cấp một môi trường dòng lệnh cho việc khảo sát tương tác và quản trị của máy tính. Ngoài ra, nó cung cấp một khả năng viết kịch bản cho các lệnh này vì thế mà chúng tôi có thể hoạch định và chạy chúng nhiều lần. Windows PowerShell phụ thuộc vào .NET framework 2.0. SQL Server Management Objects, được biết đến như SMO, là một mô hình đối tượng cho SQL Server và thiết lập cấu hình của nó. Ứng dụng nền tảng SMO sử dụng các ngôn ngữ .NET Framework để lập trình chống lại mô hình đối tượng bộ nhớ. Trong loạt bài này, tôi sẽ chứng minh sức mạnh của Windows PowerShell phối hợp với SQL Server 2005. Cụ thể là trong phần I này, chúng tôi sẽ chỉ dẫn cách thiết lập và sử dụng lệnh một lệnh PowerShell và SMO đơn giản. Giả thiết a. Máy tính đã cài đặt .NET 2.0 b. Máy tính đã cài đặt phiên bản gói dịch vụ SQL Server 2005 mới nhất Tải về và cài đặt Microsoft PowerShell a. Tải về file cài đặt Microsoft PowerShell “WindowsXP-KB926139-x86-ENU.exe” từ địa chỉ http://download.microsoft.com b. Cài đặt PowerShell lên máy tính Bước 1: Kích đúp vào file chạy “WindowsXP-KB926139-x86-ENU.exe”. [Hình 1.0] Hình 1 Bước 2: Kích “Run”. [Hình 1.1] Hình 2 Bước 3: Kích “Next”. [Hình 1.2] Hình 3 Bước 4: Chọn tùy chọn “I agree”. [Hình 1.3] Hình 4 Bước 5: Chờ quá trình cài đặt. [Hình 1.4] Hình 5 Bước 6: Kích Finish. [Hình 1.5] Hình 6 Chạy PowerShell Có một số cách để chạy PowerShell. Một phương pháp là tìm tới dấu nhắc lệnh và nhập lệnh PowerShell. [Hình 1.6] PowerShell Hình 7 Lệnh PowerShell xuất hiện. [Hình 1.7] Hình 8 Cách khác, bạn có thể chạy PowerShell bằng cách chọn Programs-Windows PowerShell 1.0- Windows PowerShell. [Hình 1.8] Hình 9 Lệnh Help Trong các cửa sổ PowerShell, bạn có thể truy cập vào danh sách các lệnh bằng cách nhập lệnh Get-command Lệnh này sẽ hiển thị toàn bộ các lệnh có sẵn trong PowerShell. [Hình 1.9] Add-Content New-Alias Add-History New-Item Add-Member New-ItemProperty Add-PSSnapin New-Object Clear-Content New-PSDrive Clear-Item New-Service Clear-ItemProperty New-TimeSpan Clear-Variable New-Variable Compare-Object Out-Default ConvertFrom- Out-File SecureString Out-Host Convert-Path Out-Null ConvertTo-Html Out-Printer ConvertTo- Out-String SecureString Pop-Location Copy-Item Push-Location Copy-ItemProperty Read-Host Export-Alias Remove-Item Export-Clixml Remove-ItemProperty Export-Console Remove-PSDrive Export-Csv Remove-PSSnapin ForEach-Object Remove-Variable Format-Custom Rename-Item Format-List Rename-ItemProperty Format-Table Resolve-Path Format-Wide Restart-Service Get-Acl Resume-Service Get-Alias Select-Object Get- Select-String AuthenticodeSignature Set-Acl Get-ChildItem Set-Alias Get-Command Set- Get-Content AuthenticodeSignature Get-Credential Set-Content Get-Culture Set-Date Get-Date Set-ExecutionPolicy Get-EventLog Set-Item Get-ExecutionPolicy Set-ItemProperty Get-Help Set-Location Get-History Set-PSDebug Get-Host Set-Service Get-Item Set-TraceSource Get-ItemProperty Set-Variable Get-Location Sort-Object Get-Member Split-Path Get-PfxCertificate Start-Service Get-Process Start-Sleep Get-PSDrive Start-Transcript Get-PSProvider Stop-Process Get-PSSnapin Stop-Service Get-Service Stop-Transcript Get-TraceSource Suspend-Service Get-UICulture Tee-Object Get-Unique Test-Path Get-Variable Trace-Command Get-WmiObject Update-FormatData Group-Object Update-TypeData Import-Alias Where-Object Import-Clixml Write-Debug Import-Csv Write-Error Invoke-Expression Write-Host Invoke-History Write-Output Invoke-Item Write-Progress Join-Path Write-Verbose Measure-Command Write-Warning Measure-Object Move-Item Move-ItemProperty Hình 10 Một SMO đơn giản trong PowerShell Hãy truy vấn sys.sydatabases của SQL Server trường hợp “SQLEXPRESS” từ máy chủ “HOME” sử dụng PowerShell và SMO. Bước 1: Vào cửa sổ lệnh: Start – run – cmd Bước 2: Bắt đầu PowerShell bằng cách nhập lệnh PowerShell Bước 3: Thực hiện các lệnh, từng bước một, như sau [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") $Server = new-object ("Microsoft.SqlServer.Management.Smo.Server") "HOME\SQLEXPRESS" foreach($database in $Server.databases) {$database.name} Bạn sẽ thu được kết quả như hình dưới. [Hình 2.0] Hình 11 Các thành phần SMO Để hiển thị tất cả các thành phần liên quan đến đối tượng $Server, thực hiện lệnh dưới đây. Bước 1: Vào cửa sổ lệnh: Start – run – cmd Bước 2: Bắt đầu PowerShell bằng cách nhập lệnh PowerShell Bước 3: Thực hiện các lệnh, từng bước một, như sau [reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") $Server = new-object ("Microsoft.SqlServer.Management.Smo.Server") "HOME\SQLEXPRESS" $server | get-member Bạn sẽ thu được kết quả như hình dưới. [Hình 2.1] Alter get_State AttachDatabase get_SystemDataTypes CompareUrn get_SystemMessages DeleteBackupHistory get_Triggers Deny get_Urn DetachDatabase get_UserData DetachedDatabaseInfo get_UserDefinedMessages EnumAvailableMedia get_UserOptions EnumCollations Grant EnumDatabaseMirrorWitnessRoles Initialize EnumDetachedDatabaseFiles IsDetachedPrimaryFile EnumDetachedLogFiles IsWindowsGroupMember EnumDirectories KillAllProcesses EnumErrorLogs KillDatabase EnumLocks KillProcess EnumMembers PingSqlServerVersion EnumObjectPermissions ReadErrorLog EnumPerformanceCounters Refresh EnumProcesses Revoke EnumServerAttributes SetDefaultInitFields EnumServerPermissions set_DefaultTextMode EnumStartupProcedures set_UserData EnumWindowsDomainGroups ToString EnumWindowsGroupInfo ActiveDirectory EnumWindowsUserInfo BackupDevices Equals Configuration GetActiveDBConnectionCount ConnectionContext GetDefaultInitFields Credentials GetHashCode Databases GetPropertyNames DefaultTextMode GetSmoObject Endpoints GetType Events get_ActiveDirectory FullTextService get_BackupDevices Information get_Configuration InstanceName get_ConnectionContext JobServer get_Credentials Languages get_Databases LinkedServers get_DefaultTextMode Logins get_Endpoints Mail get_Events Name get_FullTextService NotificationServices get_Information Properties get_InstanceName ProxyAccount get_JobServer ReplicationServer get_Languages Roles get_LinkedServers ServiceMasterKey get_Logins Settings get_Mail State get_Name SystemDataTypes get_NotificationServices SystemMessages get_Properties Triggers get_ProxyAccount Urn get_ReplicationServer UserData get_Roles UserDefinedMessages get_ServiceMasterKey UserOptions get_Settings Hình 12 Kết luận Như đã giải thích từ đầu bài viết, loạt bài này sẽ minh họa sức mạnh Windows PowerShell phối hợp với SQL Server 2005. Trong loạt bài này, tôi sẽ chứng minh sức mạnh của Windows PowerShell phối hợp với SQL Server 2005. Phần I của loạt này đã chỉ dẫn cách thiết lập và sử dụng một lệnh PowerShell và SMO đơn giản.  
DMCA.com Protection Status Copyright by webtailieu.net