powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разделить процедуры и таблицу
39 сообщений из 39, показаны все 2 страниц
Разделить процедуры и таблицу
    #39634584
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть задача организовать предрелизный сервер, на котором будут процедуры и код, которые надо будет после тестирования выкладывать на прод. Но он должен работать с реальными данными прод сервера.
Поэтому надо разнести процедуры и таблицы.
Единственный из вариантов, который пришел ко мне в голову, связать два сервера и по всем таблицам на предрелизном сервере создать вьюхи с именами таблиц, которые будут ссылаться на прод сервер.

Может у кого-нибудь более интересные и простые варианты есть?
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634592
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975,

авторЕдинственный из вариантов, который пришел ко мне в голову, связать два сервера и по всем таблицам на предрелизном сервере создать вьюхи с именами таблиц, которые будут ссылаться на прод сервер.

зачем такие сложности, сразу на прод и накатывайте чё уж черезь вьюхи всё ломать
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634593
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. вы хотите не тестированным кодом лезть в прод?
бэкап прода на "предрелиз" развернуть.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634643
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На прод сейчас накатывается сразу, но опасно. Если что не учлось, то получается что мы тестим сейчас на живых клиентах. А они обижаются.

Бэкап тоже не вариант, т.к. данные должны быть живыми и обновляемыми. Это не тестовый сервер разработчиков. И к нему будут подключены клиенты согласившиеся стать бета-тестерами. Но их результат должен менять боевую базу.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634646
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975,

разворачивайте боевой бэкап на тестовом сервере. Но для чего это? Нагрузочное тестирование?
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634659
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975Бэкап тоже не вариант, т.к. данные должны быть живыми и обновляемыми. Это не тестовый сервер разработчиков. И к нему будут подключены клиенты согласившиеся стать бета-тестерами. Но их результат должен менять боевую базу.На боевом сервере создаете отдельную БД, содержащую только код, вместо таблиц синонимы на таблицы основной БД.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634663
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовAlex1975,

разворачивайте боевой бэкап на тестовом сервере. Но для чего это? Нагрузочное тестирование?

Не вариант.

Клиенты торгуют акциями.

Все их результаты попадают в боевую.

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

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

Аналог мне показывали на Postgree. Там в базе только таблицы лежат, а весь код на PHP. И можно к боевой базе пробросить сколько угодно внешних сервисов, которые чем-то отличаются.

Но исторически сложилось что вся бизнес-логика зашита в процедуры.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634667
Фотография StarikNavy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975,

два отдельных сервера, но данные ездят репликацией?
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634677
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975Задача выделить отдельный сервер, на котором бета тестеры (обычные клиенты, согласные за некие плюшки на возможные баги) будут работать, но все их результаты должны быть в боевой. Откуда бэк берет все данные, считает отчеты, меняет в обратку деньги и т.п.

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

Но зачем другой сервер? Можно сделать отдельную базу с процедурами, и синонимы на боевые таблицы.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634681
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invm,

Спасибо. Хороший вариант.

А в плане производительности как синонимы себя ведут в сложных запросах?
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634686
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975invm,

Спасибо. Хороший вариант.

А в плане производительности как синонимы себя ведут в сложных запросах?
пробросятся на оригиналы. При такой схеме можно как через синонимы, так и через представления (на них можно к оригиналам права вообще не давать)
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634687
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за советы. Буду копать в сторону внедрения синонимов.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634701
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975Бэкап тоже не вариант, т.к. данные должны быть живыми и обновляемыми. Это не тестовый сервер разработчиков. И к нему будут подключены клиенты согласившиеся стать бета-тестерами. Но их результат должен менять боевую базу.если ваши клиенты не изолированны друг от друга, то что про это думают другие, не согласившиеся стать бета-тестерами? :)
если же изолированны, то заведите этих бета-тестеров на копию системы и всё (а нагрузочное тестирование делается по другому).
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634804
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дедушкаесли ваши клиенты не изолированны друг от друга, то что про это думают другие, не согласившиеся стать бета-тестерами? :)
если же изолированны, то заведите этих бета-тестеров на копию системы и всё (а нагрузочное тестирование делается по другому).
Ничего не думают. Если не хотят напарываться на баги, работают в боевой системе. Если не против багов могут на бете поработать, найти баг, получить плюшку за это.

