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

Откуда:
Сообщений: 63
Всем привет! Помогите с задачей: есть папка со структурой БД (папки с .sql - файлами).
Дерево папок такое:
....+crmmdm
.................+ Data
.................+ Programmability
.................+ Schemas
.................+ Tables
.............................+Constraints
.............................+ForeignKeys
.............................+Indexes
.................+ Views
Файлов много. Вручную выполнить все запросы из файлов, в правильной последовательности, нереально((
Подскажите, может быть есть какой-то простой способ???
8 май 14, 14:25    [15991555]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Glory
Member

Откуда:
Сообщений: 104751
Павел Зигмундович
Подскажите, может быть есть какой-то простой способ???

А MSSQL тут причем ? Он откуда знает "правильную последовательность" ваших файлов ?

Сообщение было отредактировано: 8 май 14, 14:27
8 май 14, 14:26    [15991565]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
Под MSSQL имею ввиду утилиту. Стандартный мастер импорта/экспорта без толку.
8 май 14, 14:36    [15991648]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Glory
Member

Откуда:
Сообщений: 104751
Павел Зигмундович
Под MSSQL имею ввиду утилиту. Стандартный мастер импорта/экспорта без толку.

Еще раз вопрос - откуда любая утилита должна узнать "правильную последовательность" ?
8 май 14, 14:38    [15991660]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
К примеру, создается проект, в нем диаграмма или схема, а на диаграмме таблицы, функции, процедуры, триггеры и т.п. + все это связывается. Как-то так. Вот по-этому и спрашиваю. Гугл не дает полезной инфы.
8 май 14, 14:42    [15991707]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Glory
Member

Откуда:
Сообщений: 104751
Павел Зигмундович
К примеру, создается проект,

Вы обращенные к вам вопросы читаете ? А понимаете их ?
8 май 14, 14:45    [15991736]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
Например есть 3 таблицы: 2я и 3я из них привязаны к 1й. Утилита смотрит на связи и пробует последовательно создать таблицу, если не получается (error) по циклу идет дальше...
8 май 14, 14:49    [15991773]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
база данных - схемы - таблицы - констрейнты - ключи - представления - функции - процедуры - DML триггеры - роли - пользователи - DDL триггеры.
Приблизительно в таком порядке. Создайте общие файлы по этим группам с разделителе GO и выполняйте в SSMS до устранения ошибок в каждой группе.
8 май 14, 14:54    [15991812]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Glory
Member

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

И какое отношение это имеет к "Помогите с задачей: есть папка со структурой БД (папки с .sql - файлами)."

Павел Зигмундович
Утилита смотрит на связи

Смотрит где, если еще ничего не создано ?
Открывает все файлы по-очереди и парсит тексты запросов в них ?
8 май 14, 14:55    [15991818]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
Павел Зигмундович
Всем привет! Помогите с задачей: есть папка со структурой БД (папки с .sql - файлами).
Дерево папок такое:
....+crmmdm
.................+ Data
.................+ Programmability
.................+ Schemas
.................+ Tables
.............................+Constraints
.............................+ForeignKeys
.............................+Indexes
.................+ Views
Файлов много. Вручную выполнить все запросы из файлов, в правильной последовательности, нереально((
Подскажите, может быть есть какой-то простой способ???


вы кое-что скопироват забыли, на уровень выше должны быть такие файлики:

builddb.bat
ScriptDb.exe

и тп

вот они и восстанавливают структуру из того, что вы нарисовали тут. но я советую обратиться к разработчикам системы, а не копировать, то , что вам не положено видеть =)
8 май 14, 14:58    [15991843]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
В том - то и дело, что фалов builddb.bat, ScriptDb.exe нету.
8 май 14, 15:20    [15992028]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
Павел Зигмундович
В том - то и дело, что фалов builddb.bat, ScriptDb.exe нету.


значит зря старались и скрипты у кого стянули =)
8 май 14, 15:21    [15992037]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
SSDT
Guest
Павел Зигмундович,

как выглядит код в файлах?

если их поймет(сможет из них собрать схему данных) SSDT, добавите в проект все файлы(ручками или сгенерив файл проекта) и сгенерите скрипт деплоймента.
8 май 14, 16:02    [15992296]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
а примеров дадите? возможно что и есть решение )
8 май 14, 16:05    [15992319]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
SSDT,
Например, файл dbo._Banks.sql из папки Tables выглядит так:

REATE TABLE [dbo].[_Banks](
[bic] [char](9) COLLATE Cyrillic_General_CI_AS NOT NULL,
[bankname] [varchar](255) COLLATE Cyrillic_General_CI_AS NULL,
[bankacc] [varchar](20) COLLATE Cyrillic_General_CI_AS NULL,
[rkc] [char](9) COLLATE Cyrillic_General_CI_AS NULL,
[uer] [smallint] NULL
) ON [PRIMARY]

GO

Т.е. видно, что все скрипты создают соответствующие объекты.
Нашел программулю http://www.oemailrecovery.com/ru/faq-import-saved-scripts-into-database.html - буду пробовать.
Если не получится ею и Вашим способом, то буду пробовать руцями. Результат сообщу)))
8 май 14, 16:23    [15992435]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
Владислав Колосов, а можно подробнее (откуда взять порядок выполнения скриптов)? Никаких программ и SSDT я не нашел для данной задачи(
8 май 14, 17:28    [15992756]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
SSDT
Guest
Павел Зигмундович
Владислав Колосов, а можно подробнее (откуда взять порядок выполнения скриптов)? Никаких программ и SSDT я не нашел для данной задачи(

что не вышло с SSDT
8 май 14, 17:48    [15992830]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
если не выйдет - свистите, попробуем "мой" способ )
8 май 14, 19:40    [15993106]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
Crimean, ничего не получилось( Давайте попробуем "Ваш" метод.
12 май 14, 10:23    [16002674]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Crimean
Member

Откуда:
Сообщений: 13147
Павел Зигмундович,

контакт давайте или мне в профиль стучите
примеры файлов нужно, мне быстрее понять "оно" или "не оно чем" вам разбираться как конфиги писать
12 май 14, 10:28    [16002707]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
Crimean, Мой скайп - odson2008, постучитесь, пожалуйста (у меня аськи нету)
12 май 14, 10:51    [16002840]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Crimzic
Member

Откуда: Sydney
Сообщений: 59
Ваша структура каталогов очень похожа на проект БД из SSDT или Visual Studio DB Project. Как уже упоминал пользователь SSDT, попробуйте создать новый пустой проект SQL Server Data Tools, добавить в него все файлы руками и посмотреть что из этого получится.
12 май 14, 10:51    [16002843]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
Crimzic, Создал пустой проект в MS Visual Studio 2010 (SQL Server 2008 DataBase Project), вручную добавил файлы скриптов. В итоге вылазит ошибка "Данные запрашиваемого типа не найдены". Не могу понять где точка входа в дебаг.
12 май 14, 11:32    [16003153]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
Konst_One,
По поводу builddb.bat и ScriptDb.exe - эти 2 файла идут с дополнительными scriptdb.bat и insert.xsl. Как я понял - это утилита от elsasoft (Описание тут: elsasoft.com/tools.htm). И эта тулза достает все объекты БД и скриптит их в соответствующие каталоги, но не наоборот.
Впоследствии пришлось самому написать консольку.
14 май 14, 13:25    [16015196]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление структуры из файлов  [new]
Павел Зигмундович
Member

Откуда:
Сообщений: 63
В итоге все прошло нормально. При восстановлении структуры определил порядок выполнения скриптов (как объектов):

static string[] folders = new string[]
{
"root",
"root\\Schemas",
"root\\Programmability",
"root\\Programmability\\Types",
"root\\Tables",
"root\\Data",
"root\\Programmability\\Triggers",
"root\\Views",
"root\\Programmability\\Functions",
"root\\Programmability\\StoredProcedures",
"root\\Tables\\Constraints",
"root\\Tables\\Indexes",
"root\\Tables\\ForeignKeys"
};
Правда пришлось выполнить (все в данном порядке) 3 раза.
14 май 14, 13:31    [16015235]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить