Sql server SSIS正确处理传入文件的未知时间

Sql server SSIS正确处理传入文件的未知时间,sql-server,tsql,ssis,Sql Server,Tsql,Ssis,我几乎没有每天不同时间的报告。他们在zip文件中毫无准备。我可以访问SSIS来处理它,但我还不熟练 我的问题是如何正确处理传入报告时间未知的情况我希望尽快将它们放入数据库,以免给数据库/服务器带来负担 我无法在SSIS或服务器中安装任何其他内容。 我无法通过sp_start_作业运行作业。 我无法检查SSI是否存在文件。 当前我的解决方案是Python脚本检查文件是否在服务器上,并发送sql过程将信息插入到db_日志中,该文件已准备就绪。然后,SSIS包begin中的这个原型tSQL任务正在检查

我几乎没有每天不同时间的报告。他们在zip文件中毫无准备。我可以访问SSIS来处理它,但我还不熟练

我的问题是如何正确处理传入报告时间未知的情况我希望尽快将它们放入数据库,以免给数据库/服务器带来负担

我无法在SSIS或服务器中安装任何其他内容。 我无法通过sp_start_作业运行作业。
我无法检查SSI是否存在文件。 当前我的解决方案是Python脚本检查文件是否在服务器上,并发送sql过程将信息插入到db_日志中,该文件已准备就绪。然后,SSIS包begin中的这个原型tSQL任务正在检查db_日志,如果可能的话,启动数据更新:

    WHILE cast(GETDATE() as time(0)) < '10:00:00'
    BEGIN

        WAITFOR DELAY '00:05';
        IF EXISTS (SELECT /* CHECK LOG FOR TODAY*/ )
        BEGIN
            --INSERT TO lOG THAT PROCEDURE HAS STARTED DATA UPLOAD
            BREAK;  
        END

    END

    IF cast(GETDATE() as time(0)) > '10:00:00'
    BEGIN
        --INSERT TO lOG THAT PROCEDURE HAS FAILED - DATA NOT RECIEVED ON TIME 
        RAISERROR (15600,-1,-1, 'FATALITY');  
    END
但这似乎不是一个好的解决方案,因为带有WAITFOR延迟的整个循环会给数据库带来负担?因为此时将有6个包


我也在考虑每隔几分钟运行一次工作,从5到上午10点运行数据上传,但是之后会有1的成功执行,XXX每天都会失败,但是不会有WaistFREST/睡眠类浪费。

当在等待/延迟的中间,你的代码几乎不消耗服务器上的资源。对一个小表进行五秒钟的轮询不应该给任何合理的SQL Server带来负担。也就是说,您应该看看是否可以使用DTEXEC.EXE应用程序,它可以直接从命令行启动作业。如果是这样,请让Python脚本启动DTEXEC以直接运行作业。这很棘手。我只能通过远程登录服务器并以本地服务用户身份运行SSMS来访问作业和安排作业,并且无法安装任何新内容。我无法检查SSIS是否存在文件。为什么不呢?