我被要求从备份中创建一个用于报告的数据库,但在将文件从备份传输到服务器磁盘时,数据库变得无法使用。
然后再次运行恢复脚本,它再次运行得非常慢。不确定这是否是配置问题...
- SQL 服务器正在 ESXi 主机上运行(4.0 Build 398348)
- WIN 2008 R2
- 8GB 内存(SQL 拥有大部分内存)
- 单 CPU(由于许可)
- 存储是本地连接的,而不是 SAN/NAS
- SAS 磁盘 10k(我认为)
这是备份脚本(相当标准)
RESTORE FILELISTONLY
FROM DISK = 'E:\Backup\[DatabaseName].bak'
RESTORE DATABASE [DatabaseName]
FROM DISK = 'E:\Backup\[DatabaseName].bak'
WITH
MOVE '[DatabaseName]_Data' TO 'E:\DatabaseFiles\[DatabaseName].mdf',
MOVE '[DatabaseName]_Log' TO 'E:\LogFiles\[DatabaseName]_log.ldf'
ALTER DATABASE [DatabaseName] SET MULTI_USER
文件夹 DatabaseFiles 和 LogFiles 是已安装的 NDFS 分区。
我可以进行什么测试来找出问题吗?
答案1
由于服务器以虚拟化方式运行,因此很有可能遇到 I/O 瓶颈。检查 Windows 客户机中的磁盘性能计数器 -特别是空闲时间和队列长度- 并查看 ESXi 的“数据存储”和“存储适配器”延迟性能计数器 - 性能良好的存储会在此处显示 10 毫秒量级的值。如果您看到超过 100 毫秒,则存储可能已超载。