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?
备注:
- Windows 2012 Essential + SQL Server 2008 R2 EXPRESS
- 英特尔至强 E3-1270 v3 + 16GB 内存
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.
解决您的问题,请参考以下链接:
- Options to Improve SQL Server Backup Performance
- Is your SQL Server backup running slow? Here’s how you can speed it up
- Super-Fast Backup and Restore Throughput for SQL Server
- MS SQL Server backup optimization
- How to Make SQL Server Backups Go Faster
下面是 download
的一些示例查询
为了解决问题,我建议查询以下部分:
backup database DBNAME to disk='C:\DBNAME.bak' with buffercount=16 ,maxtransfersize=4194304
我有一个这样的备份查询:
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?
备注:
- Windows 2012 Essential + SQL Server 2008 R2 EXPRESS
- 英特尔至强 E3-1270 v3 + 16GB 内存
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.
解决您的问题,请参考以下链接:
- Options to Improve SQL Server Backup Performance
- Is your SQL Server backup running slow? Here’s how you can speed it up
- Super-Fast Backup and Restore Throughput for SQL Server
- MS SQL Server backup optimization
- How to Make SQL Server Backups Go Faster
下面是 download
的一些示例查询为了解决问题,我建议查询以下部分:
backup database DBNAME to disk='C:\DBNAME.bak' with buffercount=16 ,maxtransfersize=4194304