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

Откуда:
Сообщений: 2365
Хотелось бы создать копию базы для отчетов. Плюс чтобы выполняла функцию живого бекапа, чтобы при аварии с рабочей базой можно бы было переключится на эту. Поднимать полностью каждый раз из бекапа не хотелось бы, база не маленькая. Опишите пожалуйста подходы, которые можно использовать. Рабочую желательно нагрузить поменьше. База 1с 8.2.19, если это важно.
25 окт 19, 08:24    [22002195]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
L_argo
Member

Откуда:
Сообщений: 1191
Log Shipping
25 окт 19, 08:48    [22002207]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
1C Developer
Member

Откуда:
Сообщений: 65
AlwaysOn
25 окт 19, 08:51    [22002209]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
Alibek B.
Member

Откуда:
Сообщений: 3588
Shark
Плюс чтобы выполняла функцию живого бекапа, чтобы при аварии с рабочей базой можно бы было переключится на эту.

А введенные в этот период данные после устранения аварии должны вносится в рабочую базу?
25 окт 19, 10:43    [22002321]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7663
Shark,

если есть денежные средства. Иначе - даже и не начинайте. Если по правилам, то серверы должны быть разнесены географически, т.е. отдельное помещение, отдельный энерговвод, отдельные платы и диски. Если второй сервер планируете использовать для чтения - то требуемое количество лицензий на этот сервер. Кроме того, потребуется сервер контроллера домена, умение его админить, умение настроить отказоустойчивый кластер и еще много чего. Читайте про Always On.
25 окт 19, 11:58    [22002404]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
Shark
Member

Откуда:
Сообщений: 2365
Если есть опыт использования Always On на 1с- поделитесь плз. Зайти можно 1с клиентом в readonly базу? Если нельзя- не трагедия, в принципе.

Передавать в случае сбоя на первую площадку понадобится не введенные данные, а базу целиком. На то он и сбой.
25 окт 19, 13:57    [22002597]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
Shark
Member

Откуда:
Сообщений: 2365
Always on сложновато для нас. А можно сделать сабж с помощью restore log with standby просто? Если кто так делал-делает, поделитесь опытом плз, конкретными скриптами, ссылками, статьями и т.д. Букварь обязательно изучу и лабораторную работу сделаю, но интересует конкретный практический опыт.
28 окт 19, 10:51    [22003996]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
uaggster
Member

Откуда:
Сообщений: 811
Shark
Always on сложновато для нас. А можно сделать сабж с помощью restore log with standby просто? Если кто так делал-делает, поделитесь опытом плз, конкретными скриптами, ссылками, статьями и т.д. Букварь обязательно изучу и лабораторную работу сделаю, но интересует конкретный практический опыт.

Это стандартный сценарий логшиппинга.
http://dbasimple.blogspot.com/2012/01/blog-post.html
28 окт 19, 14:46    [22004317]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 765
Shark,

не надо LogShipping - это древняя глючная технология, которая тянется с 90х, которую по моему опыту очень просто порушить а потом долго со слезами все постоянно поднимать, нестабильно все может быть, человеческий фактор и вмешательства третьих лиц в шаренные папочки с *.trn файлами.

Я бы сделал mirroring, и так же есть лайфхак - как secondary-базу - в режиме in recovery которая поиметь на чтение - путем создания снэпшота. Все эти действия можно заскриптовать, - как дроп старого снепшота по расписанию, создание нового и какие-то третьи действия по желанию

Под рукой живого примера нет - не занимаюсь сейчас уже dba-шными вопросами, но в прошлом строили решения на базе этого способа, - он рабочий, простой и действенный
28 окт 19, 15:00    [22004333]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 765
PsyMisha,

Порылся в архивах - вот "рыба" - поменяйте свои значения

DECLARE @SQL AS NVARCHAR(MAX)
DECLARE @OneC_DatabaseState AS NVARCHAR(50)
SELECT @OneC_DatabaseState = d.state_desc FROM sys.databases AS d WHERE d.name = '%YOUR_DATABASE_NAME%'

IF @OneC_DatabaseState = 'ONLINE'
	BEGIN
		SET @SQL = 'IF EXISTS(select 1 from sys.databases where name=''%YOUR_DATABASE_NAME_ss%'') DROP DATABASE %YOUR_DATABASE_NAME_ss%'
			EXEC sp_executesql @SQL
		SET @SQL = 'CREATE DATABASE %YOUR_DATABASE_NAME_ss% ON ( NAME = '%YOUR_DATABASE_FILE_NAME_ss%', FILENAME = ''%YOUR_DATABASE_FILE_NAME_PATH_ss%.ss'') AS SNAPSHOT OF %YOUR_DATABASE_FILE_NAME%'
			EXEC sp_executesql @SQL 
	END
ELSE 
	BEGIN		
		SELECT 'The source database is not in an appropriate state. Snapshot operation has not performed'
	END

END
GO


Все это - по-сути - обёртка, ключевой момент - параметр создания базы с ключом AS SNAPSHOT OF
Можно еще физически дропать файлы данных из каталогов - через xp_cmdshell, обеспечив под ключ, так сказать - оформив отдельной хранимой процедурой
28 окт 19, 15:45    [22004381]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7663
PsyMisha,

mirroring 7 лет назад как устарело.
28 окт 19, 17:05    [22004447]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 765
Владислав Колосов,

Это да, но ТС пишет, что AlwaysOn для них слишком комплексно.
Поэтому, как мне кажется, - Mirroring - то, что надо - практически бесшовная технология, раскатывается-настраивается в несколько кликов, сложности могут быть только минимальные - с http-endpoints и аутентификацией служебных УЗ и Kerberos да правами между Primary/Secondary.
Тюнится и поддерживается легко, способна работать длительное время без сбоев, а синхронный/асинхронный режимы - всегда держат зеркало в актуальном состоянии. Обмены все лежат на движке СУБД и контроль целостности на TCP, а не то, что полу-педальная на уровне администратора и все эти LSN'ы, которые легко слетают - как в LogShipping'е.
28 окт 19, 17:15    [22004462]     Ответить | Цитировать Сообщить модератору
 Re: База для отчетов  [new]
Shark
Member

Откуда:
Сообщений: 2365
Огромное спасибо, буду изучать.
28 окт 19, 18:06    [22004505]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить