перенос данных с сервера на сервер

mad
Дата: 17.12.2002 08:33:36
Добрый день.

Где почитать, как перенести базы с одного сервака на другой?
Вообще-то, перенести надо базы и ДТС-пакеты.

Спасибо.
Белов Владимир
Дата: 17.12.2002 08:57:38
бэкапом
mad
Дата: 17.12.2002 09:20:38
Базы я перенес Экспортом с первого сервера на второй.

Возможно Jobs и DTS- пакеты так перенести (без бэкапа)

Спасибо за вариант, может есть менее кровавые?

Если нет, буду читать, как бэкап делать ;)
mad
Дата: 17.12.2002 10:02:06
а вообще бэкапом перенесутся ДТС-пакеты?
Предводитель команчей
Дата: 17.12.2002 10:37:51
Hi, mad.
Как вариант - перенос DTS пакетов : открыть Data Trans. Srvices, выбрать нужный пакет, два раза кликнуть (design package), Package->SaveAs...
Конечно, если DTS'ов много, то получается несколько гемморойно. Но заскриптовать их из ЕМ по-моему нельзя и забэкапить то же. Когда то пришлось делать именно так. Может гуру подскажут более эффективный метод ?
snake
Дата: 17.12.2002 10:43:56

/*
Процедура загружает\выгружает
DTSPackage с\на сервера\сервер в\из
указанную\ой дирректорию\ии
*/

CREATE PROCEDURE dbo.sp_LoadSaveDTSPackage
@dirname varchar(256) = null,
@isin bit
as
set nocount on
declare @SQL varchar(256),
@result int,
@oPKG int,
@dtsname varchar(256),
@LoadStr varchar(256),
@src varchar(255),
@desc varchar(255)

if @dirname is not null begin
create table #dts (dtsname varchar(256))
if @isin = 1 begin
set @SQL = 'dir '+@dirname+'\*.dts'

insert into #dts exec @result = master..xp_cmdshell @SQL
if (@result != 0) begin
raiserror ('Не могу прочесть файлы!', 16, 1)
return(-1)
end
delete from #dts where isnumeric(substring(dtsname,1,1)) = 0
update #dts set dtsname = reverse(left(reverse(dtsname),charindex(' ',reverse(dtsname))-1))

end
else begin
insert into #dts select distinct name from msdb..sysdtspackages
end
declare dts cursor for
select dtsname from #dts
open dts
fetch next from dts
into @dtsname
while @@fetch_status = 0 begin

exec @result = sp_OACreate 'DTS.Package', @oPKG OUT
if @result <> 0 begin
exec sp_OAGetErrorInfo @oPKG, @src OUT, @desc OUT
select hr=convert(varbinary(4),@result), Source=@src, description=@desc
return (-1)
end

if @isin != 1 begin
set @LoadStr = 'LoadFromSQLServer ("'+@@servername+'",,,256,,,,"'+@dtsname+'")'
exec @result = sp_OAMethod @oPKG,@LoadStr
if @result <> 0 begin
exec sp_OAGetErrorInfo @oPKG, @src OUT, @desc OUT
select hr=convert(varbinary(4),@result), Source=@src, description=@desc
return (-1)
end
set @LoadStr = 'SaveToStorageFile ("'+@dirname+'\'+@dtsname+'.dts")'
exec @result = sp_OAMethod @oPKG,@LoadStr
if @result <> 0 begin
exec sp_OAGetErrorInfo @oPKG, @src OUT, @desc OUT
select hr=convert(varbinary(4),@result), Source=@src, description=@desc
return (-1)
end
end
else begin
set @LoadStr = 'LoadFromStorageFile ("'+@dirname+'\'+@dtsname+'","")'
exec @result = sp_OAMethod @oPKG,@LoadStr
if @result <> 0 begin
exec sp_OAGetErrorInfo @oPKG, @src OUT, @desc OUT
select hr=convert(varbinary(4),@result), Source=@src, description=@desc
return (-1)
end
set @LoadStr = 'SaveToSQLServer ("'+@@servername+'",,,256)'
exec @result = sp_OAMethod @oPKG,@LoadStr
if @result <> 0 begin
exec sp_OAGetErrorInfo @oPKG, @src OUT, @desc OUT
select hr=convert(varbinary(4),@result), Source=@src, description=@desc
return (-1)
end
end
exec @result = sp_OADestroy @oPKG
if @result <> 0 begin
exec sp_OAGetErrorInfo @oPKG
return (-1)
end

fetch next from dts
into @dtsname
end
close dts
deallocate dts
end
else begin
return (-1)
end
set nocount off

GO
mad
Дата: 17.12.2002 10:50:41
СПАСИБО!

Сработало.
snake
Дата: 17.12.2002 11:19:37
TO JUDGE
Да я на FAQ и не претендую!