Создание базы данных SnapShots с нашими собственными форматами файлов - PullRequest
0 голосов
/ 16 февраля 2010

Мы хотим создать приложение на c # / VC ++, с помощью которого мы сможем создавать SNAPSHOT базы данных sql-сервера в нашем собственном формате файлов (в режиме онлайн).

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

Кто-нибудь знает, как это сделать?

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 февраля 2010

Я вполне уверен, что это на самом деле невозможно.

Основным механизмом создания снимков является копирование при записи. COW позволяет вам сделать дешевую копию существующих данных, фактически не копируя данные до тех пор, пока не будет сделано фактическое изменение, а затем копируя только измененные части. Следовательно, любые неизмененные данные будут разделены между оригиналом и видимой копией.

Снимок базы данных - это просто исходная версия, а "текущее" состояние базы данных - копия COW. Вы не можете настроить это самостоятельно, потому что вы не можете просто сделать COW копию базы данных. И даже если бы вы могли сделать такую ​​копию, весь смысл копии COW состоит в том, что она является копией , т.е. в том же формате. Так что это не будет в вашем формате.

0 голосов
/ 16 февраля 2010

Если вас интересуют только имена таблиц и столбцов, простое решение - запрос INFORMATION_SCHEMA.COLUMNS:

select * from INFORMATION_SCHEMA.COLUMNS

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

INFORMATION_SCHEMA также включает в себя другие представления об индексах, ограничениях и т. Д., Которые можно объединить, чтобы получить более полное представление о структуре базы данных. Он включен в SQL 2000 SP3 и все более поздние версии.

В качестве альтернативы, если они у вас есть, вы можете использовать сценарии DDL для своей базы данных из своей системы управления версиями и анализировать их для исторического представления схемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...