我将拥有一个 SQL Server 2012 数据库和一个包含 300 万行和 50 列的表。无人值守后台 .net 进程(可能发出一些 SQL 或 Powershell 命令)将其导出到文本文件的最快方法是什么,每行数据一行?.net 进程应该知道导出何时完成或是否有任何错误。数据类型将为 allint或nvarchar。
我假设纯 C# 代码使用 ado.net 执行select *命令并循环遍历数据读取器并为每个记录写入文件会很慢,我无法并行化它。
理想情况下,将导出到远程共享网络文件夹,而不是 SQL Server 计算机上的本地文件夹。SQL Server 将是一个 HA 群集。SSIS 是否更适合于此,不需要数据转换?
.Net 进程将在机器 A 上运行,在机器 B 上运行 SQL Server,最终文件目的地是网络共享。一种选择是 SQL 服务器将文件直接写入网络共享。另一个选项是 SQL Server 写入机器 A,然后在写入文件时,.net 进程将其复制到网络共享。我没有正式的 SLA,但预计文件写入需要 30 分钟 - 1 小时。
Oracle SQL Developer 能够通过Tools -> Database Export...这种方式导出 DDL效果很好,但需要人工干预。
我知道DBMS_METADATA.get_ddl(),但发现导出并不完美。我遇到了导出的DBMS_METADATADDL 无法使用的问题,如果没有首先解决诸如关键字中间中断之类的问题,甚至更糟。但是,如果有人知道一种DMBS_METADATA无需手动修复即可运行的导出 DDL 的方法,那也将是一个很好的解决方案。
基本上,我正在寻找一种自动/脚本化的方式来导出与通过手动方式导出的 DDL相同的DDL 。
我怎样才能做到这一点?
我需要导出表的数据和结构,但数据必须具有特定条件(WHERE status=0 and id>20)。
如何根据来自 phpMyAdmin 或任何东西的 where 条件导出 mysql 数据库。
你们可能知道,SQL Server 没有提供开箱即用的解决方案来导出为数据库中的每个元素声明的所有安全相关语句(在数据库级别和对象级别)
我说的是提供这些信息的能力
您可能会认为 SQL Server 必须有类似的东西,但 SQL Server 导出向导或因右键单击对象而生成的各种脚本都不会捕获此信息。
我在网上看到许多不同的“可能的解决方案”使用人们慷慨发布的非策划脚本,但由于我必须 100% 确定所有安全信息都被捕获,因此我不能完全依赖这些脚本。
我可以选择使用这些作为自己编写一些东西的起点,但我讨厌必须重新发明轮子来满足您认为很多人可能有的要求。
是否有人提供的工具(作为 SQL Server 产品的一部分或第三方工具)可以可靠地为您提供此信息?
或者至少,是否有大多数人会同意“将完成这项工作”的社区支持脚本?
谢谢!
我将从数据库迁移。image我想将一列类型导出到文件系统上的二进制文件。每条记录一个文件。如何使用 SQL Server 执行此操作?
仅使用EXPorEXPDP命令进行数据库转储(并将其视为备份)而不是使用BACKUP DATABASE命令(via RMAN)进行备份有什么缺点?数据库转储(导出)和数据库备份有什么区别?
我有一个现有的 Oracle 11 实例,我想将数据库(通过 DBCA 创建)导出到等效的“CREATE DATABASE”命令,处理字符集等。我还想获取数据文件的列表和创建相同数据库所需的表空间。我对保留单个架构对象不感兴趣。
我问是因为有 DBMS_DDL 包,它会给你 DDL 来重新创建任何表等。想知道在数据库级别是否有类似的东西。
谢谢!
首先,我想将数据库从 IBM DB2 AIX 导出到 IBM DB2 窗口中。不幸的是,由于不同的操作系统问题,我无法使用 BACKUP 和 RESTORE 命令。所以我不得不求助于db2move命令。
我使用以下命令从远程 IBM DB2 AIX 中的dbemp数据库中导出了myschema模式和所有表:
db2move dbemp export -sn myschema
Run Code Online (Sandbox Code Playgroud)
当我运行该命令时,我以名为dbuser1 的用户身份登录。
它在当前文件夹中生成一堆文件。我将文件抓取到安装了 IBM DB2 LUW 的本地机器(Windows)中。
现在在我本地机器的 IBM DB2 中,我首先使用 IBM Data Studio(我也有一个本地dbemp数据库)删除了现有的模式myschema。
然后我使用以下命令导入文件:
db2move dbemp import
Run Code Online (Sandbox Code Playgroud)
它成功地将架构和表导入本地dbemp数据库。
当我执行上述操作时,我以用户winuser1登录。
我的本地计算机(Windows)中也有一个名为dbuser1的本地用户。在 IBM Data Studio 中,我创建了一个使用dbuser1用户连接到本地dbemp的连接配置文件,我可以浏览myschema模式和表,但我无法浏览表的数据(我遇到了权限错误)。用户winuser1可以浏览表的数据,但出于开发目的,我必须使用用户dbuser1连接到数据库。
所以我发现我可以像这样向表上的用户授予权限:
GRANT ALL ON myschema.table1 …Run Code Online (Sandbox Code Playgroud) 导出多个用户会导致 CPU 和 I/O 使用率过高。我可以使用资源管理器减轻 CPU 使用率的影响并将导出会话设置为低优先级组,但如何限制磁盘 I/O?我没有并行运行该操作,并且已经阅读了 Oracle 的Datapump Performance文档。还有什么我可以做的吗?
有没有办法在数据泵导出参数文件中添加注释?