1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 7 pptx

11 465 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 7 pptx
Thể loại Bài thuyết trình
Định dạng
Số trang 11
Dung lượng 446,88 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

Nguồn : quantrimang.com 

The MAK

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

Trang 2

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

Trang 3

VendorAddress

VendorContact

ContactCreditCard

CountryRegionCurrency

CreditCard

Currency

CurrencyRate

Customer

CustomerAddress

Individual

SalesOrderDetail

SalesOrderHeader

SalesOrderHeaderSalesReason SalesPerson

SalesPersonQuotaHistory SalesReason

SalesTaxRate

SalesTerritory

SalesTerritoryHistory

ShoppingCartItem

SpecialOffer

SpecialOfferProduct

Store

StoreContact

Trang 4

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.SqlSe rver.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 " -"

Trang 5

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ả

Trang 6

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.SqlSe rver.Smo") | out-null

$srv=New-Object "Microsoft.SqlServer.Management.Smo.Server"

"$ServerName"

$db = $srv.Databases["$DatabaseName"]

if ($ObjectType -eq "TABLES")

{

Trang 7

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"

Trang 8

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ố

Trang 9

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 PowerShell ở trên hiển thị các tên của các đối tượng của một cơ sở dữ liệu cụ thể trong máy chủ (xem hình 1.7)

Kết quả

UserDefined Functions

-

ufnGetAccountingEndDate

ufnGetAccountingStartDate

ufnGetContactInformation

ufnGetDocumentStatusText

ufnGetProductDealerPrice

ufnGetProductListPrice

ufnGetProductStandardCost

ufnGetPurchaseOrderStatusText

ufnGetSalesOrderStatusText

Trang 10

ufnGetStock

ufnLeadingZeros

dm_db_index_operational_stats

dm_db_index_physical_stats

dm_db_missing_index_columns

dm_exec_cached_plan_dependent_objects dm_exec_cursors

dm_exec_plan_attributes

dm_exec_query_plan

dm_exec_sql_text

dm_exec_xml_handles

dm_io_virtual_file_stats

fn_builtin_permissions

fn_cColvEntries_80

fn_check_object_signatures

fn_dblog

fn_dump_dblog

fn_EnumCurrentPrincipals

fn_fIsColTracked

fn_get_sql

fn_GetCurrentPrincipal

fn_GetRowsetIdFromRowDump

fn_helpcollations

fn_helpdatatypemap

fn_IsBitSetInBitmask

fn_isrolemember

fn_listextendedproperty

fn_MapSchemaType

fn_MSdayasnumber

fn_MSgeneration_downloadonly

fn_MSget_dynamic_filter_login

fn_MSorbitmaps

fn_MSrepl_map_resolver_clsid

fn_MStestbit

fn_MSvector_downloadonly

fn_my_permissions

fn_numberOf1InBinaryAfterLoc

fn_numberOf1InVarBinary

fn_repladjustcolumnmap

fn_repldecryptver4

fn_replformatdatetime

fn_replgetcolidfrombitmap

fn_replgetparsedddlcmd

fn_replreplacesinglequote

Trang 11

fn_replreplacesinglequoteplusprotectstring

fn_repluniquename

fn_RowDumpCracker

fn_servershareddrives

fn_sqlvarbasetostr

fn_trace_geteventinfo

fn_trace_getfilterinfo

fn_trace_getinfo

fn_trace_gettable

fn_translate_permissions

fn_varbintohexstr

fn_varbintohexsubstring

fn_virtualfilestats

fn_virtualservernodes

fn_yukonsecuritymodelrequired

Hình 1.7

Kết luận

Phần 7 của loạt bài này chúng tôi đã minh chứng về cách sử dụng PowerShell

và SMO để tìm tất cả các đối tượng có sẵn trong một cơ sở dữ liệu trên máy chủ

 

Ngày đăng: 22/12/2013, 02:16

HÌNH ẢNH LIÊN QUAN

Hình 1.5   Bây giờ thực thi file listobjects.ps1 như bên dưới (xem hình 1.6) - Tài liệu Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 7 pptx
Hình 1.5 Bây giờ thực thi file listobjects.ps1 như bên dưới (xem hình 1.6) (Trang 8)

TỪ KHÓA LIÊN QUAN