【发布时间】:2013-01-20 15:33:56
【问题描述】:
我是 SQL Server 新手。我将存储在我的文件系统上的一个包导入到我的 SQL Server 2008R2 数据库中。后来我从文件系统中删除了这个包。但是,该包继续保留在 SQL Server 数据库中,甚至可以执行!
据我所知,这不应该发生,因为即使是 SQL Server 也会引用存储在文件系统中的那个包。所以我的问题是:这种行为正常吗?如果不是,可能是什么原因
欢呼
【问题讨论】:
-
您是否检查了 Management Studio 中的 SQL Server Agent / Jobs 文件夹?可能有一个作业已安排并正在引用包(或它的副本)。
-
这是绝对正常的!当您将包加载到 SQL Server 时,它的完整副本存储在 SQL Server 中 - 它不再依赖于磁盘上的包 - 它现在是 SQL Server 引擎中的一个对象。
-
@Aaron> 唯一运行 syspolicy_purge_history 的作业
-
那么谁在执行包,你如何确定它正在执行?您究竟在哪里看到包仍然存在并且仍在被调用的证据?
-
@marc_s> 那为什么会有两个文件夹,即 FileSystem 和 MSDB。如果所有内容都存储在 DBMS 本身中,为什么不将每个包都集中到一个文件夹中呢?