J3qx

information archive

Перенос баз данных Step by step

Posted by j3qx на Апрель 23, 2016

Предварительные шаги

  1. Доступность сетевого диска с месячными копиями.
  2. Спланировать время работ, чтобы не пересекаться с джобами обслуживания.

Работы

  1. Отключить всех пользователей, подключенных к Базе2 ( копия базы аудиторов) Скрипт в приложении.
  2. Удалить Базу2.
  3. Отключить всех пользователей, подключенных к Базе1 (база аудиторов) Скрипт в приложении.
  4. Переименовать Базу2 в Базу1. ( скрипт в приложении)
  5. Через скрипт получить имя последней копии для Базы в продакшене. Скрипт в приложении.
  6. Через скрипт восстановить Базу 1 с сетевого диска.

Приложение 1.

Отключение пользователей.

USE [master]

GO

declare @dbname sysname

set @dbname =
‘1S-UA-BUH-01-Trade’

declare @spid int

select @spid =
min(spid)
from
master.dbo.sysprocesses
where
dbid =

db_id(@dbname)

while @spid is
not
null
begin

execute (‘kill ‘ + @spid)


select @spid =
min(spid)
from
master.dbo.sysprocesses
where
dbid =

db_id(@dbname)
and spid
!=
@spid

end

Переименование базы данных

USE
master;

GO

BEGIN
TRY


ALTER
DATABASE [
1S-UA-BUH-01-Trade] Modify Name =
[1S-UA-BUH-01-Trade_2]
;

END
TRY

BEGIN
CATCH

END
CATCH

Получение списка имен файлов на сетевом диске.

Должен быть подключен сетевой диск, учетная запись запуска MS SQL должна иметь права на сетевой диск.

Скрипт черновой. Необходимо еще время, проверить на практике с базами данных.

EXEC
sp_configure
‘show advanced options’, 1

GO

— To update the currently configured value for advanced options.

RECONFIGURE

GO

— To enable the feature.

EXEC
sp_configure
‘xp_cmdshell’, 1

GO

— To update the currently configured value for this feature.

RECONFIGURE

GO

DECLARE @FilePath nvarchar(256)

create
table #path_backup
( FName nvarchar(256), NPP int

identity(1,1)
)

Insert
into #path_backup

EXEC
xp_cmdshell
‘dir D:\temp\*.BACK /O-D /B’

SELECT @FilePath = FName From #path_backup p Where p.NPP = 1

DROP
TABLE #path_backup

IF
LEN(@FilePath )
>0

BEGIN

        — формирование строки с восстановлением базы

END

ELSE

BEGIN

        — Информирование об ошибке, что нет файла для восстановления

END

— To enable the feature.

EXEC
sp_configure
‘xp_cmdshell’, 0

GO

— To update the currently configured value for this feature.

RECONFIGURE

GO

EXEC
sp_configure
‘show advanced options’, 0

GO

— To update the currently configured value for advanced options.

RECONFIGURE

GO


Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: