Danh mục

Microsoft Windows PowerShell và SQL Server 2005 SMO – P10

Số trang: 9      Loại file: pdf      Dung lượng: 282.62 KB      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

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

Thông tin tài liệu:

Sử dụng kịch bản PowerShell để tạo kịch bản SQL Server cho cơ sở dữ liệu và các bảng Phần 10 này chúng tôi sẽ giới thiệu cách sử dụng các kịch bản PowerShell kết hợp với SMO và các tham số để tạo kịch bản SQL Server. Việc tạo các kịch bản SQL Server là một nhiệm vụ quan trọng cho quản trị viên và các chuyên gia phát triển cơ sở dữ liệu SQL Server. Chúng ta hãy giả dụ rằng muốn có một script PowerShell để tạo kịch bản “Create Database” cho một 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 – P10 Microsoft Windows PowerShell và SQL Server 2005 SMO – Phần 10Sử dụng kịch bản PowerShell để tạo kịch bản SQL Server cho c ơ sở dữ liệu vàcác bảngPhần 10 này chúng tôi sẽ giới thiệu cách sử dụng các kịch bản PowerShell kếthợp với SMO và các tham số để tạo kịch bản SQL Server. Việc tạo các kịchbản SQL Server là một nhiệm vụ quan trọng cho quản trị viên và các chuyêngia phát triển cơ sở dữ liệu SQL Server.Chúng ta hãy gi ả dụ rằng muốn có một script PowerShell để tạo kịch bản“Create Database” cho m ột cơ sở dữ liệu hoặc kịch bản “Create object” cho tấtcả các đối t ượng từ một c ơ sở dữ liệu đã có. Thêm vào đó, tên máy chủ và têncơ sở dữ liệu sẽ được thông qua như các tham số đối với kịch bản PowerShell.Chúng ta có thể thực hiện công việc này bằng cách tạo một kịch bảnPowerShell như bên dưới.Tạo C:PSScriptSQL.ps1 như thể hiện bên dưới. Tham khảo hình 1.0param( [string] $ServerName, [string] $DatabaseName, [string] $scriptType)[reflection.assembly]::LoadWithPartialName(Microsoft.Sql Server.Smo) |out-null$MyScripter=new-object (Microsoft.SqlServer.Management.Smo.Scripter)$srv=New-Object Microsoft.SqlServer.Management.Smo.Server$ServerName$db = $srv.Databases[$DatabaseName]$MyScripter.Server=$srvif ($scriptType -eq Database){echo Database Scripts echo -----------------$MyScripter.Script($srv.databases[$DatabaseName])}if ($scriptType -eq Tables){echo Table Scripts echo -----------------$MyScripter.Script($srv.Databases[$DatabaseName].tables)} Hình 1.0Thực thi kịch bản PowerShell nh ư bên dưới (Hình 1.1)./ScriptSQL HOMESQLEXPRESS Admin Database Hình 1.1Giải thích các tham số: ScriptSQL là kịch bản của ScriptSQL.ps1 trong th ư mục c:ps  HOME là hostname  SQLEXPRESS là tên má y chủ SQL instance trên host HOME  Admin là tên cơ sở dữ liệu c ư trú trong SQLEXPRESS  Database là tham số khi được thông qua sẽ tạo kịch bản “Create  database”Script này tạo kịch bản “Create Database” bên dưới (Hình 1.2)Database Scripts-----------------CREATE DATABASE [Admin] ON PRIMARY( NAME = Nadmin, FILENAME = NC: Program FilesMicrosoft SQLServerMSSQL.1MSSQLDATAadmin.mdf , SIZE = 2240KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )LOG ON( NAME = Nadmin_log, FILENAME = NC:Program FilesMicrosoft SQLServerMSSQL.1MSSQLDATAadmin_log.LDF , SIZE = 768KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)COLLATE SQL_Latin1_General_CP1_CI_ASEXEC dbo.sp_dbcmptlevel @dbname=NAdmin, @new_cmptlevel=90IF (1 = FULLTEXTSERVICEPROPERTY(IsFullTextI nstalled))beginEXEC [Admin].[dbo].[sp_fulltext_database] @action = enableendALTER DATABASE [Admin] SET ANSI_NULL_DEFAULT OFFALTER DATABASE [Admin] SET ANSI_NULLS OFFALTER DATABASE [Admin] SET ANSI_PADDING OFFALTER DATABASE [Admin] SET ANSI_WARNIN GS OFFALTER DATABASE [Admin] SET ARITHABORT OFFALTER DATABASE [Admin] SET AUTO_CLOSE ONALTER DATABASE [Admin] SET AUTO_CREATE_STATISTICS ONALTER DATABASE [Admin] SET AUTO_SHRINK OFFALTER DATABASE [Admin] SET AUTO_UPDATE_STATISTICS ONALTER DATABASE [Admin] SET CURSOR_CLOSE_ON_COMMIT OFFALTER DATABASE [Admin] SET CURSOR_DEFAULT GLOBALALTER DATABASE [Admin] SET CONCAT_NULL_YIELDS_NULL OFFALTER DATABASE [Admin] SET NUMERIC_ROUNDABORT OFFALTER DATABASE [Admin] SET QUOTED_IDENTIFIER OFFALTER DATABASE [Admin] SET RECURSIVE_TRIGGERS OFFALTER DATABASE [Admin] SET ENABLE_BROKERALTER DATABASE [Admin] SETAUTO_UPDATE_STATISTICS_ASYNC OFFALTER DATABASE [Admin] SETDATE_CORRELATION_OPTIMIZATION OFFALTER DATABASE [Admin] SET TRUSTWORTHY OFFALTER DATABASE [Admin] SET ALLOW_SNAPSHOT_ISOLATIONOFFALTER DATABASE [Admin] SET PARAMETERIZATION SIMPLEALTER DATABASE [Admin] SET READ_WRITEALTER DATABASE [Admin] SET RECOVERY FULLALTER DATABASE [Admin] SET MULTI_USERALTER DATABASE [Admin] SET PAGE_VERIFY CHECKS UMALTER DATABASE [Admin] SET DB_CHAINING OFF Hình 1.2Lúc này thực thi kịch bản PowerShell nh ư bên dưới (Hình 1.3)./ScriptSQL HOMESQLEXPRESS VixiaTrackTables Hình 1.3Giải thích các tham số: ScriptSQL là kịch bản ScriptSQL.ps1 trong th ư mục c:ps  HOME là hostname  SQLEXPRESS là tên máy ch ủ SQL Server instance trên host HOME  VixiaTrack là tên cơ sở dữ liệu cư trú trong SQLEXPRESS  “Tables” là tham số khi được thông gua sẽ tạo kịch bản “Create table” Script này sẽ tạo kịch bản “Create Database” d ưới đây (Hình 1.4)SET QUOTED_IDENTIFIER ONCREATE TABLE [dbo].[StockCriteriaHistory]( [StockCriteriaHistoryID] [int] IDENTITY(1,1) NOT NULL, [LocationID] [int] NULL, [LocationDescription] [varchar](100) COLLATESQL_Latin1_General_CP1_CI_AS NULL, [SiteID] [int] NULL, [Site] [varchar](100) COLLATE SQL_Lati ...

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