У меня есть приложение rails, которое импортирует свои собственные представления.
Теперь самый первый запрос mssql терпит неудачу, потому что информационная схема возвращает 0 строк при запросе доступных столбцов в определенной таблице (какие рельсы должны подготовить объекты).
При подключении к серверу mssql через студию я могу развернуть ПРОСМОТР и увидеть все необходимые столбцы, однако запросив информационную схему следующим образом:
| ВЫБЕРИТЕ COLUMN_NAME ИЗ INFORMATION_SCHEMA.COLUMNS, ГДЕ TABLE_NAME = 'view'
возвращает нулевые строки.
Я рассмотрел проблему с разрешениями (хотя я не получаю никаких ошибок, просто пустой набор результатов) и вручную предоставил разрешения на представление соответствующему пользователю, и он сохраняется. Я также сделал запрос как администратор, который фактически создал базы данных и получил еще 0 строк.
Мне интересно, будет ли:
- есть какая-то очевидная причина, почему это не удается?
- MSSQL строит INFORMATION_SCHEMA по запросу, т. е. когда я запрашиваю таблицу SCHEMA.COLUMNS, использует ли mssql кэшированные данные или фактически запрашивает БД в этот момент, какие столбцы существуют?
- если ответ отрицательный: могу ли я перестроить кеш/таблицу COLUMNS?
- этот запрос вообще работает для VIEW?
Я также перезапустил службу sql и заглянул в базу данных событий в поисках сломанных таблиц, индексов или чего-то еще. Однако события ничего не выявили (очевидно).
Что-то еще, что можно было упустить?
Спасибо тебе