Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 обновление sp & udf  [new]
hamlet's Sleep
Guest
есть две БД на серверах ms sql 2008r2, отладочная (1) и рабочая (2).
не могу сообразить, как перенести изменённые и вновь созданные sp & udf из (1) в (2).
Сейчас, т.к. отладочная небольшая, делаю backup, восстанавливаю её на БД (3), затем создаю скрипты sp & udf и применяю их в (2). Если б было средство мониторинга изменений sp & udf в (1), то можно было бы создать скрипт для изменённых и применить сразу в (2). Но я такого не вижу.
7 окт 15, 21:43    [18249691]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
Сейчас, т.к. отладочная небольшая, делаю backup, восстанавливаю её на БД (3), затем создаю скрипты sp & udf и применяю их в (2). Если б было средство мониторинга изменений sp & udf в (1), то можно было бы создать скрипт для изменённых и применить сразу в (2). Но я такого не вижу.
А почему просто не сделать скрипт всех (а не изменённых) sp & udf в (1), и не накатить его на (2)?

PS Но ещё лучше разрабатывать в средстве разработки, хранить в средствах версионного контроля, накатывать на DEV, потом на TEST серверы, потом на продакшен, а не корёжить, условно говоря, тестовый "EXE-шник", что бы вкорячить изменения в нём в другой "EXE-шник".
7 окт 15, 21:48    [18249711]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
alexeyvg,
"А почему просто не сделать скрипт всех (а не изменённых) sp & udf в (1), и не накатить его на (2)?"
- так я так и делаю.
А sp & udf создаю в студии.
7 окт 15, 21:56    [18249744]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
- так я так и делаю.
Вы же написали: "делаю backup, восстанавливаю её на БД (3), затем создаю скрипты sp & udf и применяю их в (2)."

Вот непонятно, зачем в этой схеме "БД (3)"?
7 окт 15, 22:00    [18249758]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
А sp & udf создаю в студии.
В какой студии, в SSMS или в Visual Studio, или ещё в какой то?
7 окт 15, 22:01    [18249767]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
используется sql server management studio 10.50.1600.1
"Вот непонятно, зачем в этой схеме "БД (3)"?" - в (2) есть данные пользователей, поэтому делать в ней restore нельзя.
7 окт 15, 22:11    [18249808]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
"Вот непонятно, зачем в этой схеме "БД (3)"?" - в (2) есть данные пользователей, поэтому делать в ней restore нельзя.
О боже, да какой restore???

Я писал про скрипт создания/изменения объектов - процедур и функций.

Зачем вообще делать любые restore в любых базах? - я же про это спрашиваю.
8 окт 15, 02:04    [18250261]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
Balbidon
Member

Откуда: Donetsk->Emerald City
Сообщений: 345
Для ленивых есть Redgate SQL Compare или подобные ей инструменты, которые позволяют синхронизировать схему объектов в базах.
8 окт 15, 02:18    [18250265]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
alexeyvg:
"Я писал про скрипт создания/изменения объектов - процедур и функций.
Зачем вообще делать любые restore в любых базах? - я же про это спрашиваю."

это нужно потому, что
1. из (1) в (2) следует передать sp & udf и некоторые таблицы. Другие таблицы (2) содержат пользовательские данные.
Я могу создать скрипт на (1) и передать этот файл в среду (2), но этого недостаточно.
2. кроме того, (1) и (2) не доступны линкованию, связь только через файлы backup-restore.
вот как в таких условиях, alexeyvg, передать коды процедур и некоторые таблицы ?

Balbidon,
спасибо, я попробую "Redgate SQL Compare", хотя подозреваю, что:
1. это продукт платный.
2. вряд ли он позволяет обновлять коды процедур на другом сервере как файлы win-команда copy. я, конечно, искал продукты нужного функционала, но не нашел.
8 окт 15, 08:22    [18250449]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
Balbidon,
насколько я понял, Redgate SQL Compare не работает с тем, что мне нужно, а именно, с кодами процедур и функций.
Его область - это: "... databases, backups, or SQL scripts in source control", а также "... missing data can be restored to a single row".
Моя задача кратко описана в заголовке: применить обновление sp & udf.
8 окт 15, 08:34    [18250464]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
Glory
Member

