我使用 SQL Server DB,我需要的是我有一个 DB1 和客户端站点与这个 DB 通信,应用程序的报告模块也使用相同的 DB(即在网页中显示不同的报告)客户端想要指向将实例报告给另一个数据库,即 DB2。
我们需要做的是:创建一个新的 DB2,即 DB1 的副本,我们每天都会对 DB1 进行差异备份并将其恢复到 DB2。
为此,我尝试使用此查询对 DB1 进行差异备份,
BACKUP DATABASE [DB1] TO DISK = N'D:\DB_location\DB1-Diff.bak'
WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'DB1-Differential Database Backup',
SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Run Code Online (Sandbox Code Playgroud)
并将其恢复到我使用的 DB2
RESTORE DATABASE [DB2] FROM DISK = N'D:\DB_location\DB1-Diff.bak'
WITH FILE = 1, norecovery, NOUNLOAD, STATS = 10
GO
Run Code Online (Sandbox Code Playgroud)
它第一次运行完美,但下次如果给我错误:
Msg 3117, Level 16, State 4, Line 1
The log or differential backup cannot be restored …
Run Code Online (Sandbox Code Playgroud) 我知道如何在 SQL Server 中备份数据库并恢复它。但是如何备份单个表,然后恢复它?是否可以?
我有一个具有两个不同名称(一些不同的数据)的数据库,我必须通过从一个数据库到另一个数据库来恢复一个表。如何从一个数据库中获取单个表备份,然后将其还原到另一个数据库?