https://www.microsoft.com/en-us/download/details.aspx?id=18279 下载 ContosoBIdemoBAK.exe和ContosoBIdemoABF.exe解压后,无法恢复数据库的问题

sqlserver express 2008直接gui恢复时,提示

标题: Microsoft SQL Server Management Studio
------------------------------ 路径中具有非法字符。 (mscorlib) ------------------------------
按钮: 确定
------------------------------

单路径没有中文字符,是合法的。

或者

标题: Microsoft SQL Server Management Studio
------------------------------ 还原数据库“ContosoRetailDW”时失败。 (Microsoft.SqlServer.Management.RelationalEngineTasks) ------------------------------
其他信息: 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.SmoExtended) ------------------------------ 数据库 'ContosoRetailDW' 无法在此版本的 SQL Server 中启动,因为对象 'DimProduct' 的部分或全部启用了数据压缩或 Vardecimal 存储格式。只有 SQL Server Enterprise Edition 才能支持数据压缩和 Vardecimal 存储格式。
数据库 'ContosoRetailDW' 不能启动,因为某些数据库功能在当前版本的 SQL Server 中不可用。 (Microsoft SQL Server,错误: 909) 有关帮助信息,请单击: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-909-database-engine-error ------------------------------
按钮: 确定
------------------------------

使用命令查询时

use master;
go
RESTORE DATABASE ContosoRetailDW
FROM DISK = N'C:\ContosoRetailDW.bak'
WITH MOVE N'ContosoRetailDW2.0' TO N'F:\sql2008\Data\ContosoRetailDW.mdf',
MOVE N'ContosoRetailDW2.0_log' TO N'F:\SQL2008\Log\ContosoRetailDW.ldf';
go

结果

已为数据库 'ContosoRetailDW',文件 'ContosoRetailDW2.0' (位于文件 1 上)处理了 157984 页。
已为数据库 'ContosoRetailDW',文件 'ContosoRetailDW2.0_log' (位于文件 1 上)处理了 2 页。
正在将数据库 'ContosoRetailDW' 从版本 655 转换为当前版本 661。
数据库 'ContosoRetailDW' 正在从版本 655 升级到版本 660。
数据库 'ContosoRetailDW' 正在从版本 660 升级到版本 661。
消息 3167,级别 16,状态 1,第 3 行
RESTORE 无法启动数据库 'ContosoRetailDW'。
消息 3013,级别 16,状态 1,第 3 行
RESTORE DATABASE 正在异常终止。
消息 909,级别 21,状态 1,第 3 行
数据库 'ContosoRetailDW' 无法在此版本的 SQL Server 中启动,因为对象 'DimProduct' 的部分或全部启用了数据压缩或 Vardecimal 存储格式。只有 SQL Server Enterprise Edition 才能支持数据压缩和 Vardecimal 存储格式。
消息 933,级别 21,状态 1,第 3 行
数据库 'ContosoRetailDW' 不能启动,因为某些数据库功能在当前版本的 SQL Server 中不可用。 完成时间: 2024-01-30T15:47:13.8762724+08:00



考虑在ubuntu下安装 sql server 2022 Developer版来恢复数据库。使用winscp上传.bak文件至/var/opt/mssql/data目录下。然后使用SSMS 进行恢复。

或者执行查询

USE [master]
GO RESTORE DATABASE ContosoRetailDW
FROM DISK = N'/var/opt/mssql/data/ContosoRetailDW.bak'
WITH MOVE N'ContosoRetailDW2.0' TO N'/var/opt/mssql/data/ContosoRetailDW.mdf',
MOVE N'ContosoRetailDW2.0_log' TO N'/var/opt/mssql/Log/ContosoRetailDW.ldf';
go

从图形界面获得对应的数据库脚本

USE [master]
GO /****** Object: Database [ContosoRetailDW] Script Date: 2024/1/30 16:19:36 ******/
CREATE DATABASE [ContosoRetailDW]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'ContosoRetailDW2.0', FILENAME = N'/var/opt/mssql/data/ContosoRetailDW.mdf' , SIZE = 1265664KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'ContosoRetailDW2.0_log', FILENAME = N'/var/opt/mssql/data/ContosoRetailDW.ldf' , SIZE = 137720KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
WITH CATALOG_COLLATION = DATABASE_DEFAULT, LEDGER = OFF
GO IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [ContosoRetailDW].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO ALTER DATABASE [ContosoRetailDW] SET ANSI_NULL_DEFAULT OFF
GO ALTER DATABASE [ContosoRetailDW] SET ANSI_NULLS OFF
GO ALTER DATABASE [ContosoRetailDW] SET ANSI_PADDING OFF
GO ALTER DATABASE [ContosoRetailDW] SET ANSI_WARNINGS OFF
GO ALTER DATABASE [ContosoRetailDW] SET ARITHABORT OFF
GO ALTER DATABASE [ContosoRetailDW] SET AUTO_CLOSE OFF
GO ALTER DATABASE [ContosoRetailDW] SET AUTO_SHRINK OFF
GO ALTER DATABASE [ContosoRetailDW] SET AUTO_UPDATE_STATISTICS ON
GO ALTER DATABASE [ContosoRetailDW] SET CURSOR_CLOSE_ON_COMMIT OFF
GO ALTER DATABASE [ContosoRetailDW] SET CURSOR_DEFAULT GLOBAL
GO ALTER DATABASE [ContosoRetailDW] SET CONCAT_NULL_YIELDS_NULL OFF
GO ALTER DATABASE [ContosoRetailDW] SET NUMERIC_ROUNDABORT OFF
GO ALTER DATABASE [ContosoRetailDW] SET QUOTED_IDENTIFIER OFF
GO ALTER DATABASE [ContosoRetailDW] SET RECURSIVE_TRIGGERS OFF
GO ALTER DATABASE [ContosoRetailDW] SET DISABLE_BROKER
GO ALTER DATABASE [ContosoRetailDW] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO ALTER DATABASE [ContosoRetailDW] SET DATE_CORRELATION_OPTIMIZATION OFF
GO ALTER DATABASE [ContosoRetailDW] SET TRUSTWORTHY OFF
GO ALTER DATABASE [ContosoRetailDW] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO ALTER DATABASE [ContosoRetailDW] SET PARAMETERIZATION SIMPLE
GO ALTER DATABASE [ContosoRetailDW] SET READ_COMMITTED_SNAPSHOT OFF
GO ALTER DATABASE [ContosoRetailDW] SET HONOR_BROKER_PRIORITY OFF
GO ALTER DATABASE [ContosoRetailDW] SET RECOVERY SIMPLE
GO ALTER DATABASE [ContosoRetailDW] SET MULTI_USER
GO ALTER DATABASE [ContosoRetailDW] SET PAGE_VERIFY CHECKSUM
GO ALTER DATABASE [ContosoRetailDW] SET DB_CHAINING OFF
GO ALTER DATABASE [ContosoRetailDW] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO ALTER DATABASE [ContosoRetailDW] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO ALTER DATABASE [ContosoRetailDW] SET DELAYED_DURABILITY = DISABLED
GO ALTER DATABASE [ContosoRetailDW] SET ACCELERATED_DATABASE_RECOVERY = OFF
GO ALTER DATABASE [ContosoRetailDW] SET QUERY_STORE = OFF
GO ALTER DATABASE [ContosoRetailDW] SET READ_WRITE
GO

参考及延申阅读

Editions and supported features of SQL Server 2022 (16.x) on Linux

快速入门:在 Ubuntu 上安装 SQL Server 并创建数据库

ContosoRetailDW on Azure SQL Data Warehouse

Stairway to Columnstore Indexes Level 10: Optimizing Queries For Batch Mode (Part 1)

Backup and restore SQL Server databases on Linux

ContosoRetailDW数据库恢复问题的更多相关文章

  1. oracle 数据恢复,只有oradata文件夹里的文件,没有备份文件的数据库恢复,重装系统后,oracle 10g数据库恢复

    格式化重装系统后,才想起来oracle 10g 数据库没有做备份,开始以为很麻烦,没想到数据库恢复的还挺顺利的 恢复方法: 1,把原来的数据库文件备份,(D:\oracle\product\10.2. ...

  2. Orcle数据库恢复

    不知道什么原因,服务器上的数据库报错:ORA-01033:ORACLE initialization or shutdown in progress 首先检查:监听文件的主机名及端口号是否更改 数据文 ...

  3. OCA读书笔记(16) - 执行数据库恢复

    16. Performing Database Recovery 确定执行恢复的必要性访问不同接口(EM以及命令行)描述和使用可用选项,如RMAN和Data Recovery Advisor执行恢复- ...

  4. oracle数据库恢复与备份

    一.oracle数据库恢复 1.恢复刚才删除的一条数据 delete from emp e where e.empname='SMITH' select * from flashback_transa ...

  5. 用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 工具 方法

    用友金蝶SQL数据库误格式化恢复 SQL数据库修复 SQL数据库恢复 硬盘误格式化.重分区.重装操作系统覆盖 SQL数据解决方法 [客户名称]:贵州铜仁市开天驾驶人培训中心 [软件名称]:用友T3普及 ...

  6. 医院his系统数据库恢复

    医院IT系统的重要性堪比金融行业,“银行系统宕机,老百姓不能取钱:医院HIS系统宕机,老百姓不能看病”, 医院信息系统称得上是迄今为止企业级信息系统中最复杂的一类.  某医院HIS系统SQL2008数 ...

  7. SQL数据库文件修复/用友/金蝶/管家婆/速达/思讯数据库恢复 硬盘恢复

    硬盘的故障情况可以分为以下几类: 1.控制电路故障 大部分外电路的问题是电源芯片或主轴驱动芯片烧坏引起的,由于硬盘电路板质量问题.设计缺陷.市电波动.突然断电.芯片老化或者散热不良.静电等原因造成芯片 ...

  8. 解剖SQLSERVER 第一篇 数据库恢复软件商的黑幕(有删减版)

    解剖SQLSERVER 第一篇  数据库恢复软件商的黑幕(有删减版) 这一系列,我们一起来解剖SQLSERVER 在系列的第一篇文章里本人可能会得罪某些人,但是作为一位SQLSERVER MVP,在我 ...

  9. 数据库恢复(database restore)之兵不血刃——半小时恢复客户数据库

    昨天,一个客户打打来电话,说他们的数据库坏了,不能用了,需要我帮助恢复下,这马上要放假了,居然出了这事儿,自己也不太喜欢恢复数据库这类,尤其是他们的数据库是个win上的库,但心里很清楚,客户比咱着急, ...

  10. MySql数据库恢复(*frm)文件

    mysql数据库恢复(*frm)文件 WorkBench 在使用虚拟服务器时,服务器提供商一般不会像我们使用本地数据库一样:使用导入导出(这样的文件后缀是*.sql).大部分时候提供的是一个文件夹,里 ...

随机推荐

  1. Python将表格文件中某些列的数据整体向上移动一行

      本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,对其中的每一个文件加以操作--将其中指定的若干列的数据部分都向上移动一行,并将所有操作完毕的Excel表格文件中的数据加以合 ...

  2. JavaScript – Symbol

    前言 Symbol 是 es6 的特性. 如果只是写业务逻辑代码, 其实是不太会用到的. 如果是做架构, 封装, UI 组件才有需要. 但学它的概念是好的. es6 有需要内置的 Symbol 链接者 ...

  3. Nuxt Kit 中的页面和路由管理

    title: Nuxt Kit 中的页面和路由管理 date: 2024/9/17 updated: 2024/9/17 author: cmdragon excerpt: 摘要:本文介绍了Nuxt ...

  4. C#|.net core 基础 - 深拷贝的五大类N种实现方式

    在实际应用中经常会有这样的需求:获取一个与原对象数据相同但是独立于原对象的精准副本,简单来说就是克隆一份,拷贝一份,复制一份和原对象一样的对象,但是两者各种修改不能互相影响.这一行为也叫深克隆,深拷贝 ...

  5. SimpleRAG-v1.0.3:增加文件对话功能

    Kimi上有一个功能,就是增加文件之后对话,比如我有如下一个私有文档: 会议主题:<如何使用C#提升工作效率> 参会人员:张三.李四.王五 时间:2024.9.26 14:00-16:00 ...

  6. SuperMap iManager云套件数据动态更新刷新地图与数据服务

    一.使用背景 有这么一个需求,后端也就通过SuperMap iDesktop或数据库更新了新增或更新某个数据地理信息后,云套件SuperMap iManager中的服务没有更新,无法实时查看到更新的数 ...

  7. 打开word报错“内存或磁盘空间不足,无法显示所请求的字体”

    起因: 有一个部门同学在打开服务器上的某个word文档时报错,但是打开本地word文档正常,经过网上查询资料后发现有可能是以下几种原因造成. 可能造成此报错的原因: 1. 文档被锁定 解决办法: 鼠标 ...

  8. UsbHostManager解析

    UsbHostManager和UsbDeviceManager的区别在于,UsbDeviceManager是将手机作为一个设备,比如手机连上电脑,使用adb.mtp等:而UsbHostManager, ...

  9. 使用AVX2指令集加速推荐系统MMR层余弦相似度计算

    原文:blog.fanscore.cn/a/62/ 1. 背景 前一段时间公司上线了一套Go实现的推荐系统,上线后发现MMR层虽然只有纯计算但耗时十分离谱,通过pprof定位问题所在之后进行了优化,虽 ...

  10. 全网最适合入门的面向对象编程教程:57 Python字符串与序列化-序列化与反序列化

    全网最适合入门的面向对象编程教程:57 Python 字符串与序列化-序列化与反序列化 摘要: Python 序列化与反序列化是将 Python 对象转换为字节流(序列化)以便存储或传输,和将字节流转 ...