如何确定 SQL Server 2008r2 中快照的日期?

JNK*_*JNK 5 replication sql-server-2008-r2 snapshot

我正在实施 ETL 过程以将数据加载到仓库中。

这个过程的一部分是将数据从我们的生产服务器(服务器 P)拉到一个临时服务器,在那里实际加载到仓库(和仓库本身)的位置(服务器 S)。我们为此使用快照复制。

出于 QC 和其他一些目的,我需要一种方法来确定在服务器 P 上拍摄快照的日期,从服务器 S。我认为此查询的链接服务器不是一种选择。

我希望在某处的元数据表中有一条记录来反映这一点,或者我可以运行一些其他命令来查询快照历史记录。

swa*_*eck 5

MSSnapshot_History 有用于复制的快照信息。

您可以加入以MSSnapshot_Agents将范围缩小到您的特定代理、出版物和工作。

这些表可以[distribution]在您的分发实例的数据库中找到。

这是获取快照代理的上次启动时间的基本查询。

select a.name, max(start_time) laststart
    from MSsnapshot_agents a
        join MSsnapshot_history h 
            on a.id = h.agent_id
            where h.runstatus = 2 -- this will get you the last successful execution
        group by a.name
Run Code Online (Sandbox Code Playgroud)