SQL服务器:为什么备份速度这么慢?

SQL Server: Why is the backup speed so slow?

我有一个这样的备份查询:

BACKUP DATABASE @temp_baza TO DISK = @temp_bak
BACKUP LOG @temp_baza TO DISK = @temp_log

sqlcmd 是这样运行:

sqlcmd -l 120 -S %SQL_SERVER% -i %KOPIA_KATALOG%backupPELNY.sql 
       -o %KOPIA_KATALOG%output_PELNY.txt -v NAZWA_BAZY="%NAZWA_BAZY%" 
       -v KOPIA="%PELNY_KOPIA%\"
       

output_PELNY.txt 我有这样的结果:

BACKUP DATABASE successfully processed 645127 pages in 2819.651 seconds (**1.787 MB/sec**).

BACKUP DATABASE successfully processed 26338 pages in 227.348 seconds (**0.905 MB/sec**).

主数据库在一张磁盘上,备份在第二张磁盘上。

当我使用资源管理器在这两个磁盘之间复制文件时,我得到的传输速度约为 100 MB/s。

问题:

为什么备份速度这么慢-我是说不到3MB/s?

备注:

SQL Server 2008 R2 Express 具有以下限制:

  • 限制为单个 CPU(此限制在 2012 年提高到 "The lesser of one socket or four cores",因此多线程是可能的)
  • 1GB 内存
  • 10GB 数据库大小(每个数据库)

因此您的备份可能 CPU 受 and/or 内存限制。

(当然,它提出了一个明显的问题:为什么你在服务器上使用 express 版本?为什么不使用更高版本的 SQL 服务器版本?)

参考:SQL Server 2008 R2 Express Database Size Limit Increased to 10GB

What about CPU and memory limits? Are any other limits changed in SQL Server 2008 R2 Express?

  • No, the database size limit is the only limit we updated in SQL Server 2008 R2 Express. SQL Server 2008 R2 Express is still limited to 1 CPU and 1 GB of RAM.

解决您的问题,请参考以下链接:

  1. Options to Improve SQL Server Backup Performance
  2. Is your SQL Server backup running slow? Here’s how you can speed it up
  3. Super-Fast Backup and Restore Throughput for SQL Server
  4. MS SQL Server backup optimization
  5. How to Make SQL Server Backups Go Faster

下面是 download

的一些示例查询

为了解决问题,我建议查询以下部分:

backup database DBNAME to disk='C:\DBNAME.bak' with buffercount=16 ,maxtransfersize=4194304