Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Логически последовательное скриптование базы, Для корректного поднимания 
:(
    Опции темы
LexRema
Дата 9.8.2007, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 15.3.2006

Репутация: нет
Всего: нет



Скриптую базу.

Как -то можно попросить сервер, чтобы он файлики (так как я скриптую обьекты по отдельным файлам), как то нумеровал? 
Ну, в смысле, логически нумеровал. 
Тоесть, есть одна какая-то УДФ1. она использует другую УДФ2. Так можно ли как то сервер попросить, чтобы он нумеровал вторую первой? Тоесть файлы были например:

1dbo.УДФ2.udf
2dbo.УДФ1.udf

З.Ы. Если при развертывании базы сначала запустить скрипт УДФ1, то так как она ссылаеться на другую, создана не будет. 
Может другие пути обхода? Например, как-то отключить проверку на правильность и целосность... Например, сервер может добавить в базу хранимую процедуру, даже если она еще на че-то там ссылаеться. Но с процедурами и с таблицами (в случае Foreign Keys), такое не катит...
PM   Вверх
SergeBS
Дата 10.8.2007, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 5
Всего: 22



LexRema, 
Цитата
Скриптую базу.

А Enterprise Manager смотрел? Цель скриптования? Если получить только структуру, то он это сделает лучше тебя.
А для поднимания в смысле восстановления - backup + restore.
PM MAIL   Вверх
LexRema
Дата 10.8.2007, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 15.3.2006

Репутация: нет
Всего: нет



smile. 
Цель скриптования - занесение в SourseSafe. 
Изменения в бинарнике в СС не очень то просто потрекать, не так ли. smile
А отдельные файлы - как раз для удобства отслеживания редактирования и апдейтов. Скриптую я как раз с помощью Enterprise Manager smile.
PM   Вверх
LuMee
Дата 12.8.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 30.3.2007

Репутация: нет
Всего: 1



LexRema,  может неправильно понял задачу, но тем не менее. У нас принят такой подход: создается базовая структура БД, и она уже неизменна. Все последующие изменения структуры выполняются в виде скриптов с CREATE/DROP/ALTER командами, должным образом проименованных (чтобы знать, в каком порядке их выполнять).
Скрипты устроены так, что их последовательное наложение на базовую структуру БД приведет эту структуру в текущее актуальное состояние. Ну и каждый скрипт, прежде чем делать какие-то изменения, проверяет, не были ли они сделаны ранее (т.е., перед тем, как создать таблицу, проверит, нет ли ее такой уже). Это гарантирует, что если какой-то скрипт выполнится дважды, то ничего страшного не произойдет.
Понятное дело, что в Source Safe кладутся сами эти update-скрипты.
PM MAIL   Вверх
LexRema
Дата 13.8.2007, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 15.3.2006

Репутация: нет
Всего: нет



Цитата

Понятное дело, что в Source Safe кладутся сами эти update-скрипты. 


Это о структуре. Но так же у нас есть еще процедуры и функции. 

Мне посоветовали VS 2005 for Db professionals. Возможно, она поможет решить проблему. Но чем стоавить третью студию - уже проще все перелопатить вручную. Спасибо всем!
PM   Вверх
LuMee
Дата 15.8.2007, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 30.3.2007

Репутация: нет
Всего: 1



Цитата(LexRema @ 13.8.2007,  18:17)
Это о структуре. Но так же у нас есть еще процедуры и функции.

С процедурами, функциями и view все то же самое. В update-скрипт пишется что-то типа:
Код
IF OBJECT_ID('procDoSmth', 'P') IS NOT NULL
    DROP PROCEDURE procDoSmth;

CREATE PROCEDURE procDoSmth
...

Аналогично поступаешь и с остальными объектами такого рода.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.