--------------------Смотрим список файлов в дампе---------------------------------
---Высчитываем размер базы размер страницы * кол-во страниц----------------------
use master
go
load database toyota from 'd:\dump\report72.bak'
with headeronly
go
----------------------Инициализируем девайс для даты базы------------------------
DISK INIT
NAME='report72_pr_data',
PHYSNAME='D:\data\sybase\report72_pr_data.dat',
SIZE='11700M',
VSTART=0,
CNTRLTYPE=0,
DSYNC=TRUE
go
-----------------------Инициализируем девай для логов базы--------------------------
DISK INIT
NAME='report72_pr_log',
PHYSNAME='D:\data\sybase\report72_pr_log.dat',
SIZE='3300M',
VSTART=0,
CNTRLTYPE=0,
DSYNC=TRUE
go
---------------------- Дропаем девайс, если нужно-----------------------
USE master
go
EXEC sp_dropdevice 'report72_data'
go
-------------------------Создаем пустую базу на созданных девайсах-----------------------
USE master
go
CREATE DATABASE report72_pr
ON report72_pr_data=11700 --'AAAA_data' - имя девайса и размер
LOG ON report72_pr_log=3300 --'AAAA_log' - девайс, на котором будет располагаться файл данных и размер
go --если дату и логи восст. на один девайс нужен параметр with override
USE report72_pr
go
EXEC sp_changedbowner 'sa'
go
-----------------------Восстанавливаем дамп на созданную базу---------------------------------
load database report72_pr from 'd:\dump\report72.bak'
go
online database report72_pr
go
--------------------------------
use master
go
sp_addlogin 'user', '123456'
go
use report72_pr
go
sp_dropalias user
go
use report72_pr
go
sp_addalias user_dbo, dbo
go
sp_adduser 'user', 'user'
go
USE master
go
CREATE DATABASE report72_pr
ON report72_data=11700 --'AAAA_data' - имя девайса и размер
LOG ON report72_data=3300 with override --'AAAA_log' - девайс, на котором будет располагаться файл данных и размер
go
use master
go
DROP database report72
go
select @@version
#Cross_dump_unix
--DATABASE_NAME заменить на имя бд
use master
go
select getdate()
go
exec sp_dboption DATABASE_NAME ,'single user', true
go
use DATABASE_NAME
go
checkpoint
go
exec sp_flushstats
go
checkpoint
go
waitfor delay '00:03:00'
--'HH:MM:SS'
go
use master
go
dump database DATABASE_NAME to 'compress::5::c:\dump\DATABASE_NAME_1.dmp'
stripe on 'compress::5::c:\dump\DATABASE_NAME_2.dmp'
stripe on 'compress::5::c:\dump\DATABASE_NAME_3.dmp'
stripe on 'compress::5::c:\dump\DATABASE_NAME_4.dmp'
stripe on 'compress::5::c:\dump\DATABASE_NAME_5.dmp'
go
exec sp_dboption DATABASE_NAME ,'single user', false
go
use DATABASE_NAME
go
checkpoint
go
#Девайсы
-- Перед созданием новой БД, необходимо создать девайсы,
-- на которых она будет располагаться
-- вместо АААА указать имя базы.
USE master
go
DISK INIT
NAME='AAAA_data',
PHYSNAME='c:\sybase\data\AAAA_data', -- указать путь, где будет создан файл
SIZE='100M', -- указать необходимый размер файла данных в Мб
VSTART=0,
CNTRLTYPE=0
go
EXEC sp_diskdefault 'AAAA_data',defaultoff
go
IF EXISTS (SELECT * FROM master.dbo.sysdevices WHERE name='icb61_data')
PRINT '<<< CREATED DATABASE DEVICE AAAA_data >>>'
ELSE
PRINT '<<< FAILED CREATING DATABASE DEVICE AAAA_data >>>'
go
USE master
go
DISK INIT
NAME='AAAA_log',
PHYSNAME='c:\sybase\data\AAAA_log', -- указать путь, где будет создан файл
SIZE='100M', -- указать необходимый размер файла лога в Мб
VSTART=0,
CNTRLTYPE=0
go
EXEC sp_diskdefault 'AAAA_log',defaultoff
go
IF EXISTS (SELECT * FROM master.dbo.sysdevices WHERE name='AAAA_log')
PRINT '<<< CREATED DATABASE DEVICE AAAA_log >>>'
ELSE
PRINT '<<< FAILED CREATING DATABASE DEVICE AAAA_log >>>'
go
#База разворачивается на предварительно созданных девайсах
USE master
go
CREATE DATABASE aaaa
ON AAAA_data=100 --'AAAA_data' - имя девайса и размер
LOG ON icb61_log=100 --'AAAA_log' - девайс, на котором будет располагаться файл данных и размер
go
USE aaaa
go
EXEC sp_changedbowner 'sa'
go
IF DB_ID('aaaa') IS NOT NULL
PRINT '<<< CREATED DATABASE aaaa >>>'
ELSE
PRINT '<<< FAILED CREATING DATABASE aaaa >>>'
go