Копия тянет за собой кучу проблем синхронизации данных.

А так вариант что если предрелиз не рабочий по каким-то причинам, то могут перейти на боевую и спокойно работать до момента багфикса.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634809
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975,

выглядит как какая-то безумная экономия на QA c ещё более странными оправданиями
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634830
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKAlex1975,

выглядит как какая-то безумная экономия на QA c ещё более странными оправданиямиВыглядит как стандартное решение для ответственных проектов, с большим количеством пользователей.
После тестирования на девелоперском окружении тестируется на стабильной тестовой системе, потом на версию переводится часть пользователей, и только потом уже все остальные.
Тестовые системы не абсолютно адекватны боевым, вон, даже производители машин делают отзывы, а уж в софтостроении бета-версии вообще стандартная практика.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634837
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgПосле тестирования на девелоперском окружении тестируется на стабильной тестовой системе, потом на версию переводится часть пользователей, и только потом уже все остальные.ну, собственно это я и написал Дедушкато заведите этих бета-тестеров на копию системы но у ТСа Alex1975Копия тянет за собой кучу проблем синхронизации данных.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634839
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgTaPaKAlex1975,

выглядит как какая-то безумная экономия на QA c ещё более странными оправданиямиВыглядит как стандартное решение для ответственных проектов, с большим количеством пользователей.
После тестирования на девелоперском окружении тестируется на стабильной тестовой системе, потом на версию переводится часть пользователей, и только потом уже все остальные.
Тестовые системы не абсолютно адекватны боевым, вон, даже производители машин делают отзывы, а уж в софтостроении бета-версии вообще стандартная практика.
всё звучит не плохо до того момента, что они всё это делают на одних и тех же объектах, что значить как минимум
1. Таблицы они никогда не меняют
2. Соотвественно триггеры/представления
А что они тогда делают? Отчёты?
Есть вариант что накатывают объекты сразу на прод, остальное на препрод, но тут ещё больше удивления, ну и так далее
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634842
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975Копия тянет за собой кучу проблем синхронизации данных.т.е. у вас пользователи не изолированны и состояние системы для одних зависит от действий других.
в таком случае у вас только один путь - эмулировать нагрузку на копии боевой системы где проводится финальное тестирование.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634853
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKвсё звучит не плохо до того момента, что они всё это делают на одних и тех же объектах, что значить как минимум
1. Таблицы они никогда не меняют
2. Соотвественно триггеры/представления
А что они тогда делают? Отчёты?
Есть вариант что накатывают объекты сразу на прод, остальное на препрод, но тут ещё больше удивления, ну и так далее
Структура таблиц меняется очень редко. И понятно что изменение таблиц после тестового сервера сразу попадут в бой без предрелизного сервера. Это минимальный риск.
Триггеров тоже мало
Представления также через синонимы использовать.

Меняются постоянно процедуры в которых обрабатываются данные из таблиц. Их и надо через разные уровни тестирования провести.

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

А смысл? Это же обычные пользователи, которые работают как и на боевом и выйти за рамки и похерить данные никак не могут.
И нагрузочное тестирование не нужно. Нужно вылавливание мелких багов, которые можно ловить вылизанным ТЗ, юнит тестами и хорошей и дорогой командой тестеров. Либо так.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39634974
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какие синонимы?! а если у вас какой-нибудь delete/update будет над синонимом?

