Rauf Asadov Asked: 2021-01-25 11:31:53 +0800 CST2021-01-25 11:31:53 +0800 CST 2021-01-25 11:31:53 +0800 CST 如何计算备份过程的内存限制? 772 备份过程的“内存限制”实际上是如何计算的? sql-server backup 2 个回答 Voted Best Answer Shanky 2021-01-26T06:03:47+08:002021-01-26T06:03:47+08:00 在命令中使用跟踪标志后,您必须得到输出,例如dbcc traceon(3605, 3004, 3014, 3213, -1). 如果您阅读了它的工作原理:SQL Server Backup and Restore 如何在此 TF 上选择传输大小,它会说 警告:此跟踪标志应在 Microsoft SQL Server 支持的指导下使用。它们在本文中仅用于讨论目的,未来版本可能不支持。 TF 没有记录,它的输出参数也是如此。这memory limit可能是通过普通 Joe 没有信息或访问权限的代码在内部计算的。所以我建议不要浪费时间去寻找它是如何计算的。您可以专注于 MAXTRANSFERSIZE 和 BUFFERCOUNT 并使用它。 MBuschi 2021-01-25T23:47:10+08:002021-01-25T23:47:10+08:00 那是系统中的可用内存,它是windows级别的最大连续内存块,它是能够运行备份命令的“非sql服务器缓冲池内存”。 您还有 buffercount,即 sql server 用于执行备份的 IO 缓冲区数。太多会导致 sqlserver.exe 进程内存不足。
在命令中使用跟踪标志后,您必须得到输出,例如
dbcc traceon(3605, 3004, 3014, 3213, -1)
. 如果您阅读了它的工作原理:SQL Server Backup and Restore 如何在此 TF 上选择传输大小,它会说TF 没有记录,它的输出参数也是如此。这
memory limit
可能是通过普通 Joe 没有信息或访问权限的代码在内部计算的。所以我建议不要浪费时间去寻找它是如何计算的。您可以专注于 MAXTRANSFERSIZE 和 BUFFERCOUNT 并使用它。那是系统中的可用内存,它是windows级别的最大连续内存块,它是能够运行备份命令的“非sql服务器缓冲池内存”。
您还有 buffercount,即 sql server 用于执行备份的 IO 缓冲区数。太多会导致 sqlserver.exe 进程内存不足。