2014-02-10 55 views
1

SQL Server 2008 R2中的SQL Server Management Studio有没有办法清除您复制的结果集项目的剪贴板?我一直在做大量的复制和粘贴大量结果集,每次我复制它们都会增加SSMS占用的内存,并在一段时间后崩溃。SSMS 2008 R2 - 复制粘贴结果集后清除剪贴板

我知道有一个更好的方法来做到这一点(即不要复制和粘贴 - 将数据直接传送到应该去的地方),但我找不到解决方案来清除SSMS剪贴板,现在它是困扰着我。

回答

0

您实际上每次复制新内容时都清除它。所以当你复制1个字符时,你已经清除了剪贴板。崩溃的原因可能在于SSMS的内存管理 - 这并不意味着当您复制1个字符时立即释放内存。

但也许有你的问题的另一种解决方案。你在哪里复制数据?另一种应用? Excel?文本文件 ?如果你告诉你的情况,可能会有更好的解决方案。

+0

我注意到当我复制一块新数据时,SSMS的内存分配出现了一些下降 - 但仍然不断增加并且不一致。例如,我没有在我的当前SSMS实例中进行任何复制/粘贴,并且我的大小约为100MB。将2.7M的行数据集拉入结果窗口可增加约50MB的内存,并且将这些行的复制/粘贴(转换为excel)〜9K可将用量增加60MB。然后尝试复制原始结果窗口中的单个单元格或一行,但未改变内存使用情况。 –

+0

不幸的是,这是SSMS的方式。 SSMS不会将所有数据加载到网格中,并只显示一种“预览”。其余的驻留在磁盘缓存中。如果将大量数据复制到剪贴板,SSMS必须保留所需的全部数量,但垃圾收集器不会释放它,然后由于某种原因返回(有时会在几分钟后发生)。 –

+0

我为SSMS开发SSMSBoost加载项并面对实现网格脚本的问题。因此,我们不得不切换到自己的磁盘缓存来解决问题(以小部分查询数据)。就我们使用原生XML电子表格格式实现export to excel而言,SSMSBoost可能会解决您的问题。真正的大数据量应该是可能的。 –