только один вариант: поднимать копию каждый день, возможно, копию на "почти прямо сейчас", после чего накатывать туда релиз, заказчиков проинформировать о том, что на предрелизном сервере будет такая-то задержка относительно боевого, поэтому смотреть нужно не самые свежие данные
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635012
Очень лысый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с подобной задачей справлялся следующим образом: восстанавливал базу из боевого бэкапа, удалял скриптом весь программный код и накатывал его с помощью liquibase из соответствующей ветки в SVN. Получалось довольно быстро это делать. Тем более, что таковые манипуляции обычно не приходится проделывать каждый день.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635013
Очень лысый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень лысыйЯ с подобной задачей справлялся следующим образом: восстанавливал базу из боевого бэкапа, удалял скриптом весь программный код и накатывал его с помощью liquibase из соответствующей ветки в SVN. Получалось довольно быстро это делать. Тем более, что таковые манипуляции обычно не приходится проделывать каждый день.
Ах, да. Бэкап не канает, ибо данные должны быть живыми и тестеры ещё и менять их дожны иметь возможность. Или не должны?
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635019
Очень лысый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но вообще сама схема тестирования выглядит как-то стрёмно. Я бы такое точно не разрешил делать. Хочешь работать на боевых данных - поднимай базу из бэкапов, или пользуй стендбай для чтения. Что за писание работы тестеров в боевую базу? Мало ли что там кодеры накодят, и, при доступе на прод, этот код там что-то похерит ненароком? Или, если есть доступ на чтение основных данных на проде, кодеры напишут неудачный запрос, который нагнёт прод на некоторое время? Кто будет убытки компенсировать?
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635070
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKalexeyvgпропущено...
Выглядит как стандартное решение для ответственных проектов, с большим количеством пользователей.
После тестирования на девелоперском окружении тестируется на стабильной тестовой системе, потом на версию переводится часть пользователей, и только потом уже все остальные.
Тестовые системы не абсолютно адекватны боевым, вон, даже производители машин делают отзывы, а уж в софтостроении бета-версии вообще стандартная практика.
всё звучит не плохо до того момента, что они всё это делают на одних и тех же объектах, что значить как минимум
1. Таблицы они никогда не меняют
2. Соотвественно триггеры/представления
А что они тогда делают? Отчёты?
Есть вариант что накатывают объекты сразу на прод, остальное на препрод, но тут ещё больше удивления, ну и так далееТак ТС пишет - "только для процедур".

Когда планируется менять модель, то действуют так, как предполагаете вы и Дедушка - то есть тестируют на тестовых системах, потом заливают на прод, минуя стадию бета-тестирования.

Собственно, модель данных ведь намного стабильнее кода, так что в принципе это работающая, годная стратегия.
Дедушкану, собственно это я и написал Дедушкато заведите этих бета-тестеров на копию системыНужно же на реальных данных тестировать. Иначе это не называют "бета-тестированием".
Как могут часть пользователей работать в системе, вместе с остальными пользователями, но не на реальных данных? 10 кассиров из ста работают со своей базой??? Бета тестеры - это обычные работающие с продуктом люди, но работающие не с текущей стабильной версией, а с кандидатом на неё.

Да, репликациями так можно сделать, но распределённая система сама по себе нетривиальна, слишком сложна, что бы делать её только для тестирования.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635072
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень лысыйЧто за писание работы тестеров в боевую базу? Мало ли что там кодеры накодят, и, при доступе на прод, этот код там что-то похерит ненароком?Не тестеров, а пользователей.

Вы подготовили версию, она должна утром появиться на компах 10 000 сотрудников.
Но вам стрёмно, 10 000!!! Вас же порвут, а вдруг что то не так? Вы думаете, "а не залить ли эту версию на компы отдела маркетинга, всё равно их никто не слушает, да и их всего сотня? Если что, откатим."
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635158
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975, дам ссылку на такой опыт компании Авито:

https://habrahabr.ru/company/avito/blog/342946/

Смысл в том, что каждый релиз ХП льется в отдельную схему - для переключения с одной версии кода на другую достаточно в настройках приложения указать схему, на которую он смотрит, название хранимых процедур менять не надо. Так, боевое и тестовое окружение может смотреть на одну и ту же базу, но в разные схемы. При выкатке релиза в прод достаточно просто поменять имя схемы в боевом приложении (или сделать TRANSFER всем объектам).
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635413
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgНе тестеров, а пользователей.

Вы подготовили версию, она должна утром появиться на компах 10 000 сотрудников.
Но вам стрёмно, 10 000!!! Вас же порвут, а вдруг что то не так? Вы думаете, "а не залить ли эту версию на компы отдела маркетинга, всё равно их никто не слушает, да и их всего сотня? Если что, откатим."

Все именно так. Схема рабочая, обсуждена с заказчиком. Риски и пути их минимизации все понимают.

