获取将数据加载到数据库表中的SSIS包

时间:2014-01-07 08:42:10

标签: sql-server ssis sql-server-2008-r2

我处于这样一种情况:我继承了SQL Server 2008 R2数据库,但没有任何形式的文档可用。数据库“可能”加载来自SSIS包的数据&我正试图追捕这个包裹。

我是否可以针对数据库运行T-SQL命令,然后向我显示数据库最后一次加载数据以及数据来自何处?

1 个答案:

答案 0 :(得分:2)

祝贺。嗯,不是真的,但欢迎你有机会学习很多新东西。我记得在ServerFault上有一个类似的问题 - 10 servers to administer and I'm a history major

  1. sp_blitz如果您对照顾SQL Server一无所知,请从此处开始。它们提供了一个可以在服务器上运行的方便脚本,以及有关该脚本结果的培训和建议。他们也很乐意提供一些很棒的咨询服务。 StackExchange网络使用Brent Ozar Unlimited,因此请记住这一点。无论如何,存储过程会告诉你在继承服务器之后你需要知道的大部分事情(当备份最后运行时,那里有没有任何触发器,这个东西装了多少哑巴)

  2. 打开SQL Server Management Studio,连接到实例并查看SQL代理。将您在那里看到的每个工作加倍,并查看所有工作步骤。这将使您有机会查看计划以什么间隔运行的内容。您还需要查看Windows Scheduler(控制面板\所有控制面板项目\管理工具\任务计划程序)%windir%\system32\taskschd.msc /s对于SQL Agent,您需要留意“SQL Server集成”类型的作业子系统服务”。您还应该注意任何OS命令,因为您可能还会看到对dtexec.exe的引用。这是使SSIS包“go”的可执行文件。如果是任务调度程序,那么你将寻找dtexec调用(并希望它不包含在像ImportData.bat这样模糊的.bat文件中)。还询问您的组织是否使用其他计划工具。几个工作前,我们使用Tidal效果很好。无论如何,您可以在此确定定期执行的操作。

  3. 找到包裹。包将位于数据库或文件系统中。数据库更容易,因为它们将存储在2008,2008 R2和2012包部署模型项目的msdb.dbo.sysssispackages中。对于2005年,请查看msdb.dbo.sysdtspackages90。我有一个方便的查询,可以在SSIS Package Query上提取这些信息。如果它在文件系统上,那么您可以在本地方框上祈祷它,搜索以.dtsx结尾的所有文件将对您有所帮助。但是,由于您可以在网络文件共享上引用包,因此可能会很快变得难看。找到它们之后,您将需要Business Intelligence Designer Studio,BIDS,它是Visual Studio的自定义外壳程序。由于这是SQL Server 2008(和R2),因此您必须运行Visual Studio 2008 shell。直到2012年发布的SQL Server,该团队才与相应的VS安装相关联。找到SQL Server安装媒体并从那里执行安装。

  4. 要专门解决“是否有一个T-SQL命令我可以对数据库运行,然后向我显示数据库最后一次加载数据以及数据来自哪里?”不,这真的很简单。如果您有优秀的设计师,您的表可能具有反映操作发生时间的插入和修改日期。

    还有什么可以将数据导入您的系统?一切。可能有.NET服务,无论是网络还是Windows推送数据。这可能是基于WMI触发事件,就像文件观察者等待删除最新的数据文件一样。等等。