Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
Здравствуйте!

Произошёл затык, не могу понять в чём дело.

SELECT * FROM sys.objects WHERE type in (N'U')


Два сервера, на одном (SQL 2005) данная команда возвращает все таблицы (их ~250 штук) из БД. На другом (SQL 2016) та же команда возвращает 5 таблиц (spt_fallback_db, spt_monitor, spt_fallback_dev.... и т.д.) и не хочет возвращать список ~ такого же числа таблиц из БД.

а ещё я много чего пробовал
вот такое
select * from INFORMATION_SCHEMA.TABLES


всё равно нет списка таблиц

В чём моя ошибка?
Спасибо!
6 мар 19, 18:25    [21826646]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
TheKLF
В чём моя ошибка?
Либо права, либо нет таблиц (то есть, скорее всего, не та база)
6 мар 19, 18:28    [21826652]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
TheKLF

В чём моя ошибка?


немного расширьте команду :

select db_name() [currentDB],* from sys.objects where type=N'U'


на обоих серверах вы в контексте пользовательских баз?
или на втором, всё таки, в master ?

ставлю на второе
6 мар 19, 19:26    [21826691]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
alexeyvg, komrad,

Спасибо за ответы.
Эти запросы я выполнял из самой sql_management studio Два ПК в сети, на одном 2005, а на другом 2016.
Название БД, наличие таблиц и их содержимое на наличие полностью проверено. К базам полный доступ, со всеми правами(если они должны быть)
6 мар 19, 20:42    [21826753]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
картинка не моя, из "сети"
это для того, что могу так же как на ней видеть
Картинка с другого сайта.
6 мар 19, 20:45    [21826757]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
TheKLF,

вам говорят о том что вы второй запрос исполняете в контексте базы данных master а не в своей пользовательской БД.

таблицы spt_% находятся именно в master.

измените запрос в такой:

use [database_name];
GO
SELECT * FROM sys.objects WHERE type in (N'U');


где - [database_name] имя вашей базы данных
6 мар 19, 21:04    [21826765]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
felix_ff,

спасибо за ответ!

Дело в том, что в версии 2005 я получал список таблиц из моей БД без указания её (БД) названия в запросе

А зная названия таблиц, я мог, используя Where [name_field] LIKE 'Year_month%', получать список таблиц месяцев продаж делать дальнейшие выборки.
А в версии 2016 я не могу получить тот же список таблиц.
6 мар 19, 21:30    [21826772]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30768
TheKLF
Дело в том, что в версии 2005 я получал список таблиц из моей БД без указания её (БД) названия в запросе
Эххх.

На сервере есть множество баз данных.
Из этих баз есть одна текущая база для коннекта пользователя.

Когда вы делаете запрос на получение таблиц, то из какой базы нужно получать эти таблицы?
Из базы, которая указана в верхнем левом окошечке.
Вот у вас при подключении к 2005 и 2016 эти базы оказываются разные.
6 мар 19, 21:39    [21826779]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
alexeyvg,

простите за мою тупость ))
картинка SQL MStudio не моей базы, я просто нашел её, картинку, в сети

Дело в том, что у меня есть два ПК в сети, и на каждом стоит SQL MStudio. Одна 2005 года, другая 2016. На каждом существует/развернута БД (решение не моё, я просто пользователь). Сами базы очень похожи по структуре
Так вот на версии 2005 запрос из моего первого сообщения работает и возвращает все таблицы из базы, а в версии 2016 этот же запрос возвращает только 5 строк с названиями служебных элементов
6 мар 19, 21:47    [21826783]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
Возможно я нашёл ответ, но хотелось бы подробнее как получать список таблиц

Картинка с другого сайта.

К сообщению приложен файл. Размер - 143Kb
6 мар 19, 22:10    [21826797]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
TheKLF,

вы троллите чтоли?

вот в окошке у вас одинаковое название баз когда исполняете свой запрос?

К сообщению приложен файл. Размер - 99Kb
6 мар 19, 22:39    [21826810]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
TheKLF
alexeyvg,

простите за мою тупость ))
картинка SQL MStudio не моей базы, я просто нашел её, картинку, в сети


пока вы будете рассказывать как что-то у других, а не у вас, вы не получите решение _своей_ проблемы

вам сложно выполнить запрос с дополнительным стоблцом db_name(), но легко растекаться мыслию по древу в нескольких постах?

выполните запрос, покажите скриншот результата
после этого вам можно будет что-то посоветовать
7 мар 19, 01:15    [21826870]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
komrad, felix_ff

Спасибо большое за ответы.
Я ни в коем разе не имел желания троллить, я буквально неделю занимаюсь SQL.

felix_ff
спасибо вам за вашу картинку и за выделение красным.
Я свои запросы выполнял в режиме master, а как только выбрал свою БД AbramovCenter, то сразу получил список всех таблиц.
7 мар 19, 09:35    [21826962]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
iap
Member

Откуда: Москва
Сообщений: 46953
TheKLF
komrad, felix_ff

Спасибо большое за ответы.
Я ни в коем разе не имел желания троллить, я буквально неделю занимаюсь SQL.

felix_ff
спасибо вам за вашу картинку и за выделение красным.
Я свои запросы выполнял в режиме master, а как только выбрал свою БД AbramovCenter, то сразу получил список всех таблиц.
Не "в режиме", а в базе данных master
7 мар 19, 09:58    [21826987]     Ответить | Цитировать Сообщить модератору
 Re: Список всех таблиц БД  [new]
TheKLF
Member

Откуда:
Сообщений: 22
iap,

да! не правильно написал, а редактировать отправленное сообщение на этом форуме нельзя

Спасибо!
7 мар 19, 10:19    [21827006]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить