Если я правильно вас понял, у вас недостаточно прав доступа, чтобы перейти на этот удаленный компьютер с SQL Server и настроить нужные представления / индексы?
Но у вас достаточно прав для динамического выполнения представления создания из вашего кода?
Если вы хотите отфильтровать эти 100 тыс. Строк из 10 млн., Я бы предложил вам создать индексированное представление, содержащее точно выбранные столбцы, только те, которые вам нужны, и отфильтровать все строки, которые вы не можете необходимо.
Например, вы хотите работать только с датами в этом году, и у вас есть данные за 10 лет в базе данных.
Вы бы создали представление, но с опцией WITH SCHEMABINDING , которая позволила бы вам добавить кластеризованный индекс для этого представления.
После того, как вы это сделаете, вы сможете свободно вызывать свой новый вид (возможно, с опцией WITH (NOEXPAND) в SELECT), и это даст вам возможность поиска только по 100k строк, которые вы запросили. для.
Теперь, поскольку вы не можете напрямую получить доступ к SQL Manager на этом сервере, просто напишите свое представление create, создайте индекс SQL и выполните его изнутри своего кода. Вы сделаете это один раз, и он навсегда останется на вашем сервере.
Надеюсь, у меня все хорошо, иначе я могу полностью упустить смысл. :)
Но, тем не менее, если вы хотите отфильтровать нежелательные данные, индексированное представление будет правильным.