Você pode criar um trabalho de agente sql que execute uma assinatura regular. Procure o ID da assinatura e, em seu trabalho de agente SQL, escreva uma consulta no tom de
if exists (select * from Table)
BEGIN
EXECUTE msdb.dbo.sp_start_job 'subscription_job_ID_here'
END
Isso enviaria a assinatura não orientada a dados se houver dados na tabela para o if existir e não se não houver dados.