执行数据库还原时数据库不可用(SQL Server 2008 R2)

执行数据库还原时数据库不可用(SQL Server 2008 R2)

我被要求从备份中创建一个用于报告的数据库,但在将文件从备份传输到服务器磁盘时,数据库变得无法使用。

然后再次运行恢复脚本,它再次运行得非常慢。不确定这是否是配置问题...

  • 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 毫秒,则存储可能已超载。

相关内容