Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DBCC WRITEPAGE / 4 сообщений из 4, страница 1 из 1
06.04.2018, 17:46
    #39626947
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC WRITEPAGE
Добрый люди просветите как можно скопировать страницу с одной базы в другую?
То есть нужно как-то вытянуть бинарное представление страницы через DBCC PAGE и вставить его в другую базу.
Или есть другие варианты? RESTORE PAGE не вариант сразу если база в SIMPLE.

Чисто академический интерес, поэтому буду рад фитбеку. Но реальный случай недавно был. Побилось пару байтов на странице системной таблицы. Потом недолго думая ее совсем загубили с помощью REPAIR_ALLOW_DATA_LOSS.
...
Рейтинг: 0 / 0
06.04.2018, 17:57
    #39626953
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC WRITEPAGE
AlanDentonДобрый люди просветите как можно скопировать страницу с одной базы в другую?
То есть нужно как-то вытянуть бинарное представление страницы через DBCC PAGE и вставить его в другую базу.
Или есть другие варианты? RESTORE PAGE не вариант сразу если база в SIMPLE.

Чисто академический интерес, поэтому буду рад фитбеку. Но реальный случай недавно был. Побилось пару байтов на странице системной таблицы. Потом недолго думая ее совсем загубили с помощью REPAIR_ALLOW_DATA_LOSS.
hex-редактором любым, только со смещением не промахнись
...
Рейтинг: 0 / 0
06.04.2018, 18:01
    #39626957
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC WRITEPAGE
msLexhex-редактором любым, только со смещением не промахнись
Есть где-то хороший мануал по этому поводу?
...
Рейтинг: 0 / 0
06.04.2018, 19:08
    #39626992
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DBCC WRITEPAGE
AlanDentonmsLexhex-редактором любым, только со смещением не промахнись
Есть где-то хороший мануал по этому поводу?


Если вам нужно просто скопировать as is страницу из одной базы у другую, то ничего хитрого тут нет.
Достаточно знать начальное смещение.

Другое дело, что в заголовке страницы куча инфы, которая, скорее всего, различается в база (да хотя бы LSN), и простое копирование почти наверняка приведет к проблемам.

Вы можете через dbcc writepage (или напрямую в файле данных) поменять какие-то байты на странице, но для этого нужно очень хорошо понимать где и что на этой странице есть и где и что нужно менять.

С учетом того, что есть:
- разные версии скуля
- сжатие на уровне страниц/строк
- шифрование данных
- большого количества метаинформации, зависящей от кучи факторов (про LSN я уже писал)

я настоятельно не рекомендовал бы использовать этот метод для восстановления базы. Скорее всего, вы что-то не учете и сделаете только хуже.


PS
Описание работы dbcc writepage с примерам есть тут . Там же есть ссылки на онлайн курсы по "выправлению кривых баз"
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / DBCC WRITEPAGE / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]