alexeyvgСмысл в том, что каждый релиз ХП льется в отдельную схему - для переключения с одной версии кода на другую достаточно в настройках приложения указать схему, на которую он смотрит, название хранимых процедур менять не надо. Так, боевое и тестовое окружение может смотреть на одну и ту же базу, но в разные схемы. При выкатке релиза в прод достаточно просто поменять имя схемы в боевом приложении (или сделать TRANSFER всем объектам).

Из минусов что я вижу, в базе появляется куча процедур от разных версий. И если их сейчас тысяча штук, то будет ад.
И вызов функций требует указания схемы. А т.к. схема будет меняться, то непонятно как быть.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635433
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975Из минусов что я вижу, в базе появляется куча процедур от разных версий.
Зато по названию схемы (если правильно именовать) сразу понятно, что это за версия, найти этот релиз, найти время его выпуска.

Alex1975И вызов функций требует указания схемы. А т.к. схема будет меняться, то непонятно как быть.
С функциями проблема, да. Если в них у вас много логики и она часто меняется - то вариант скорее не подходит.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635684
Очень лысый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgОчень лысыйЧто за писание работы тестеров в боевую базу? Мало ли что там кодеры накодят, и, при доступе на прод, этот код там что-то похерит ненароком?Не тестеров, а пользователей.

Вы подготовили версию, она должна утром появиться на компах 10 000 сотрудников.
Но вам стрёмно, 10 000!!! Вас же порвут, а вдруг что то не так? Вы думаете, "а не залить ли эту версию на компы отдела маркетинга, всё равно их никто не слушает, да и их всего сотня? Если что, откатим."
Ясно, я просто не до конца понял идею. Оно, конечно, прикольно, но несмотря на все согласования и пути минимизации, возможные издержки выглядят гораздо более внушительными, нежели предполагаемый профит. Я имею в виду в случае размещения в одной базе. Тем не менее, скорее всего условный "маркетинг" меняет лишь ограниченное количество данных. Посему, возможно, получится держать "маркетологов" в отдельной базе, куда подливать данные из постоянно изменяемых больших таблиц репликацией, а то, что они там нагерерируют, время от времени сливать в основную боевую базу провереным скриптом. А утром пересобирать для них новую базу из свежено бэкапа с основного прода.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635787
Дед-Папыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975,

create sysnonym
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39635830
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень лысыйПосему, возможно, получится держать "маркетологов" в отдельной базе, куда подливать данные из постоянно изменяемых больших таблиц репликацией, а то, что они там нагерерируют, время от времени сливать в основную боевую базу провереным скриптом. А утром пересобирать для них новую базу из свежено бэкапа с основного прода.Я про этот вариант писал, и не только я.
Но это черезмерно сложно для такой задачи. Сделать для тестирования распределённую систему из продакшена и теста - нереально, это будет по стоимости сравнимо с созданием всей системы.
Для очень больших и ответственных систем, которые уже сделаны распределёнными, можно (и обязательно нужно) предусматривать работу разных частей системы в разных версиях, это при той же сложности хотя бы даст дополнительные плюсы, эта адская работа хотя бы не будет сделана только для тестирования.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39636908
Очень лысый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgОчень лысыйПосему, возможно, получится держать "маркетологов" в отдельной базе, куда подливать данные из постоянно изменяемых больших таблиц репликацией, а то, что они там нагерерируют, время от времени сливать в основную боевую базу провереным скриптом. А утром пересобирать для них новую базу из свежено бэкапа с основного прода.Я про этот вариант писал, и не только я.
Но это черезмерно сложно для такой задачи. Сделать для тестирования распределённую систему из продакшена и теста - нереально, это будет по стоимости сравнимо с созданием всей системы.
Для очень больших и ответственных систем, которые уже сделаны распределёнными, можно (и обязательно нужно) предусматривать работу разных частей системы в разных версиях, это при той же сложности хотя бы даст дополнительные плюсы, эта адская работа хотя бы не будет сделана только для тестирования.
На самом деле, в общем случае реализовать такую схему, как я описал, не так уж трудно и дорого, если база не слишком сложная по структуре и таблиц в ней не сотни. Ибо она не является в полном смысле слова распределённой системой. Другое дело, что если восстановление из бэкапа будет занимать несколько дней, то тогда, конечно, не вариант. Но поставить диагноз по фотографии, не видя исходный солюшен, понятно, задача неблагодарная.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39637061
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень лысыйНа самом деле, в общем случае реализовать такую схему, как я описал, не так уж трудно и дорого, если база не слишком сложная по структуре и таблиц в ней не сотни. Ибо она не является в полном смысле слова распределённой системой.Не вижу, почему "не является". Совершенно бескомпромиссно-полноценная распределённая система. Разве что одно упрощение - 2 узла, а не произвольное количество.

