Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
podckashite pls kak mne bit" : ia na nobyu raboty prishla i teper" y y menia na servere 57 baz oni ne razy ne brali backup , ia vcegda delala tak : picala dynamic store proc( kotorii potom v backup job zapicivala 2 step ) gde backup cshimaetcia cnachala ( obichno c Winrar ) a potom etot .bak ydaliay mo teper" y menia 57 baz neponiatno kak ix raznesti vo vremeni i ne bydyt li eti backup dryg drygy meshat" vo vremia ispolnenia ili ix vce vmeste v 1 bol"shoi job zapicat" , chtobi dryg drygy ne meshali ??? pocovetyite poshalyista !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 16:13 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
Если одновременно делать бэкап для разных баз, то они друг другу мешать небудут. А чтобы один раз создать пакет необходимых заданий, можно создать курсор, в котором черпать нужные названия баз данных из системных таблиц, и в теле курсора вставить создание заданий(с бэкап) для нужных баз данных......А создавать одно задание для всех - не лучший вариант, если по какой либо причине понадобиться незапускать бэкап для какой-нибудь базы - лучше это делать в соответствующем задании... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 19:35 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
cpacibo bol"shoe ! ia toshe tak podymala , chto nado cdelat" eto bolee flexible znachit nyshno 57 jobs cozdat" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 20:00 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
Наверное не 57 jobs надо создавать, а просто 57 шагов для бэкапа. Сделал 1 - перешел на второй и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 22:14 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
2 Слон: Каждая база должна иметь свой план обслуживания и бэкап одна из частей этого обслуживания..Если все делать в одно задание (в котором 57 шагов), то что будет если одна из баз переименована, удалена или несуществует более ?? Ну и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 23:00 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
почему бы не написать продцедуру которая бы отрабатывала бэкап для базы имя которой передано в параметре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2002, 23:13 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
да вы правы - я сделаю 57 шагов в 1 Job и в случае неудачи (а это может быть и попытка бэкапить несуществующую базу буду просто переходить к следующему бэкапу ) на каждую базу будет 3 шага ( backup , add to winrar , delete bak from dir ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 03:31 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
171 шагов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 03:32 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
Если у вас SQL2000 я бы предложил следующий вариант - создать DTS, который в качестве входного параметра получает имя базы данных(может быть еще что-то) и производит с этой базой необходимые действия. О каждом шаге(собственно резервное копирование, архивирование с помощью Winrar, ...) вам может приходить оповещение(e-mail, SMS). - как предложил Владимир, создать процедуру, которая будет в цикле вызывать DTS с конкретным именем базы - эту процедуру поместить в Job В SQL7 данная схема тоже может быть реализована, только в более сложном варианте, т.к. в DTS невозможно передать значение при вызове ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 07:16 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
Скорее всего вам может помочь Database Maintananse Plans. 1. Графический интерфейс (Wizard). Отметить галочкой 57 БД и нажать с десяток next'ов 2. Одна точка входа для создания и поддержания типовых заданий для нескольких БД (!) 3. Простота в поддержании (если Вам придется что то изменить ) Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 08:03 |
|
||
|
create backup plan for 57 db
|
|||
|---|---|---|---|
|
#18+
Этот скрипт создаст таблицу master.dbo.ListDatabasesBackup (см ниже) Заполнит ее списком баз данных в порядке возрастания их объема. Создаст процедуру master.dbo.BackupListDatabases (см ниже) Эту процедуру надо вызвать в задании. Она делает backup баз на ленту, у которых EnableBackup = 1, в порядке указанном в OrderBackup. После backup последней базы выплюнет ленточку. Модифицируйте эту процедуру для ваших нужд. Управлять тем для каких баз надо делать резервное копирование и в каком порядке надо редактированием таблицы master.dbo.ListDatabasesBackup. Надеюсь это вам подойдет. Мне подходит. К сожалению вся разметка будет утерянна. Так что читабельность невысокая. use master go CREATE TABLE [dbo].[ListDatabasesBackup] ( [DBName] [varchar] (128 ) COLLATE Cyrillic_General_CI_AS NOT NULL , [OrderBackup] [int] NOT NULL , [EnableBackup] [tinyint] NOT NULL , [DESCRIPTION] [varchar] (8000) COLLATE Cyrillic_General_CI_AS NULL ) ON [PRIMARY] GO ALTER TABLE [dbo].[ListDatabasesBackup] WITH NOCHECK ADD CONSTRAINT [PK_ListDatabaseBackup] PRIMARY KEY CLUSTERED ( [OrderBackup] ) ON [PRIMARY] GO ALTER TABLE [dbo].[ListDatabasesBackup] WITH NOCHECK ADD CONSTRAINT [DF_ListDatabasesBackup_EnableBackup] DEFAULT (0) FOR [EnableBackup] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BackupListDatabases]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[BackupListDatabases] GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO CREATE procedure BackupListDatabases @NameDeviceBackup sysname, @RETAINDAYS tinyint, @MEDIANAME varchar(255) as declare @FirstBackup int, @LastBackup int, @DateBeginBackup char(10), @NAME varchar(256) set @DateBeginBackup = convert(char(10),GetDate(),104) select @FirstBackup = min(OrderBackup), @LastBackup = max(OrderBackup) from ListDatabasesBackup where EnableBackup = 1 DECLARE cListDatabasesBackup CURSOR LOCAL FAST_FORWARD FOR select DBName,OrderBackup,[DESCRIPTION] from ListDatabasesBackup where EnableBackup = 1 order by OrderBackup DECLARE @DBName varchar(40), @OrderBackup int, @DESCRIPTION varchar(8000) OPEN cListDatabasesBackup FETCH NEXT FROM cListDatabasesBackup INTO @DBName, @OrderBackup, @DESCRIPTION WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN if IsNull(RTrim(@DESCRIPTION),'') = '' set @DESCRIPTION = @DBName + ' Backup от '+@DateBeginBackup set @NAME = @DBName+' Backup' if @OrderBackup = @FirstBackup and @OrderBackup = @LastBackup begin -- Это если нужно делать Backup только для одной базы. BACKUP DATABASE @DBName TO @NameDeviceBackup WITH INIT , UNLOAD, RETAINDAYS = @RETAINDAYS, NAME = @NAME, STATS = 10, DESCRIPTION = @DESCRIPTION, FORMAT , MEDIANAME = @MEDIANAME end else if @OrderBackup = @FirstBackup begin -- Это если база стоит в начале списка Backup, то нужно инициализировать ленту. BACKUP DATABASE @DBName TO @NameDeviceBackup WITH INIT , NOUNLOAD, RETAINDAYS = @RETAINDAYS, NAME = @NAME, STATS = 10, DESCRIPTION = @DESCRIPTION, FORMAT , MEDIANAME = @MEDIANAME end else if @OrderBackup = @LastBackup begin -- Это если база стоит в конце списка Backup, то нужно сделать eject для ленты. BACKUP DATABASE @DBName TO @NameDeviceBackup WITH NOINIT , UNLOAD, RETAINDAYS = @RETAINDAYS, NAME = @NAME, SKIP , STATS = 10, DESCRIPTION = @DESCRIPTION, NOFORMAT , MEDIANAME = @MEDIANAME end else begin -- Это если база стоит в середине списка Backup, то нужно сделать eject для ленты. BACKUP DATABASE @DBName TO @NameDeviceBackup WITH NOINIT , NOUNLOAD, RETAINDAYS = @RETAINDAYS, NAME = @NAME, SKIP , STATS = 10, DESCRIPTION = @DESCRIPTION, NOFORMAT , MEDIANAME = @MEDIANAME end BACKUP LOG @DBName WITH TRUNCATE_ONLY END FETCH NEXT FROM cListDatabasesBackup INTO @DBName, @OrderBackup, @DESCRIPTION END CLOSE cListDatabasesBackup DEALLOCATE cListDatabasesBackup GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO create table #databases ( DATABASE_NAME sysname NOT NULL, [size] int NOT NULL, Remark varchar(254) null ) insert #databases exec sp_databases DECLARE cListDatabases CURSOR READ_ONLY FOR select Database_name from #Databases order by [Size] delete from ListDatabasesBackup DECLARE @name varchar(40), @Npp int OPEN cListDatabases set @Npp = 100 FETCH NEXT FROM cListDatabases INTO @name WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN insert ListDatabasesBackup (DBName,OrderBackup) values (@Name,@Npp) set @Npp = @Npp + 100 END FETCH NEXT FROM cListDatabases INTO @name END CLOSE cListDatabases DEALLOCATE cListDatabases drop table #databases ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2002, 08:17 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32020336&tid=1824401]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
4ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 402ms |

| 0 / 0 |