Откуда:
Сообщений: 104760
hamlet's Sleep
Моя задача кратко описана в заголовке: применить обновление sp & udf.

Ну так применяйте.
Хотите через дополнительный бэкап-рестор - ваше право.
Можете еще добавить каких-нибудь промежуточных действий перед получением скриптов ваших sp & udf - кто же вам запретит
8 окт 15, 10:07    [18250887]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
Glory,
применяю.
Проблема в том, что такое применение полно автоматических действий, и я не могу их автоматизировать.
Вот напр., я могу создать скрипт всех процедур в БД разработчика. А применить только новые и изменённые на другой БД - не могу. Могу только - все. Вот что мне не нравится.
8 окт 15, 11:28    [18251559]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
Glory
Member

Откуда:
Сообщений: 104760
hamlet's Sleep
Проблема в том, что такое применение полно автоматических действий, и я не могу их автоматизировать.


hamlet's Sleep
Вот напр., я могу создать скрипт всех процедур в БД разработчика. А применить только новые и изменённые на другой БД - не могу. Могу только - все. Вот что мне не нравится.

И каких советов вы ждете ?
Как написать код, который сделать то, что _вам_ нужно ?
Или где найти того, кто напишет этот код ?
Или где найти этот код, уже написанный кем-то ?
8 окт 15, 11:33    [18251615]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
и вдогонку:
если б в ms sql server 2008 была возможность получить список процедур с датой последнего редактирования и датой создания, проблема была бы решена.
8 окт 15, 11:34    [18251624]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
Glory, нет-нет.
я хочу знать, существуют ли в БД данные даты-времени последнего редактирования процедуры.
8 окт 15, 11:36    [18251642]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
Glory
Member

Откуда:
Сообщений: 104760
hamlet's Sleep
если б в ms sql server 2008 была возможность получить список процедур с датой последнего редактирования и датой создания, проблема была бы решена.

Мда
sys.objects

modify_date - datetime - Date the object was last modified by using an ALTER statement. If the object is a table or a view, modify_date also changes when a clustered index on the table or view is created or altered.
create_date - datetime - Date the object was created.

Сообщение было отредактировано: 8 окт 15, 11:36
8 окт 15, 11:36    [18251645]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
Glory,
я этого не знал. Спасибо.
Ваше "Мда" меня убило, выпью валерьянки.
8 окт 15, 11:54    [18251789]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
всё-таки ещё не всё ясно.
Если я знаю modify_date, я могу создать список нужных процедур с кодами и применить его там, где нужно.
Тогда почему такая простая задача не решена во множестве реализаций ? Видимо, существуют проблемы, которые сейчас не виды ?
8 окт 15, 12:02    [18251858]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
Glory
Member

Откуда:
Сообщений: 104760
hamlet's Sleep
Тогда почему такая простая задача не решена во множестве реализаций ? Видимо, существуют проблемы, которые сейчас не виды ?

Разумеется они вам не видны.
Потому что вы не знаете, что такое полноценный Software life cycle
8 окт 15, 12:09    [18251910]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
Glory,
понятно, спасибо.
8 окт 15, 12:20    [18252000]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
это нужно потому, что
1. из (1) в (2) следует передать sp & udf и некоторые таблицы. Другие таблицы (2) содержат пользовательские данные.
Я могу создать скрипт на (1) и передать этот файл в среду (2), но этого недостаточно.
2. кроме того, (1) и (2) не доступны линкованию, связь только через файлы backup-restore.
вот как в таких условиях, alexeyvg, передать коды процедур и некоторые таблицы ?
А, вот оно что, задача принципиально поменялась, в противоположную сторону :-)
hamlet's Sleep
Balbidon,
спасибо, я попробую "Redgate SQL Compare", хотя подозреваю, что:
1. это продукт платный.
2. вряд ли он позволяет обновлять коды процедур на другом сервере как файлы win-команда copy. я, конечно, искал продукты нужного функционала, но не нашел.
Это прекрасно, только задача обновления процедур и функций так же прекрасно решается созданием скрипта на (1) и накатыванием его на (2), без Redgate SQL
А данные Redgate SQL точно так же не обновит.
hamlet's Sleep
вряд ли он позволяет обновлять коды процедур на другом сервере как файлы win-команда copy
А нужно всё это делать win-командой copy?
hamlet's Sleep
Могу только - все. Вот что мне не нравится.
Чем "все" не нравится? Деплойте все процедуры, что в этом плохого?
8 окт 15, 13:25    [18252473]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
Ваше "Мда" меня убило, выпью валерьянки.
Редкую неделю из 15 лет работы с сиквелом я не обращаюсь к таблице sys.objects
Поэтому "Мда" :-)
8 окт 15, 13:26    [18252484]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
есть две БД на серверах ms sql 2008r2, отладочная (1) и рабочая (2).
не могу сообразить, как перенести изменённые и вновь созданные sp & udf из (1) в (2).
А вообще, для небольших проектов вы можете использовать SSDT

Там будет и разработка в проекте, и деплой изменений на тестовый сервер, деплой на рабочий сервер, синхронизация кода, синхронизация системных данных, не трогая пользовательские данные - и всё это "автоматически", достаточно просто.
8 окт 15, 13:36    [18252569]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
hamlet's Sleep
Guest
alexeyvg,
Проект действительно небольшой. Возможно, Вы правы, следует попробовать SSDT. А что, с его помощью можно выполнить мой update ? Правда, сервера (1) и (2) не могут быть связаны. Т.е. обмен update-data возможен только файлами.
8 окт 15, 15:06    [18253415]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31470
hamlet's Sleep
Проект действительно небольшой. Возможно, Вы правы, следует попробовать SSDT. А что, с его помощью можно выполнить мой update ?
С его помощью можно вести разработку как разработку, в средстве разработки.
Как экзешник. Вы же не ковыряете байты в EXE-шнике разработчика, а потом синхронизируете с EXE-шником пользователя?
Вот и в SSDT можно разрабатывать базу, в проекте, а потом деалоить на тест сервер, а потом на продакшен.
hamlet's Sleep
Правда, сервера (1) и (2) не могут быть связаны. Т.е. обмен update-data возможен только файлами.
Разрабатывать нужно на компе разработчика, программиста. Деплоить потом можно как прямо из студии, или можно делать инсталлятор, и запускать его потом на сервере (насколько я помню).
8 окт 15, 15:54    [18253795]     Ответить | Цитировать Сообщить модератору
 Re: обновление sp & udf  [new]
Balbidon
Member

Откуда: Donetsk->Emerald City
Сообщений: 345
Насчет Redgate SQL имелось ввиду, что он позволит синхронизировать схемы разных баз при условии, что в ведении цикла разработки наличествует бардак. Для синхронизации данных есть другие инструменты, в том числе и от Redgate.

Но снова повторюсь, эти инструменты можно использовать для некоторого упорядочения бардака, который уже имеется и который трудно решить простым - "заскриптовать все объекты на (1) и накатить скрипт на (2)". Например, хранимые процедуры или функции могут использовать новые столбцы в таблицах. Т.е. таблицы тоже надо обновлять, причем, весьма желательно, без потери данных.

Конечно, в нормальном цикле разработки каждое изменение должно сопровождаться правильно сформированным и оттестированным скриптом, с проверками, обернутом в транзакцию, и т.д. Но в некоторых случаях такого просто нет. Впрочем, при сильном бардаке не поможет никакая утилита.
8 окт 15, 22:23    [18255698]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Microsoft SQL Server Ответить