Разделы
Публикации
Популярные
Новые
Главная » Оптимизация производительности transact

1 ... 42 43 44 45 46 47 48 ... 55

FETCH DalabdiCb IMO gau-ame SE! Pc;cvna-:ie<=Gonarie+ back WHILE OgFLICHJTATUS-c; BEGIN IF NOT EXISTS(

selec * from master, .sysdevices wHERt name = (оаСпате--bac-;; BEGIN

Создать усройс1ва д.пя резервною коп/роза-ия PRIN : char; 13)*AdCTng tne data oackjo device for: +&dbname se ?execstr-EXEC sp addu;;iDdevice di s<. +5dtna!iie-back i- , -gnootpath-f \bacKupv -?dDname*Dac< .ат;р exec(@execstr)

-- Выгюл-лть резервное KOi.iipoeaH.ie саз^-

PRINT СНАР(13) + Тзаск1пд up database +СосЬпаг,е

BACKUP DATABASE Ccbname 1С @cevnam.e

set eiognessage-Backup of database +gdbndme+ complete

exec master. ,xp iogevent 6-coog, Px-gmessage. INFORMATIONAL

- Выполнить резервное копирование журнала гоанзакций if Odbnameo master) and (oaABASEPRCPERlYCgdbname. IsVurcLog)=q; BEGIN if not

ex]ss(SELtCl * FROM master..sysdev;ces wHERE name = todbnametack j BEGIN

-- Создать устройство для резервного копирования журнала PRINT Adding tne log backuo device for: +@dbnam,e set iaexecstr=ExtC sp aodumipdevice disk. + (Pdbna.me logback- .

T9rootpatn+\backup\+@dbnamelogback.dmp exec((3execstr) END

PRINT Backing up the tnansaction log for: +iadbname set PGevname=@Gbname+logoack BACKUP log Odbname to ?devname

set (aogmessage-Backup of the transacticn log for database * ?dbname* ccm.piete

exec master.,xp logcvent 60CCQ, ?loamessage, INFORMATIONAL end

FETCH Dataoases INTO gdbname set Pdevname4iidbname+back

CLCSE Databases DEALLOCATE Databases

PRINT CHAR(13)+Eackup operation successfully ccmpleteG RETURN 0

Help:

exec sp usage Coobjectname-sp dbbacKup, gcesc-Backups up one cr more catatases, C!-eating backup devices as needed,

@panametens=[(Pdbname=database name or mask to backup (Default: T)] [.(aserver= serven rame ][, (pusern3me user name ][, Cepasswond= passwond j, @author=Ken Hencerson, l?ema11 = khen@khen,con, @ven5ion=7 ,@revisior=Cr .

(adatecreateG i990Gi07, @datelastchangcd=1999G703,



460 Глава 17, Административный Trans

?exai!iple-bt ctrack.p пк i;-,. ч ;-jfr:.s-c ли:>-::ъо:у^е 5ce:< оаз

;ан-;ч. .---n; л,;:::- гй1,ь^а-гся с т'

RrJUKN GO

spQDCackup

Backmc ьр calaoasj Gj:;

Prccesseo 82J pages for daioOoie mH. file jVXcta or file 3C. Processed I pages for databasc GVI, r;lc- GvM Log en file 30. Backup or .-estore опе'-оглоп s :cessf,i Iv prjcjised £35 pages ir 2.468 seconds (2.735 MB/sec).

Backing up the transaction log O-: Gr:

Processed 1 pages for database Gv.-i. ne Gv-; tog on t:le i4.

Backup or restore ooeraticn .successjI :y о'-осе^ье: 1 pages in 0.086 seconds

(0.011 MB./sec).

Backing up dataoase master

Processed 1264 pages for datab;ice iiastr. Ie nicster cr file 21. Processed I pages for dataocsc master. f 4- mastiog on file 21. Backup or restore operation successfully processed 1265 pages in 3.302 seconds (3.136 M3/sec),

Backing up database mocei

Processec 96 oages for database mcdtl. f-lr iv.Lce dc,- or: -ie 18. Processec ] pages for database г^оае!. f ile mcderog or ile 18. Backup or restore operation successOu;:y piccessod 57 pages in 0.433 seconds (1.618 MB,sec).

Backing up database iiisdb

Processea 936 pages for d,ataDa;e nisd:?. file MSL-bUat, or fiie 17. Processed 1 pages for dataoase msGb. iie MSCBtcg on f.le 1/. Backup or restore ooeration successfully processed 93) paces in 2.369 seconds (3.237 MB/sec).

Backing up database Nortnwmd

Processed 392 pages for database i\0-tiiiv-nd. die iJorthrfi.rd on file 17. Processed 1 pages for database Nortfr.vlnd. file f)ortrwird log on file 17 Backup or restore operation successfully processed 393 pages m 1.113 seconds (2.B86 MB/sec).

Adding the data backup device for Ncrtl; ir:a2 Disk device added.

Backing up catabase NcrtPwinc2

Processed 112 pages for database kortnwina2. die Kcrtnwind2sys on file 1. Processec 16 pages for database Мог^плшаЗ', file iJ0rthwi!id2data on file 1, Processed 1 pages for database Northrtind2. file Morthwind21og on file 1, Backup or restore operation successfully processec 129 pages in 0.591 seconds (1,775 ME/sec).

Backing up database pubs

Processed 248 pages for dataoase pubs, file pubs on tile 18.

Processed 1 pages for database pubs, file pubs iog on file 18.

Backup or restore operation successfully processed 249 pages in 0,770 seconds

(2.639 MB/sec).

Backup operation successfully completoc



Эта процедура выполняет несколько 1пгтересных onepannii. Во-первых, она пе только осуществ.тяет резервное коппрованпе, по н при необходп.мости со.здает ycTpoficTBa для резервных копий. Она ирн.меняет нроцедуру sp getSQLregistry (c.NK главу 19) лля поиска в систе.чию.м реестре корневото каталога SQL Server и, используя его, определяет местоиоложепне фи.зического устро/ютва. Авто.мати-ческое создание ycrpoitCTB резервного коиировапия - это претгмущество данной ироцедуры ио сравнению с резервным копированием, управляе.мььм с помощью Enterprise Manager.

Другой т1тересн)>1Й э.че.мепт процедуры - ири.менение фуикитт DATABASE-PROPERTYO, чтобы оиредел1гть, уста)10влен ли в базе данных параметр trunc. log on chkpt (усечение журима траизакиий в KonTpo.ibHoii точке). Эта тщформация необходима, чтобы избежать попыток резервного когп1роваипя журнала транзак-ци11 такой базы данных, поскольку в это.м случае будет выдана оингбка. Резервное копирование усечогиого систе\Ю11 журната транзакций бессмысленно, такая резервная копия булла бы бесполезной, и сервер запрещает это делать. Когда параметр trunc. log on chkpt включен, единственный вариант резервного копирования базы - это копировать ее целико,\г

Процедура sp copyfile

Способность выполнять ко.манды onepaunoHHoii сисге.\И)1 - .мощное расширение языка Transact-SQL. В сочетанти! с поддержкой ОЕЕ-авто.матизацти1 это дает возможность решать на данном язьпсе задачи, обычно иредназпачеипые для тра-ДИЦИ01ПГЫХ языков программирования. Пртшеденная датее процедура задействует расширенную процедуру xp cmdshell для копирования файла операционной системы. Она допускает при.менение шаблонов операционной систе.чил и поэтому .чюжет копировать более одного фатЬш за один вызов. Вот код этой ироцедуры: USE master

IE OBJECT IDCsp eopyfile) IS NCT NULL DROP PROC sp copyf1le

CREATE PROCEDURE sp copyfilc esourcefilepatn sysrame. Ptargetfilepath sysname=NULL /*

Обьект: sp copyfile

Описание: Копирует файл операционной сис1еиы

Синтаксис: so copyf11e Psourcef , 1ераТг1=полный пу;ь исходною файле, (Ptargetfi lepath-путь и/ипи имя целевого файла

Возвращаемое значение: (нет)

Автор: Кеп Hencerson, Email: klien&khen.com Версия: 6,0

Примеры использования: sp copyf11e с:\mssql/vbacKupXmasterback,ашр' c;\mssql7\backup\mastenback,dmp,copy

sp copyfile C:\mssql7\backup\masterback,dmp \\arch1veserver\d$\backups sp copyfile c:\mssql8\backup\*.dmp g:\databasedumps

Дата создания: 1995-12-19, Дата последнего изменения: 1999-06-02.



462 Глава 17, Административный T.-ansact-SQL

if. Ai

SE; NOCOUNT ON

IF Osourcef iecath=V ) OR (Otargotfi lopalh IS NULL) GCfG Molp

DECLARE Jpcnast, varchar!8C0C)

CREATE lABLE ifcrrid result (output var,-:nar(8000))

EXEC master, .xp sprintf ?cmdstr OUTPUT, copy %i 5 ,0sojrcefi iepaili, targeti iepat,!

insert #cmd result

exec iTiaster., xp cmdsheri ?cmostr

select * FROM #rad result

IF exists(select * from #c,nid result where output like tf-reis) copiedD BiGIN set (aciTidstr=The file copy operation *&сяй$1г- was successful (at least one file was copied) print (Pcmdstr

exec master, .xp logevent 60G00, (Pcnidstr. informational e.4D else raiserror;File copy fai led, 16,1)

drop table #cmd result return 0

Hel p;

exec sp usage (aobjectname=sp copyfile,(Pdesc=Copies an operating system file, (aparameters=(asourcofilepath=-full source file path, (atargetf1lcpath=target file path and/or filename,

(aauthor=Ken Henderson, (aemail = khen(3khen.com, (aversion=6 ,(arevision=0,

i?datecreated- 19951219,(Sdatelastchanged- 199906C2, iaexa,iipie=sp ccpyfile ciXmssqiyXbackupXmasterbacK .dmp c:\ir.ssqi7\backup\mastorback.omp.copy

sp copyfi le c:\m5sql7\backup\masterback.d!iio \\archiveserver\d$\backups sp copyfile c;\mssql8\backup\*,dmp g:\databdsedumps

(результ'аты сокращены)

sp copyf ile c:\mssql7\log\errOrlog, c:\mssal7\log\e-rorlog,sav

1 file(s) copied.

The file copy operation copy c:\mssql7\log\errorlog

c:\mssql7\log\erroriog,sav

was successful (at least one file was copied)

Прел<ле че.м выполнить ко.манду операщюнной системы COPY, данная процедура использует для ее формирования раснтренную процедуру xp sprintf. Это .можно было бы сделать с помощью простого соедннеиня строк, но здесь ири.меняется xp sprintf, чтобы показать ее дост)нность и полезность. Она обеспечивает функщюнальность, очень близкую той, которая и.меется у функции C/C+-t-sprintfO, и .может оказаться весьма удобной - особен1Ю если нотребностн ({)ор-.матировання гораздо сложнее представленных здесь. К сожалению, в настоящее



время она ноддерживае! только строковые apivMeiiibi. хо1 я д.чя аере.чатп в ;-)i-y нроцедуру iiepe.MeuHijix др\ гнх ччиюв их .\и)л<но прео6ра.ч(;вать в счроки.

Обратите вин.\ки1ис иа пре()1НчС базы данных, задеГютвоваиньп ! нрн вызове как xp sprintf, так и xp cmdshell. Исобходи.мость эчого об1)ЯСниется тем, чго, в oi-личие от обычных сисче.\И1ых процедур, опреде.чспие местонахождения раснап-реппых процедур в ба.зах данных авчо.чкггпчески не скущесгвляется. Если в вызове такой процедуры пе указано по.чтюсчыо и.мя базы даннььх, попытка вызова процедуры и .4io6oii базе, за nctc.4io4eniieM master, закончится выдачей сообщения об оип!бке.

Если доиолнигельиьй! пара.метр no output ие указан, процедура xp cmdshell возвращает набор данных, содержащий резу.чьтат вьпюлнения onepaunonnoii CHCTe.Moii своей ко.манды (или команд). В данно.м с.чучас sp copyfile зале11ствуег оператор INSERT...EXEC для по.мещеиия зчого резулыата в таблицу - далее его .можно нроанализировагь и определить, успению ли вынолиеиа ко.манда. Чтобы убедиться, что хотя бы один файл успению скопирован, нужно найти строку file(s) copied . Процедура использует предикат EXISTS для определеппя на.чи-чия дайной строки в ])езульгате, возвращенном процедурой xp cmdshell, и выводит соответствующее coooineinie.

Процедура sp make portable

Потребность в переиоси.чичх базах данных в последние несколько лет резко выросла. Сети стали быстрее, дисковые накопители в.местительиее, а компьютеры подешевели, иоучю.му передача (1)айлов и иересы.чка почтовых вложений раз-меро.м в несколько ,\!е1-а6айт стали привычной операцией. Зачастую целые базы данных перссы.чаются как в.чоження по электронно!! почте.

Для оперативного решения за.тачи создания nepenocHNibix (то есть сменных) баз данных в SQL Server предус.мотре!1а процедура sp create removable. Процедура sp make portable исио;1Ьзует ее для авто.матизащш создания nepcnocn.\[oii копии существууощей базы данных. Достаточ1Ю указать и.мя базы данных, п sp make portable создаст переносимую базу данных, содержащую те же объекты, что и орщчшал (но без данных). Эту базу .\южио перевести в aBTonoNHibui реж1!.\1 и скопировать на сменный носитель, переслагь ио электронио!] почте, передать на другой сервер н т. д. Рассмотрим ее код:

USE master

IE OEJECT ICCspjnake portable; IS NOT NULL DROP PROC sp na<e portable

CREATE PROC sDjnake Dortabie РЬпап'.е sysnameNULL. (anewcUrame sysnameNULL. gobjectnafne sysnarr,e=T.

(Susername sysnaii;e=NULL. (ppassword sysname= . (?server sysriame(iccal) /*

ОЬьекг: sp riake pcrtaoie

Списание: Создает переносимую копию сушествуюлей базы данных (только обьекты - без данньл)

Синтаксис: sp make pcrtaole @пе с)опа1)с=имя создаваемой базы [ ТйсЬпате-копируеиая база (по умог;аиию: DB NAME())] [.l?-objectnaiiTe=ua6rch имен копируемых обьек-св (по умолчанию % )}



L ,@pdssvvorccuc;;t. \:о yKOi.-aff-:

[ .PservcrHMfl сервера ( o учсл-ci/i:: (-c-.;, ; J

Возвращаемое зиачсп.-е: (nei.i

Ав ор: ,<en Hencerson, Lir.di. .ki G:..f.-е';..:т<

Версия: 7.С

Принес: sp inake pcr!,aDo tor.airfiTiOrijwnc . CT-?ACi2; te-r .t.fiwind2 . (?user= sa

Дата создания: 1996 03-03. fc нсслед-е^; изме-.ония: 1999-07-03.

*/ AS

SET f.OCOUhT ON

IF (gdbnaiiie=71) OR ОрпелсОпспе--/?; OK (SnevHlona.ne IS NULL) GOTO Help

DECLARE Pworksir varc,har,(8G00), gsqipath varc~dr(80C0}. ?scr-;ptf1le sysname. 9es int,

Psysdevp sysname, Pdatadevp sysrame, Plogdevp sysna,Tic,

@sysdevi sysname, (pdatadevl sysname, Plcycevl sysna,i;e

-- По умопчанию копируется rei.yudfl база

IF (Mbname IS NUIL) SFl (!idbname=DB NA;-iEО

-- По умолчанию в О.ЧО используется текущее улЯ гопьзоватепя

IF (giusername IS NULL) SET Pusername-SUSE.RSNAMEi)

IF (DB lD((aabname) IS NULL) GOTO Help -- Незерное лкя ис,чо/1ной базы

EXEC 0res=sp valOname rapewdbnanie.O IF ((ares=l) GOTO Help

-- Удалить целевую базу даннй1,<, еспи она у, е сущес1вуе: IF (DB ID(0newdbname) IS NOT ;MULL) EXEC sp dbremove Pnewdbname.OROPDFV

-- Получить корневой каталог установки SOL Server EXEC sp getSOLregistry SQcRootath.&sqlpath OURur.

(ausernamePusernane, Opassworcgpassword, &server-4iserver EXEC master, ,xp sprintf Aworkstr OUiFUT. DEL 5;s\\data;\Xs.*,

lasqlpath.Pnewdbname -- Удапить файлы целевой базы данных EXEC master, ,xp cnidshell C<iwcrkstr, r;0 Output

SET PsysdevHPnewdbnamesys -- Опредепиь ломческое и физическое

- - имена усгрсйства SET (adatadevl=(anewdbnamedata -- на основе име:-л1 новс ; базы данных SET (alogdev=(гnewdbname-log SET @sysdevp=(asql path-i- \data\ -gnewdbname+, sdf SET (adatadevp=(asqlpath-\data\-i?newdDndme-l- ,mdf SET (aiogdevp=(asqlpath-\data\ Onewdbname-, Idf

EXEC master,.sp create remGvable -- Создать hobj-o базу данны.ч MbnameOnewdbname. (asyslogical=(asysdevl. gsysphysical-Psysdevp.



ipsyssTze-l.

?iogphysicd=iaiogdevp. (aiogsue=l,

Gctaiogicd! b@datacevl,

@datdphysicall=3datddevp,

@oatasl2el=3

-- Закомменглровано, поскольку процедура sp cecLi fy reir,ovable выполнялась с ошибкой на некоуооых версиях SQL Server (например. SGL 7 SPl). -- При запуске указанного ниже кода выдавалось следующее сообщение:

Server: Msg 2С8. Level 16. State 1. Procedure sp check portable. l.:ne 18 -- InvaMd object name sysdatabases.

EXEC @res=master. .sp centify removable (onewdbname. auto -- Убедиться, что новая база

переносима IE (@nes<>0) BEGIN

RAISERROR(Error creating portable database. Database files

sp certify removable check.16.1)

DECLARE (afilename sysname

SET (afilename = CerCifyR [+@newdbname+] .txt

EXEC sp readtextfile (afilename

RETURN -1

-- Подключить базу данных

EXEC master. .sp dooption @newdbname.offline.false */

EXEC master..xp sprintf @worKStr OUTPUT,EXEC Xs..sp generate scnipt

(?objectname= Xs .

goutputnanie= s\XsTEMP. SQL .

(aresultset= NO . (ausername= ls . (apassword= Xs . (aserver= ?s .

(adbname.(aobjectname,(asqlpath.(anewdbname. Pusername, (apassword. @serven EXEC(iaworkstr) -- Создать сценарий для старой базы

EXEC master. .xp sprintf (aworkstr OUTPUT.osql -UZs -P%s -S%s -dXs -iXs\XsTEHP.SQL -os\ sTE.MP.OUT .

gusername.?password.(server.@newdbname.gsqlpath. (anewdbname. @sqlpatn.

?newdbname -- Запустить сценарий в новой базе EXEC master..xp cmdshell gworkstr. no output

PRINT REPLICAIEC- .256)+CHAR(13) +

Removable database +(anewdbname+ successfully created RETURN 0

Help:

EXEC sp usage (aobjectname-sp make portable.

!3desc=Makes a portable copy of an existing database (schema оШу - no data),

(aparameters-iSnewdbnamename of new database to create

[.(adbname=database to copy (Default: DB NAME())]

[.@objectname=mask specifying which objects to copy]

[.iausername-user account to use for SQL-DM0 (Default: SUSER SNAME()]

[.(apassword=pdssword for DM0 user account (Default: )]

[.gsenverserver to log into (Default: (local) )].

(aauthor=Ken Henderson, (aemail-kheniakhen,com .@version=7 ,@revision-0.



(fCalecredtec- 19960803. ;=catpiastctanged= 19990/03.

?e.<d4Die= soj;iai;e co~tab e gcpname-norlnw:rd . 0re.vcund;iie- rorthw!nd2 . ser- sa RETURN -1

sc гиКеj:orcebe D-anse-Norihwirc. newcoraiie- Kcrthwiпй2 (рс;!ул1>тагы сок1)а1цены)

Tne CREAiE DATABASE process is allocating :.C0 KB on dis,< North ;nd2s3s. Ti-e CREATE DATABASE process is allocating l.OC MB on disk Northwino2log. Extending database Dy 3.00 MB on disk Northwina2data. Ihe filegroup property OEFAUir has beer set.

Первьп! uiar в создании noBoii базы данных - определить, где установлен SQL Server. Это позволит сформировать имена физических устройств, на которых ноб;1я база будет создаваться. Зате.м для создания базы вызывается процедура sp create removable. Далее вызвается sp generate script (она онисаиа датее в .9Toii главе), которая генерирует сценарий SQL для всей исходной базы данных. После этого для запуска сценария вызывается утилита OSQL (посредство.м процедуры xp cmdshell), Для того чтобы запуск сценария вьнтолиялся в контексте новой, а не исходно! ] базы данных, исполь.зуется ключ -d ко.мандпой сгроки OSQL. Это гарантн1)ует, что объекты, создаваемые сценарием, попадут в новую базу данных.

Конечным результато.м вьнюлнепия этих опсрацпй является нереноси.мая база даниых. После ее создания \и)Жно применить процедуру sp dboption для не]5еве-дення базы в aBTonoNHibnl режи.м и копировать ее фаГьты куда угодно. Вы лаже .можете применить для нх копнровання процедуру sp copyfile.

Чтобы сделать переноси.мую базу данных доступной на новом сервере, заде!!-ствуется системная процедура sp attach db. Это отличное решение для установки готовых к использованию баз данных со сменных носителей - например, ко.м-гшкт-дисков. Оно предоставляет peajbnyio альтернативу ири.меиеиию сценариев и резервных когнп'1 для развертывания баз iianrniix в ваиньх прнложиншх.

Сценарий INIT SERVER.SQL

Установка новых серверов - это задача, за стандартизацию и paHHOHajHi3aHHK5 которой люди готовы платить са.мую высокую цену. Адмн}П1Страторы, которые этим систе.матически .зани.маются, обычно сводят этот процесс к хорошо от.ш-женной последовательности действнГг Наверное, они могли бы это делать с за-крыты.мн глаза.ми - воз.можио, иногда именно так и следует поступать.

Сценарий, приведенный даше, представляет собой шаблон, из которого можно сконструировать последовательность действий для своих собственных нужд. Он, конечно, не полон - вероятно, в каждой организацигг есть свои требования к процессу установки. Данный шаблон не и.меет фор.мы хранимой процедуры, пото.му первое, что необходн.мо сделать с процедуро!!, - это выполнить на новом сервере сценарий для ее со.здания. Поскольку инициализация сервера обычно представляет собой единовременный процесс, вы люжете запустить этот сценарий в первую очередь.



Основными ()нерация.\н1, Kcnoibic C)6i>i4iio вк.иочактг в ( ценарип нпициа-шла-НИН сервера, являкугся следующие:

О coa.TajHie ycTpoiicTBa д.тя ре: рвного копирования:

О создание 1К).-и.зоваг(>.и.ски.\ баз данных и/нлп выно.чиение оие1)ацн1! восч:!а-новлстии! для помещения в них информации;

О установка пользоватечиских храшкчп^кх процедур;

О nacTpoiiKa процедуры автозапуска;

о настройка шаблслиюн базы данных model;

О планирование распнсаиия запуска задач поддержки системы;

О ввод пользователей и настро!!ка системы безопасиостп;

о к(Л1фн1урирование баз данных и наст]Ю1Й<а их параметров;

о конфигурирование сервера.

Еслт! вы хотите, чтобы сервер стабильно работа;! в буду!!!е.м. следуе!- все!да !!ач!;!!ать с правиль!!ой установки cep!iepa. Несмотря i!a то что за!-руже!!!!ость ад.М!!ти!Стратора сокра!цается с В!>1ходо.м каждой ио!ЮЙ верс!!1! SQL Server, !!ла-

И!1рОВа!!!!е !!!рает !!С!<Л!0Ч!1ТеЛЫ!0 ВаЖ!!у!0 роль. Даже !!е СЛИ!!!К0.М аКТ1!!И!0 !!С-ПОЛЬЗуе.\!Ь!е С!!СГе.М!>! Гребу!ОТ (М!реде;!е!И!!>!Х уС!!Л1!Й, СВЯЗа!!И!>!Х с у!!равле1!!!е.м и !!0ДЛерЖК01К

Расс,\!отр!!.м прп.\!ер сценар1!Я 1!И1!!!!!ал!!За!!!!!! сервера:

ООьек:: IMT SlRVER.SQ:.

Списание: сценарий иниц/ал..зачИ/ сеовера

Автор: Кеп Henderson. Email: KhenlpKhen.com

Верс/я: 7.0

Дата создания. 1990-02-СЬ. Дага последнего изменения: 1999-07 05. *7

SE NOCOUN O.N GC

USE master GO

LECLARE Pusemame sysname. &Dassvv-orC sysname. gserver sysnaiije

SET Pusornane-Sa Указать здесь имя попьзоватедя

SET iapasswora= -- Указа-ь здесь пароль (дагжый сценарий

-- должен храниться в падежом месте!) SET gserver=(local; -- Указать здесь имя сервера

-- Установить нас[ройки шаблонной базы

PRINT Setting template database options

EXEC master..sp dboption model.auto update statistics.true

EXEC master. .sp dbopt1on mode:.autoshrink.true

EXEC master..sp dboption model.select into7bulkcopy.true

EXEC master..so dboption model.tern page detection.true



468 Глава 17, Административный

tRINT Acalng tesnpiaw ddie tyoei

IF £XISTS{StLECT * FROM racoe). .systypes .ihJRt гдтй - ai

EXEC iTicdel. .sp droptype d EXEC model. .sp aadlype a. CecuMl (1С,?) , WILL

- Создать усгрсйсгва ,, задач;; дг.я резерйнсю кстирозач/я .зеех баз, - - кроме tempdb

iRiNT Creating bsLkup devces end jcr steps ci- every database except tempdO

DECLARE (Prootpatr! sysname, gs/ecstr varcnai-SOCO. @ccnaTie sysname, ?jcb id uniqueidentifier, !?step id int

Получить корневой каталог установки SOE Server EXEC sp getSQLregistry gregkey=SQERcctPaji. JreavalLir-iruOtpath OUTPUT. Pusern6;;ie=(?.jserr,ame. (?pes5,ord--i?passv,ord, i?server=3server

- Удапить оператор, если он суа,ес1вуег

IF EXISTSCSELECT * FROM msdb. .sysoperatcrs M-:ERE naoe - Puck Feet) EXEC msdb..sp delete operator Puck Feet

-- Создать оператор задачи PRINT Setting up the job operator EXEC msdb sp add operator gname - Puck Feet, enabled = I,

@email address [SMTP:puckfeet(?dastard com], @pager address = 86753C9(apagorp-o: .ccm. @weekaay pager start timo = 090000, @weekday pagor enc time = 210000, (?pager days = 127, @netsend address NOi hGCKEv

-- Удалить задачу, если она уке cyueciByei

SELECT (ajob id = J0b id FROM msdb..sysjobs s HERt name-Dai lyBdckuo IF ((ajob id IS NOT NULI) BEGIN

-- He удалять задаиу, если она работает на нескольких серверах

IF (EXISTS (SELECI * FROM msdb..sysjobservei-s WHERE (job ia-@jCb id)

AND (server id

<> 0))) BEGIN

RAISERROR (Unable to cr-eate job because tnero is already a multi-server job with the same name.,16,1) END ELSE -- Удалить sasajy

EXECUTE msdb sp delete jcb gjob id ?job id

-- Добавить задачу, выполняюадю резервное копировапие PRINT Adding the backup job EXEC msdb. .sp add job C3job name DailyBackup, (aenabled 1,

©description = Daily backup of all databases, @owner login name sa, (?not1 fy level eventlog = 2, (anotify level netsend 2, (pnotify netsc-nd cperator name=Puck Feet, ?deletejevel = 0

-- Планирование расписания запуска задаш PRINT Scheduling the job



1 ... 42 43 44 45 46 47 48 ... 55
© 2004-2024 AVTK.RU. Поддержка сайта: +7 495 7950139 в тональном режиме 271761
Копирование материалов разрешено при условии активной ссылки.
Яндекс.Метрика