Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Идентификатор БД  [new]
IDVT
Member

Откуда:
Сообщений: 309
Всем привет!
Подскажите пожалуйста, есть ли в БД некий GUID, который меняется после ее восстановления.

Заранее спасибо!
12 сен 17, 11:47    [20789355]     Ответить | Цитировать Сообщить модератору
 Re: Идентификатор БД  [new]
IDVT
Member

Откуда:
Сообщений: 309
Нашел, хотя бы так.

select Max( restore_history_id) as RestoreId
from msdb..restorehistory
where destination_database_name = 'ТраТаТа'
12 сен 17, 11:54    [20789383]     Ответить | Цитировать Сообщить модератору
 Re: Идентификатор БД  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 27661
IDVT,

а зачем? Хотите защитить свой продукт от распространения?
12 сен 17, 12:08    [20789435]     Ответить | Цитировать Сообщить модератору
 Re: Идентификатор БД  [new]
IDVT
Member

Откуда:
Сообщений: 309
skyANA
IDVT,

а зачем? Хотите защитить свой продукт от распространения?
нет, хочу автоматизировать входящие вопросы от сотрудников бизнеса (куда делась процедура отчета, сделанного час назад и т.п.), рукастые админы ресторят БД, Сервер тестовый, создать свою БД нет возможности (прав)
12 сен 17, 12:40    [20789551]     Ответить | Цитировать Сообщить модератору
 Re: Идентификатор БД  [new]
o-o
Guest
не проще ли искать дату последнего рестора и если она свежая, рассылку делать всем юзерам:
база только что восстановлена, у кого чего пропало -- все претензии к отресторившим
12 сен 17, 13:03    [20789616]     Ответить | Цитировать Сообщить модератору
 Re: Идентификатор БД  [new]
dukrey
Guest
IDVT,

1) если ресторится только БД, то:

	select [sqlserver] = @@servername
		,bs.[backup_set_id]
		,rhd.[restore_date]
		,bs.[backup_finish_date]
		,[backupName] = bs.[name]
		,[backup_type] = bs.[type]
		,[copyOnly] = bs.[is_copy_only]
		,bs.[position]
		,[dbName_source] = bs.[database_name]
		,[dbName] = rhd.[destination_database_name]
		,[db_id] = DB_ID(rhd.[destination_database_name])
		,rhd.[restore_type]
		,bs.[first_lsn]
		,bs.[last_lsn]
		,bs.[database_backup_lsn]
		,bmf.[physical_device_name]
		,[backup_size_MB] = cast( (bs.[backup_size]/1024./1024.) as decimal(10,3) )
	from (
		select [backup_set_id], [restore_history_id] = null
		from [msdb].[dbo].[backupset]
		union
		select [backup_set_id], [restore_history_id]
		from [msdb].[dbo].[restorehistory]
	) bsa
	inner join [msdb].[dbo].[backupset] bs
		on bs.[backup_set_id] = bsa.[backup_set_id]
	inner join [msdb].[dbo].[backupmediafamily] bmf
		on bmf.[media_set_id] = bs.[media_set_id]
	inner join [msdb].[dbo].[backupfile] bf 
		on bf.[backup_set_id] = bs.[backup_set_id]
	left outer join [msdb].[dbo].[restorehistory] rhd
		on rhd.[backup_set_id] = bsa.[backup_set_id] and rhd.[restore_history_id] = bsa.[restore_history_id]
	where rhd.[restore_history_id] is not null
	group by bs.[backup_set_id] ,bs.[name] ,bs.[database_name] ,bs.[backup_finish_date] ,bs.[position] 
			,bs.[first_lsn] ,bs.[last_lsn] ,bs.[database_backup_lsn] ,bs.[backup_size] ,bs.[type] ,bs.[is_copy_only]
			,bmf.[physical_device_name]	,rhd.[backup_set_id] ,rhd.[destination_database_name] ,rhd.[restore_date] ,rhd.[restore_type]
;


2) может быть это и не ваш случай, но если ресторится VM целиком,
то, чтобы остались хоть какие-то следы, можно сделать так:
создать job в котором произволится insert GETDATE в таблицу-лог каждые 5 секунд.
Если число этих записей в равные интервалы времени одинаково, то ничего не происходило.
А если какие-то записи отсутствуют, и тем более за достаточно большой период, то либо сервер не работал, либо был рестор VM.
12 сен 17, 13:12    [20789645]     Ответить | Цитировать Сообщить модератору
 Re: Идентификатор БД  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
dukrey
2) может быть это и не ваш случай, но если ресторится VM целиком,
разве при ресторе VM служба сиквела не рестартует?
могу ошибаться, но если это так, то проще смотреть на это время
чем дрючить сервер - "создать job в котором произволится insert GETDATE в таблицу-лог каждые 5 секунд".
12 сен 17, 13:46    [20789763]     Ответить | Цитировать Сообщить модератору
 Re: Идентификатор БД  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3462
o-o
не проще ли искать дату последнего рестора и если она свежая, рассылку делать всем юзерам:
база только что восстановлена, у кого чего пропало -- все претензии к отресторившим


+ их номера телефонов, домашние адреса, чтобы не повадно было ресторить базы
12 сен 17, 14:35    [20790030]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить