Я использую Powershell с модулем SQL Server. Я настраиваю PSDrive, который указывает на экземпляр SQL Server, к которому я хочу получить доступ, и я могу просмотреть диск и добраться до коллекции Tables
. Проблема в том, что существует более 120 000 таблиц, и это замедляет сканирование системы, когда я использую Get-ChildItem
для их извлечения.
Есть ли эффективный способ получить один объект таблицы без перечисления всей коллекции?
Итак, я оставил большую часть своего первоначального ответа ниже, но TheMadTechnician поднимает гораздо лучшую мысль о том, что get-item доставит вам фактический предмет, а get-childitem доставит вам предметы на месте, т. Е.
это реальная таблица
get-item schema.tablename
а это все в таблице - чеки, столбцы, индексы и т.д...
get-childitem schema.tablename
Вы можете выполнить get-item или get-childitem для одной таблицы, просто явно вызвав ее с соответствующим schema.tablename.
get-childitem schema.tablename
Вы даже можете сделать это без навигации по диску. Это будет похоже на это (с поправкой на любой уровень привода, на котором вы находитесь)
get-childitem databases\databasename\tables\schema.tablename
@TheMadTechnician, вы правы, и get-item действительно более правильный ответ для получения таблицы.
Потрясающий. Спасибо, парни!
Get-Item
тоже должен работать, так как он предназначен для получения конкретного предмета. Я не проверял это с таблицей SQL, но теоретически это должно работать.