是否可以创建一个虚拟文件流文件组来仅研究 mdf 内容?

2024-06-27

我的应用程序有一个从备份文件创建的数据库,如下所示:

-- create empty db
CREATE DATABASE MyNewDB

-- restore on the empty db from file    
RESTORE DATABASE MyNewDB
FROM DISK = 'c:\Temp\MyNewDB.bak'
WITH REPLACE,
MOVE 'MyDB_Data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.EXPRESS2008R2\MSSQL\DATA\MyNewDB.mdf',
MOVE 'MyDB_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.EXPRESS2008R2\MSSQL\DATA\MyNewDB_log.LDF',
MOVE 'MyDBFS' TO 'C:\FileStreamData\MyNewDBFS'

我仅使用文件流文件组来存储 blob,基本上我有一个用于存储文件的表和一个包含保存为 SQL Server Filestream 数据的二进制数据的 blob 列。

随着客户继续使用该应用程序,文件流部分变得巨大,mdf 可能为 500MB,文件流为 60GB

通常,为了在开发计算机上调试问题,我需要传输“仅表”(“500MB”)和“而不是 blob”(“60GB”)。

我所做的是复制数据库,并在复制的数据库上,将文件表中的 blob 列设置为 NULL,然后运行

CHCEKPOINT

然后我等待垃圾收集器完成其工作,然后我可以进行备份并拥有一个小文件。

有时我没有空间来恢复备份的副本,或者我没有时间这样做。

所以我很想能够做,但我没有在所有网络上找到解决方案是:

  1. 复制.mdf + .ldf仅(包含数据)

  2. 以某种方式创建“假文件流数据”(SQL Server 在附加时将接受的数据)

  3. Attach .mdf, .ldf并伪造文件流数据来创建测试数据库

当然,我不希望对 blob 进行查询,但对其他表进行所有查询,是的。

有没有办法(甚至可能使用 3d 方工具)来实现我所需要的?


将其移动到不同的数据库

如果是我,我会考虑将 blob 数据分解到另一个数据库中。但我不确定你目前的结构,或者它的实用性如何。但是,您仍然可以在原始数据库中拥有一个视图,该视图从新数据库中的表中进行选择,和/或重新组合每个表中的多个表。

编写数据库脚本

另一个不太漂亮的选择是编写数据库脚本。 Management studio 可以创建一个脚本文件,运行时将创建表并插入值。例如,如果您需要将数据从 SQL 2014 数据库复制到 SQL 2008 等,这可能是必要的。通常,您可以对编写脚本的内容做出一些选择。(右键单击数据库并选择“任务”->“生成脚本”以弹出向导。)

导出数据

您可以导出数据并导入所述数据,而不是恢复备份。执行此操作时,您可以选择包含哪些数据。您可以跳过 Blob 表或跳过 Blob 列。

分段恢复

最后,您可能还想查看有关仅部分文件或仅部分文件组的分段恢复的链接。https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/example-piecemeal-restore-of-only-some-filegroups-full-recovery-model https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/example-piecemeal-restore-of-only-some-filegroups-full-recovery-model

文件组 A 和 C 的在线还原。 由于它们的数据未损坏,因此不必从备份中恢复这些文件组,但必须恢复它们才能使其联机。 数据库管理员立即恢复A和C。

RESTORE DATABASE adb FILEGROUP='A', FILEGROUP='C' WITH RECOVERY  
RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY  

理论上,您可以备份空白数据库的文件流文件组,然后在恢复时尝试单独使用它。但是,我不确定这条路线是否适合您。如果您的 blob 位于同一个表、同一个数据库中,那么 sql 可能会存储一些数据以将它们拼接在一起。恢复时,sql 可能会检查 blob 数据是否一致和/或兼容?

结论

我真的认为,我会在你的立场上做的事情就是将你的 blob 分解到它们自己的表中,然后将它们移动到一个单独的数据库中。

您可能无法直接连接到这些数据库,否则上面提到的脚本选项或 SQL 任务导入数据可能是选项。

但话虽如此,仍然有 sql 导出数据选项。您可以构建一个仅导出所需数据的 SSIS 包,然后可以重新导入该数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以创建一个虚拟文件流文件组来仅研究 mdf 内容? 的相关文章

  • SQL查询where参数为null不为null

    我正在尝试执行 SQL 查询并根据参数是否为空或否动态构建 where 条件 我有这样的事情 SELECT tblOrder ProdOrder tblOrder Customer FROM tblOrder CASE WHEN Order
  • sql作业中的Xml解析问题

    我在 SQL Server 作业中执行查询时遇到错误 但如果我直接执行它 它就可以正常工作 以用户身份执行 NT AUTHORITY SYSTEM XML解析 第10行 第33个字符输入意外结束 SQLSTATE 42000 错误 9400
  • 带有 varchar(255) PRIMARY KEY 的表会造成什么损害吗?

    我知道这不是一个好主意 但我想仔细检查一下这不会造成服务器崩溃等疯狂的事情 CREATE TABLE dbo Items Id nvarchar 255 NOT NULL PRIMARY KEY Value nvarchar max NOT
  • 错误175:在配置中找不到指定的存储提供程序,或者指定的存储提供程序无效

    我刚刚加入一个项目 并在 64 位计算机上安装了 Microsoft Visual Studio Professional 2012 版本 11 0 51106 01 和 Microsoft SQL Server 2008 R2 另一个团队
  • SQL Server dbo.sysdiagrams 是用户表或系统表

    当在简单数据库中使用数据库图时 SQL Server 在以下位置创建一个 dbo sysdiagrams 表 Table Systam Tables节点 在 Microsoft Management Studio Object Explor
  • SQL Server WHERE 条件不考虑空格

    我的名字和姓氏后面带有空格 我有两个 SQL 查询 即使我搜索时没有空格 第一个查询也会返回结果 第一个查询返回不需要的结果 此行为在所有版本的 SQL Server 中是否一致 这是一种已知的行为吗 它是否记录在msdn for SQL
  • SQL Server Reporting Services 2008 R2 始终显示登录提示

    每当我尝试通过 URL 访问 SSRS 2008 R2 即在网络上发布后 时 访问报告时总是显示登录提示 开发环境中不会出现该问题 如何防止在我尝试访问报告时显示此登录提示 目前 我们正在通过提供用户名和密码来解决这个问题
  • 在 SQL Server 中的韩语单词(任何 Unicode 单词)中查找韩语字母表(任何 Unicode 字符)的索引

    我需要按姓名搜索人员 这里的人名可以是英文 韩文或中文 为此我使用了Like搜索条件Name如下 select from MyTable where Name like N t 上述声明是给所有包含字母的用户t 但这不适用于韩语或中文 就像
  • 实体框架不创建数据库

    一直在使用 ASP NET MVC 3 项目尝试 Entity Framework 4 1 的 Code First 功能 但是 数据库 SQL Server 2008 R2 不会在应用程序启动时自动创建表映射 关于如何让它这样做有什么想法
  • 在 OLAP 多维数据集中,过滤属性时总计错误

    用户尝试检查每个销售人员的销售额 样本数据 Salesperson Sales Amount 001 1000 002 500 003 750 Grand Total 2250 看起来不错 但我们有以下层次结构Company gt Clas
  • 如何搜索表中的所有列?

    如何在 SQL Server 中搜索表的所有列 SELECT FROM yourtable WHERE val IN field1 field2 field3 field4 如果您正在寻找精确的全场比赛 如果你正在寻找子字符串匹配 你将不得
  • T-SQL 是否可以通过单个快速操作进行更新/插入

    假设我有一个表 我想插入一行 新行的键可能已经与表中现有行的键匹配 在这种情况下我想更新现有行 或者 它可能不存在于表中 在这种情况下应插入新行 执行此类操作最有效的方法是什么 我想先做一个SELECT 也许与EXISTS 查看是否存在特定
  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • SQL Server xp_delete_file 参数

    谁能解释一下清单xp Delete filesql server 中的参数 我没有找到此存储过程的 msdn 文档 我从维护计划中获取了 xp Delete file 脚本 但不理解第一个参数 xp delete file取五个参数 文件类
  • 一次更改多个表

    我正在尝试一次更改多个 SQL Server 2008 R2 表 这是我的代码 use DatabaseName go Declare SchemaUsed varchar 20 dbo create table Tables TableN
  • 循环表行的最佳方法是什么?

    在 SQL Server 2008 R2 中循环数据库表行的最佳方法是什么 我正在寻找与编写 foreach 非常相似并且性能相当的东西 Thanks 最佳性能 不要循环表的行 使用基于集合的操作 Here s 关于 为什么 的良好讨论 h
  • SQL Server递归查询显示父级路径

    我正在使用 SQL Server 语句并有一张表 例如 item value parentItem 1 2test 2 2 3test 3 3 4test 4 5 1test 1 6 3test 3 7 2test 2 我想使用 SQL S
  • 表名搜索

    我使用以下命令在特定数据库的存储过程中搜索字符串 USE DBname SELECT Name FROM sys procedures WHERE OBJECT DEFINITION OBJECT ID LIKE xxx 修改上面的内容是否
  • 读取 BCP 格式文件时发生 I/O 错误

    今天 我创建了一个新的临时表和一个 BCP fmt 文件 我创建了一些测试数据并尝试从命令行运行 BCP 实用程序 我从之前的工作中获得了大约 20 个不同格式的文件和暂存表 这是我第一次遇到此错误 我该如何修复这个错误 请注意 我在下面添
  • 是否可以创建一个虚拟文件流文件组来仅研究 mdf 内容?

    我的应用程序有一个从备份文件创建的数据库 如下所示 create empty db CREATE DATABASE MyNewDB restore on the empty db from file RESTORE DATABASE MyN

随机推荐

  • RVM 要求错误

    我安装了 OS X Mavericks 并且正在尝试运行rvm requirements在终端中 它给了我这个错误 Installing required packages autoconf automake libtool pkgconf
  • Android:我的应用程序太大并给出“无法执行 dex:方法 ID 不在 [0, 0xffff]: 65536”?

    我正在尝试将我的应用程序与 Box Dropbox 和 Google Drive 集成 所有这 3 项服务都需要许多第 3 方 jar 此外 我的应用程序已经需要一些第三方 jar 现在 当我尝试从 Eclipse 运行我的应用程序时 出现
  • 从另一台服务器读取 Node.js 中的大文件

    我有两台相互通信的服务器 Server1 向 Server2 请求文件的部分内容 并将收到的数据存储到一个文件中 Server2 应该接收每个请求并创建一个流管道传输数据 假设服务器2中存储的文件 目录 如下 bigfile gz bigf
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • jQuery可排序发布数据,但没有数据

    谁能告诉我我在这里缺少什么 我的数据似乎总是空的 我做错了什么 document ready function nav sortable connectWith nav axis y update function event ui var
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • HTML标题属性样式[重复]

    这个问题在这里已经有答案了 如何在不使用 javascript 或 CSS 的情况下更改以下标记中标题属性的样式 因为我将 HTML 插入到原本无法编辑的文档中的特定位置 span title This is information Thi
  • diffable 数据源节标题在更新期间闪烁

    我目前面临的问题是 当将新快照应用于当前数据源时 页眉 页脚和装饰视图不是集合视图子视图的一部分 这可以被视为奇怪的闪烁 以前有人遇到过这个问题吗 我通过以下方式更新数据源 var snapshot NSDiffableDataSource
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • (A == B == C) 比较在 JavaScript 中如何工作?

    我预计以下比较会给出错误 var A B 0 if A B 0 console log true else console log false 但奇怪的是它又回来了false 更奇怪的是 console log A B 1 returns
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 通过 PhoneGap (iOS) 上传后图像横向/上下颠倒

    不知道是什么原因造成的 但是当我通过以下方式将一些图像上传到远程服务器时FileTransfer http docs phonegap com en 1 0 0 phonegap file file md html FileTransfer
  • 将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?

    我试图尝试将 Protobuf ValueProviderFactory 添加到 MVC3 以便我可以选择 MIME 类型并将原始数据反序列化为操作参数的对象 我还可以使用它来更改默认的 Json 序列化器 看着JsonValueProvi
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • FCM 主题是否适合更多用户?

    我对使用主题消息有点困惑 我的场景是根据通知触发一些作业 请帮助我更多地了解这一点 如果我们正在处理大量用户 则可以使用 FCM 主题向用户发送通知 我们可以只使用数据消息和主题消息吗 使用主题发送的消息是否保证送达 我在 FCM 文档中看
  • 通过条件将 Firebase 云消息传递 (FCM) 发送到多个主题的正确语法是什么

    简而言之 我想使用 Google Cloud Functions 向订阅主题组合的设备发送通知 文档说 主题中的 TopicA 主题中的 TopicB 主题中的 TopicC 我试图做的是 var topicsConditions type
  • 您可以严格泛型类型或为一个参数指定多个类型吗?

    例如我想指定一个类型可能是Integer or String并将其用作特殊类型func我试过typealias但它不会解决这个问题 因为类型别名不能有or参数作为其唯一用途 因此请考虑下面的情况 typealias alis StringP
  • 修改x轴刻度标签

    我正在尝试更改由生成的箱线图的 x 轴刻度标签ggplot2 x 轴是一个分类变量 HabFac 我想要的是将其刻度更改为 6 个化学品 A E 下面是我的代码 raw data read table Read data p TT ggpl
  • 如何在不刷新页面的情况下更新页面 html 和 url

    我想知道是否有人可以指出我学习如何在不刷新页面的情况下更新页面 html 和 url 的方向 是否有任何现有的 javascript 库可以处理这个问题 或者有一本涵盖此类事情的好书 这是使用该效果的示例网站 http onedesignc
  • 是否可以创建一个虚拟文件流文件组来仅研究 mdf 内容?

    我的应用程序有一个从备份文件创建的数据库 如下所示 create empty db CREATE DATABASE MyNewDB restore on the empty db from file RESTORE DATABASE MyN