Danh mục

Microsoft Windows PowerShell và SQL Server 2005 SMO – P7

Số trang: 12      Loại file: pdf      Dung lượng: 309.27 KB      Lượt xem: 16      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 4,000 VND Tải xuống file đầy đủ (12 trang) 0

Báo xấu

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Phần 1 và phần 2 của loạt bài này chúng tôi đã giới thiệu về cài đặt PowerShell và SMO đơn giản, WMI cmdlet. Trong phần 3 chúng tôi giới thiệu về cách lập kịch bản PowerShell để kết nối đến máy chủ SQL Server. Phần 4 giới thiệu cách sử dụng kịch bản PowerShell để thực hiện hành động lặp một file và kết nối các máy chủ khác. Phần 5 giới thiệu cho các bạn cách tạo một cơ sở dữ liệu SQL Server bằng PowerShell và SMO. Phần 6 giới thiệu về việc backup cơ sở dữ...
Nội dung trích xuất từ tài liệu:
Microsoft Windows PowerShell và SQL Server 2005 SMO – P7 Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 7 Phần 1 và phần 2 của loạt bài này chúng tôi đã giới thiệu về cài đặt PowerShell và SMO đơn giản, WMI cmdlet. Trong phần 3 chúng tôi giới thiệu về cách lập kịch bản PowerShell để kết nối đến máy chủ SQL Server. Phần 4 giới thiệu cách sử dụng kịch bản PowerShell để thực hiện hành động lặp một file và kết nối các máy chủ khác. Phần 5 giới thiệu cho các bạn cách tạo một cơ sở dữ liệu SQL Server bằng PowerShell và SMO. Phần 6 giới thiệu về việc backup cơ sở dữ liệu SQL Server bằng PowerShell và SMO. Mỗi một phần trong loạt bài này đều minh chứng cách sử dụng PowerShell kết hợp với SMO để trình bày các đối tượng của SQL Server. Phương pháp 1: Hiển thị các tên bảng Chúng ta hãy giả dụ rằng mình muốn tìm tất cả các bảng đã có trong cơ sở dữ liệu “AdventureWorks”, trên máy chủ “HOME\SQLEXPRESS”. Thực thi lệnh dưới đây, tham khảo hình 1.1. [reflection.assembly]:: LoadWithPartialName(Microsoft.SqlServer.Smo) | out- null $srv=New-Object Microsoft.SqlServer.Management.Smo.Server HOME\SQLEXPRESS $db = $srv.Databases[adventureworks] foreach ($tbl in $db.tables) {$tbl.name} Hình 1.1 Cmdlets ở trên sẽ hiển thị các tên bảng trong cơ sở dữ liệu AdventureWorks trên máy chủ “HOME\SQLEXPRESS” (xem hình 1.2) Kết quả AWBuildVersion DatabaseLog ErrorLog Department Employee EmployeeAddress EmployeeDepartmentHistory EmployeePayHistory JobCandidate Shift Address AddressType Contact ContactType CountryRegion StateProvince BillOfMaterials Culture Document Illustration Location Product ProductCategory ProductCostHistory ProductDescription ProductDocument ProductInventory ProductListPriceHistory ProductModel ProductModelIllustration ProductModelProductDescriptionCulture ProductPhoto ProductProductPhoto ProductReview ProductSubcategory ScrapReason TransactionHistory TransactionHistoryArchive UnitMeasure WorkOrder WorkOrderRouting ProductVendor PurchaseOrderDetail PurchaseOrderHeader ShipMethod Vendor VendorAddress VendorContact ContactCreditCard CountryRegionCurrency CreditCard Currency CurrencyRate Customer CustomerAddress Individual SalesOrderDetail SalesOrderHeader SalesOrderHeaderSalesReason SalesPerson SalesPersonQuotaHistory SalesReason SalesTaxRate SalesTerritory SalesTerritoryHistory ShoppingCartItem SpecialOffer SpecialOfferProduct Store StoreContact Hình 1.2 Phương pháp 2 Giả dụ rằng bạn muốn tìm tất cả các đối tượng đã có trong cơ sở dữ liệu “AdventureWorks”, trên máy chủ “HOME\SQLEXPRESS”. Thực thi lệnh dưới đây, tham khảo hình 1.3. [reflection.assembly]::LoadWithPartialName(Microsoft.SqlServer.Smo) | out- null $srv=New-Object Microsoft.SqlServer.Management.Smo.Server HOME\SQLEXPRESS $db = $srv.Databases[adventureworks] echo Tables echo ------ foreach ($tbl in $db.Tables) {$tbl.name} echo Synonyms echo ------ foreach ($Synonyms in $db.Synonyms) {$Synonyms.name} echo Stored Procedures echo ------ foreach ($StoredProcedures in $db.StoredProcedures) {$StoredProcedures.name} echo Assemblies echo ------ foreach ($Assemblies in $db.Assemblies) {$Assemblies.name} echo UserDefined Functions echo ------ foreach ($UserDefinedFunctions in $db.UserDefinedFunctions) {$UserDefinedFunctions.name} echo Views echo ------ foreach ($Views in $db.Views) {$Views.name} echo ExtendedStoredProcedures echo ------ foreach ($ExtendedStoredProcedures in $db.ExtendedStoredProcedures) {$ExtendedStoredProcedures.name} Hình 1.3 Cmdlets ở trên sẽ hiển thị các tên đối tượng trong cơ sở dữ liệu AdventureWorks trên máy chủ “HOME\SQLEXPRESS” (xem hình 1.4) Kết quả Hình 1.4 Phương pháp 3 Hãy nối phương pháp 1 và phương pháp 2 thành một biểu mẫu kịch bản PowerShell để chấp nhận các tham số như bên dưới. Tạo file listobjects.ps1 như bên dưới. param ( [string] $ServerName, [string] $DatabaseName, [string] $ObjectType ) [reflection.assembly]::LoadWithPartialName(Microsoft.SqlServer.Smo) | out- null $srv=New-Object Microsoft.SqlServer.Management.Smo.Server $ServerName $db = $srv.Databases[$DatabaseName] if ($ObjectType -eq TABLES) { echo Tables echo ------ foreach ($tbl in $db.Tables) {$tbl.name} } if ($ObjectType -eq SYNONYMS) { echo Synonyms echo -------- foreach ($Synonyms in $db.Synonyms) {$Synonyms.name} } if ($ObjectType -eq SP) { echo Stored Procedures echo ------------------ foreach ($StoredProcedures in $db.StoredProcedures) {$StoredProcedures.name} } if ($ObjectType -eq ASM) { echo Assemblies echo ---------- foreach ($Assemblies in $db.Assemblies) {$Assemblies.name} } if ($ObjectType -eq UDF) { echo UserDefined Functions echo --------------------- foreach ($UserDefinedFunctions in $db.UserDefinedFunctions) {$UserDefinedFunctions.name} } if ($ObjectType -eq VIEWS) {echo Views echo ------ foreach ($Views in $db.Views) {$Views.name} } if ($ObjectType -eq XP) { echo ExtendedStoredProcedures echo ------------------------ foreach ($ExtendedStoredProcedures in $db.ExtendedStoredProcedures) {$ExtendedStoredProcedures.name} } Hình 1.5 Bây giờ thực thi file listobjects.ps1 như bên dưới (xem hình 1.6) ./listobjects HOME\SQLEXPRESS AdventureWorks UDF Hình 1.6 Giải thích về các tham số listobjects là file kịch bản listobjects.ps1 trong thư mục c:\ps. HOME là tên cấu hình SQLEXPRESS là tên máy chủ SQL trên cấu hình chủ có tên HOME AdventureWorks là tên cơ sở dữ liệu cư trú trong SQLEXPRESS. UDF là một tham số, tham số này dùng để hiển thị tất cả các chức năng định nghĩa của người dùng trong cơ sở dữ liệu AdventureWorks. Tham số hợp lệ cho các kiểu đối tượng là UDF - User Defined Functions TABLES - Tables ASM - Assemblies SP - Stored Procedures XP - Extended Stored Procedures VIEWS - views SYNONYMS - synonyms Kịch bản PowerS ...

Tài liệu được xem nhiều: