备份或恢复被中止 - 可能是什么?

Mar*_*lli 2 sql-server backup restore sql-server-2016

use master
go
ALTER DATABASE Apcore SET SINGLE_USER WITH ROLLBACK IMMEDIATE 

RESTORE DATABASE Apcore
FROM DISK=N'C:\Backups\QG-V-SQL-TS$AIFS_DEVELOPMENT_APCore_FULL_20180909_230034.bak'
WITH  FILE = 1,  
MOVE N'APCoreDataPrimary' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreDataPrimary.mdf',
MOVE N'APCoreData1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreData1.ndf',
MOVE N'APCoreData_nonclusteredIndexes' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreData_nonclusteredIndexes.ndf',  
MOVE N'APCoreLog_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL13.DEVELOPMENT\MSSQL\DATA\APCoreLog_log.ldf',  
recovery,  NOUNLOAD,  REPLACE,  STATS = 1
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在开发人员的机器上恢复数据库时,出现上述错误。

我这样做的方式是:

  • 首先让我说我不担心 - 权限、索引、触发器、同义词等。
  • 我将备份文件(小于 1 GB)从 live 复制到她的本地机器
  • 做了restore filelestonly这是确定
  • 我不得不将数据库设置为 single_user 模式,因为有一些服务每秒钟都在尝试使用它
  • 准备好上面的脚本,并在运行它时收到该错误消息。

会是什么呢?

在此处输入图片说明

Tib*_*szi 5

您很可能在连接到服务器时定义了命令超时。也许没有考虑过。无论如何,客户端 (SSMS) 将在指定的时间后取消查询并返回 -2 的奇怪错误(这不是由服务器抛出的,它是客户端生成的消息)。我通过连接 1 的“执行超时”来测试这个,如下图所示,然后执行下面的 SQL。

在此处输入图片说明

SELECT 'before'
WAITFOR DELAY '00:00:05'
SELECT 'after'
Run Code Online (Sandbox Code Playgroud)

零 (0) 表示无限期。