В MSSQLServer правильный способ сделать это, если вы хотите использовать SQLDataSource, - это добавить серверы к экземплярам друг друга с помощью функций «Связанные серверы».
Затем сгенерируйте хранимую процедуру, которая удалит все необходимые записи из обеих баз данных. Присоедините хранимую процедуру к методу удаления вашей сетки.
РЕДАКТИРОВАТЬ: Я должен был заметить, что это зависит от вашей версии SQLServer. Но я думаю, что хранимая процедура, если она поддерживается, на сегодняшний день является наиболее удобным в обслуживании способом сделать это.
Измените свой код, чтобы использовать ObjectDataSource и запустить удаление на обоих серверах в распределенной транзакции.
Можете ли вы написать слой, который либо управляет / наследует / фасады, чтобы получить необходимую вам функциональность? ... выглядит так: Ладислав Мрнка превзошел меня в этом.
В зависимости от вашей конкретной версии SQL может быть способом сделать это (я не знаю такого, но он может существовать). Самый простой способ использования MSSQL из кода .NET - это дважды запустить ваш запрос для двух разных подключений SQL (поскольку вы упомянули, что данные находятся на двух разных серверах, а не только в разных таблицах в БД или даже в двух БД на одном сервере ).