Представьте, что у вас, например, 1С база, и поставили задачу "держать "маркетологов" в отдельной базе, куда подливать данные из постоянно изменяемых больших таблиц репликацией, а то, что они там нагерерируют, время от времени сливать в основную боевую базу провереным скриптом"
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39638137
Alex1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень лысыйНа самом деле, в общем случае реализовать такую схему, как я описал, не так уж трудно и дорого, если база не слишком сложная по структуре и таблиц в ней не сотни. Ибо она не является в полном смысле слова распределённой системой. Другое дело, что если восстановление из бэкапа будет занимать несколько дней, то тогда, конечно, не вариант. Но поставить диагноз по фотографии, не видя исходный солюшен, понятно, задача неблагодарная.

Может в каких-то не сильно больших системах где десяток транзакций в секунду и можно реализовать.
Но в больших тяжело. Я даже представить боюсь трудозатраты и количество багов которые огребем при реализации такой схемы. А все для того чтобы исключить гипотетическую вероятность того что кто-то через процедуры сможет покосить много не своих данных.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39638160
Guest993
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как много процедур должны отличаться от боевых?
что насчет дополнительной прослойки по вызову процедур (и в ней проверять юзера и какую процедуру ему вызывать боевую или бета)? но это все места где идет вызов процедур боевых должны переписаться..
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39638236
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest993что насчет дополнительной прослойки по вызову процедур (и в ней проверять юзера и какую процедуру ему вызывать боевую или бета)? но это все места где идет вызов процедур боевых должны переписаться..Зачем такие сложности? Уже подсказали простое и надёжное решение.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39638237
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex1975Очень лысыйНа самом деле, в общем случае реализовать такую схему, как я описал, не так уж трудно и дорого, если база не слишком сложная по структуре и таблиц в ней не сотни. Ибо она не является в полном смысле слова распределённой системой. Другое дело, что если восстановление из бэкапа будет занимать несколько дней, то тогда, конечно, не вариант. Но поставить диагноз по фотографии, не видя исходный солюшен, понятно, задача неблагодарная.

Может в каких-то не сильно больших системах где десяток транзакций в секунду и можно реализовать.
Но в больших тяжело. Я даже представить боюсь трудозатраты и количество багов которые огребем при реализации такой схемы. А все для того чтобы исключить гипотетическую вероятность того что кто-то через процедуры сможет покосить много не своих данных.Мало того, непонятна идея Очень лысый, как можно таким образом уберечь данные.
Кривая процедура накосячит в данных, и они перенесутся репликацией в рабочую базу.
Результат тот же, но с адской работой и дополнительными ошибками от самой распределённой схемы.
...
Рейтинг: 0 / 0
Разделить процедуры и таблицу
    #39638566
Очень лысый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgAlex1975пропущено...


Может в каких-то не сильно больших системах где десяток транзакций в секунду и можно реализовать.
Но в больших тяжело. Я даже представить боюсь трудозатраты и количество багов которые огребем при реализации такой схемы. А все для того чтобы исключить гипотетическую вероятность того что кто-то через процедуры сможет покосить много не своих данных.Мало того, непонятна идея Очень лысый, как можно таким образом уберечь данные.
Кривая процедура накосячит в данных, и они перенесутся репликацией в рабочую базу.
Результат тот же, но с адской работой и дополнительными ошибками от самой распределённой схемы.
Ну я реплицировать предполагал из боевой в тестовую наоборот. Но оно, конечно, не для всякого случая подойдёт и вообще уже подсказали хороший вариант, так что извините, если что не так.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разделить процедуры и таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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