我们有一个 Windows C/S 应用程序,可以导出、导入和复制数据库。为了测试 SQL Server 2014,我们从 SQL Server 2008 导入了一些数据库,并在不久前对 2014 进行了一些(成功的)测试。
现在我们已经安装了 SP1,然后还遇到了其他错误消息的问题(例如“无法打开备份设备”)。
然后,我还损失了一整天的时间,直到我找到了 SP1 添加的三个新列的信息(不幸的是,在我找到此帖子之前)。
所以..我必须将 SP 中的三个新字段添加到恢复头的定义中:
CREATE TABLE #restoreheader(
BackupName nvarchar(128)
, BackupDescription nvarchar(255)
, BackupType smallint
, ExpirationDate datetime
, Compressed tinyint
, Position smallint
, DeviceType tinyint
, UserName nvarchar(128)
, ServerName nvarchar(128)
, DatabaseName nvarchar(128)
, DatabaseVersion int
, DatabaseCreationDate datetime
, BackupSize numeric(20,0)
, FirstLSN numeric(25,0)
, LastLSN numeric(25,0)
, CheckpointLSN numeric(25,0)
, DatabaseBackupLSN numeric(25,0)
, BackupStartDate datetime
, BackupFinishDate datetime
, SortOrder smallint
, [CodePage] smallint
, UnicodeLocaleId int
, UnicodeComparisonStyle int
, CompatibilityLevel tinyint
, SoftwareVendorId int
, SoftwareVersionMajor int
, SoftwareVersionMinor int
, SoftwareVersionBuild int
, MachineName nvarchar(128)
, Flags int
, BindingID uniqueidentifier
, RecoveryForkID uniqueidentifier
, Collation nvarchar(128)
, FamilyGUID uniqueidentifier
, HasBulkLoggedData bit
, IsSnapshot bit
, IsReadOnly bit
, IsSingleUser bit
, HasBackupChecksums bit
, IsDamaged bit
, BeginsLogChain bit
, HasIncompleteMetaData bit
, IsForceOffline bit
, IsCopyOnly bit
, FirstRecoveryForkID uniqueidentifier
, ForkPointLSN numeric(25,0) NULL
, RecoveryModel nvarchar(60)
, DifferentialBaseLSN numeric(25,0) NULL
, DifferentialBaseGUID uniqueidentifier
, BackupTypeDescription nvarchar(60)
, BackupSetGUID uniqueidentifier NULL
, CompressedBackupSize bigint NULL
, containment tinyint not NULL
, KeyAlgorithm nvarchar(32)
, EncryptorThumbprint varbinary(20)
, EncryptorType nvarchar(32)
)
Notes:
请参阅最后四定义中的字段。
场包含tinyint不为NULL已添加到 SQL-Server 中2012所以..您还必须添加此字段(如果尚未添加)。
我只是在定义末尾添加了新字段..现在一切都像以前一样工作(没有进一步的更改)。
所以..这是一个重大改变到 SQL Server 2014SP1,只要您在 SP 中使用了恢复标头定义。
我没有找到任何相关信息(必须改变)在 MS 官方发行说明中。
仅我找到的信息,见下文...
MS 文本到“SQL Server 2014 Service Pack 1 发布信息”:
1957464 RESTORE HEADERONLY 的加密备份文件
数据库不显示备份是否加密。后
如果应用 SP1,RESTORE HEADONLY 的输出将包括三个
附加列:KeyAlgorithm、EncryptorThumbprint 和
EncryptorType 可以提供有关加密的更多详细信息
备份。