|
Восстановленная из дампа процедура перестала видеть таблицы.
|
|||
---|---|---|---|
#18+
ASE 12.5, две одинаковые среды, отличаются именами. Процедура обращается к таблицам в своей схеме. На одной среде успешно выполняется, на другой выдает горсть ошибок о том, что таблиц не существует. Запуск идет от одного пользователя, под которым они и создавались. Код: sql 1.
права на таблицы в обоих средах одинаковые Код: sql 1. 2. 3. 4. 5. 6. 7.
Перекомпиляция или пересоздание приводит к тому, что таблицы становятся видны, но не ясно, сколько еще таких процедур может появиться, и какова причина. Есть ли какой-то способ понять это в Sybase ASE ? Хотя бы можно найти такие инвалидные процедуры? Не хотелось бы встретиться с таким поведением на проде. -- У мудрого человека нет врагов - только учителя ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 17:34 |
|
Восстановленная из дампа процедура перестала видеть таблицы.
|
|||
---|---|---|---|
#18+
Самая частая причина для такого: - бекап базы на одном сервере и восстановление на другом. - "общий" логин создавался на серверах по отдельности и имеет разные suid Вот по suid и проверяй оно это или нет. Ищи их в master..syslogins Проще всего предотвращать - создавать сервисные аккаунты (которые будут заниматься созданием объектов) сразу по инсталляции свеженького сервера и следить чтобы у них были одинаковые системные id (просто создавать их в одинаковом порядке). Либо не копировать базы между серверами методом backup-restore, а просто создавать объекты в базах по отдельности и настраивать ETL между серверами. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 18:02 |
|
Восстановленная из дампа процедура перестала видеть таблицы.
|
|||
---|---|---|---|
#18+
White Owl, спасибо. Я правильно понял, что до момента запуска такие процедуры найти нет возможности? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 18:18 |
|
Восстановленная из дампа процедура перестала видеть таблицы.
|
|||
---|---|---|---|
#18+
makondoWhite Owl, спасибо. Я правильно понял, что до момента запуска такие процедуры найти нет возможности?Можно. Смотри на таблицу sysobjects. Поле loginame - это текстовое имя того кто создал объект, вот его и ищи в syslogins (suid). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2018, 22:19 |
|
Восстановленная из дампа процедура перестала видеть таблицы.
|
|||
---|---|---|---|
#18+
makondoASE 12.5, две одинаковые среды, отличаются именами. Процедура обращается к таблицам в своей схеме. На одной среде успешно выполняется, на другой выдает горсть ошибок о том, что таблиц не существует. Запуск идет от одного пользователя, под которым они и создавались. Ну ты написал в стиле "у меня неведомая фигня... Есть ли способ понять что-то ?" Конечно, есть. Надо поглядеть на схему твоих БД, на пользователей и на их права, на таблицы и понять, где бредятина. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 13:04 |
|
|
start [/forum/topic.php?fid=55&msg=39622371&tid=2009623]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 389ms |
0 / 0 |