В принципе не особо и нужно то - можно бэкапить средствами самого sharepoint через stsadm, но чес слово ленив я до ужаса, а баз много и называются как попало ...да и место жалко. Может кому пригодится.
1) делаем Job на MS SQL
2) в step - забрасываем скрипт:
Код:
-- Скрипт обрабатывает все базы на сервере, кроме tempdb, метод full backup
DECLARE
@DataBaseName SYSNAME,
@BackUpPath SYSNAME,
@RarPath SYSNAME,
@DirPath SYSNAME,
@TMP varchar (1000),
@PACK varchar (1000),
@MKDIR varchar (1000),
@FSO INT,
@BackUpSuffix SYSNAME,
@NewCatalog SYSNAME,
@year varchar (4), @month varchar (2), @day varchar (2)
----------------------------------------------
-- Путь к каталогу резервных копий баз данных, UNC пути не писать !:
SET @DirPath = 'C:\Backup'
-- -------------------------------------------
SET @year = CAST(DATEPART(Year, GetDate()) AS varchar)
SET @month = CAST(DATEPART(Month, GetDate()) AS varchar)
SET @day = CAST(DATEPART(Day, GetDate()) AS varchar)
EXEC xp_sprintf @BackUpSuffix OUTPUT, '%04s_%02s_%02s', @year, @month, @day
EXEC @FSO = sp_OACreate "Scripting.FileSystemObject", @FSO OUT
SET @NewCatalog = @DirPath + @BackUpSuffix + '\'
SET @MKDIR = 'mkdir ' + @NewCatalog
exec master..xp_cmdshell @MKDIR
-- --------------------------------------------
DECLARE Step_cursor CURSOR FOR SELECT [Name] FROM master..sysdatabases WHERE [Name]<>'tempdb'
OPEN Step_cursor
FETCH NEXT FROM Step_cursor INTO @DataBaseName
WHILE @@FETCH_STATUS = 0 BEGIN
-- Получение полных имён bak-файла и rar-файла:
SET @BackUpPath = @NewCatalog + @DataBaseName + '.bak'
SET @RarPath = @NewCatalog + @DataBaseName + '.rar'
-- Резервное копирование базы данных (получение bak-файла):
--BEGIN
BACKUP DATABASE @DataBaseName TO DISK = @BackUpPath WITH NOFORMAT, INIT, NAME = N'Full Database Backup' , SKIP, NOREWIND, NOUNLOAD, STATS = 10
declare @backupSetId as int
select @backupSetId = position from msdb..backupset where database_name=@DataBaseName and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=@DataBaseName )
if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database not found.', 16, 1) end
RESTORE VERIFYONLY FROM DISK = @BackUpPath WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
--END
-- Упаковка bak-файла (получение rar-файла):
--BEGIN
SET @PACK = '"D:\WinRAR\WinRAR.exe" A -DF -EP -M2 -MD4096 -MT2 -RI3 -RR4096 -ag+YYYY_MM_DD_HHMM_' + @RarPath + ' ' + @BackUpPath
print @PACK
exec master..xp_cmdshell @PACK
--END
-- Удаление bak-файла после его упаковки:
--BEGIN
EXEC sp_OAMethod @FSO, 'DeleteFile', NULL, @BackUpPath
--END
FETCH NEXT FROM Step_cursor INTO @DataBaseName
END
CLOSE Step_cursor
DEALLOCATE Step_cursor
-- Удаление объекта "Scripting.FileSystemObject", чистим память:
EXEC sp_OADestroy @FSO