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

Откуда: Москва
Сообщений: 68
Есть два физических сервера с SQL: основной и резервный.
Базы данных размещены на внешнем хранилище.

Допустим, что основной сервер будет выведен из строя. При этом в хранилище остаются файлы баз данных.
Подскажите пожалуйста, можно ли их безболезненно присоединить на резервном сервере (attach)? Гарантируется ли при этом целостность данных или возможны какие-нибудь проблемы? Или лучше поднимать базы из резервных копий, пусть даже с потерей суток?

Спасибо!
27 авг 14, 12:17    [16499367]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Stan2000
Member

Откуда: California
Сообщений: 1827
целостность не гарантируется. чтобы данные были консистентными сначала надо сделать детач, скпиоировать, а потом атач.
а чем не подходит зеркалирование или standby, alwaysOn?
27 авг 14, 12:28    [16499466]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
alex407
Member

Откуда: Москва
Сообщений: 68
Просто хотелось знать наверняка. Насколько было бы проще просто сделать атач на другом сервере.

Зеркалирование при наличии общего хранилища смысла делать нет на мой взгляд. Видимо лучший вариант тут это кластер.
27 авг 14, 12:46    [16499650]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alex407
Просто хотелось знать наверняка. Насколько было бы проще просто сделать атач на другом сервере.

Особенно просто было бы, если при "основной сервер будет выведен из строя" был физически поврежден диск с файлами базы
27 авг 14, 12:53    [16499716]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
alex407
Member

Откуда: Москва
Сообщений: 68
Glory
alex407
Просто хотелось знать наверняка. Насколько было бы проще просто сделать атач на другом сервере.

Особенно просто было бы, если при "основной сервер будет выведен из строя" был физически поврежден диск с файлами базы

А при чем тут это? Я же сказал, что данные хранятся в СХД и физически с ними ничего не случилось. Упал только сервер или вырвали сетевой шнур, пусть даже во время какой-то транзакции.
Недетатченные файлы БД можно приатачить к другому серверу. Вполне логично допустить, что SQL-сервер разберется, что делать со своими файлами, и поднимет базу, например, с последней удачной транзакции.
27 авг 14, 13:22    [16500050]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alex407
А при чем тут это? Я же сказал, что данные хранятся в СХД и физически с ними ничего не случилось.

Вот откуда вы знаете, что произойдет с данными, при выходе из строя сервера ?
Или вы считаете, что с открытым файлом в принципе ничего плохого не может случиться ?
27 авг 14, 13:25    [16500098]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alex407
Вполне логично допустить, что SQL-сервер разберется, что делать со своими файлами, и поднимет базу, например, с последней удачной транзакции.


SQL-сервер именно так и будет делать. При условии, что "последняя транзакция" успела корректно попасть в файл
27 авг 14, 13:26    [16500130]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
alex407
Member

Откуда: Москва
Сообщений: 68
Glory
Вот откуда вы знаете, что произойдет с данными, при выходе из строя сервера ?
Или вы считаете, что с открытым файлом в принципе ничего плохого не может случиться ?

Если бы я так считал, то и вопроса бы не задавал :-)

Однако, когда SQL работает в кластере, то первая нода держит открытым файлы, может что-то с ними делать. При этом, если она свалиться, вторая нода всегда сможет продолжить работу с БД.

В общем все сводится к следующему. Могу ли я дать такую рекомендацию заказчику, если упал основной сервер:
1. Попробовать сделать атач на резервном.
2. Если прошло без ошибок, то все ОК (ну должен же проверяет SQK его как-то на целостность).
3. Если были ошибки, Удаляй все файлы БД и восстанавливать бекапы.

или правильно сразать так?
1. Удаляй все файлы БД нафиг.
2. Восстанавливай бекапы.

Просто база довольно большая и чем быстрее восстановят, тем лучше.
27 авг 14, 13:47    [16500455]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alex407
Однако, когда SQL работает в кластере,

А откуда взялся кластер ?

alex407
Могу ли я дать такую рекомендацию заказчику, если упал основной сервер:

Так 2ая нода продолжает работать ?
27 авг 14, 13:51    [16500511]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
alex407
Member

Откуда: Москва
Сообщений: 68
Кластера нет, только 2 сервера, основной и резервный.
Это я гипотетически, в том смысле, что когда нода неожиданно упадет, то корректно закрыть файл она тоже не сможет. И при это вторая все должна подхватить.
27 авг 14, 13:55    [16500573]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alex407
Это я гипотетически, в том смысле, что когда нода неожиданно упадет, то корректно закрыть файл она тоже не сможет. И при это вторая все должна подхватить.

Причем тут тогда attach ?
При кластере переключение между нодами происходит автоматически, а не вручную.
27 авг 14, 14:00    [16500622]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
alex407
Member

Откуда: Москва
Сообщений: 68
Glory
Причем тут тогда attach ?
При кластере переключение между нодами происходит автоматически, а не вручную.

Attach тут непричем, но работа SQL-сервера с файлами примерно одинакова ведь.

Я так понял, вы тоже считаете, что правильный ответ, если нет кластера, падает сервер и нужно поднять базы на резервном (при том, что файлы лежат на СХД) такой:
1. Удаляй все файлы БД нафиг.
2. Восстанавливай бекапы.
27 авг 14, 14:19    [16500809]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Glory
Member

Откуда:
Сообщений: 104751
alex407
Я так понял, вы тоже считаете, что правильный ответ, если нет кластера, падает сервер и нужно поднять базы на резервном (при том, что файлы лежат на СХД) такой:
1. Удаляй все файлы БД нафиг.
2. Восстанавливай бекапы.

если вы хотите гарантировать целостность данных, то ответ - да
если вы хотите узнать "а вдруг мне повезло", то можете аттачить
27 авг 14, 14:22    [16500844]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение баз данных (attach)  [new]
Stan2000
Member

Откуда: California
Сообщений: 1827
Больше всего убивает фраза "...рекомендовать заказчику..."
без обид.. но я ему сочувствую.... в кластере работает по другому. если 1 сервер упал, то второму не надо аттачить и восстанавливать файлы, они уже открыты у него.
27 авг 14, 15:52    [16501900]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить