Jam*_*mes 7 sql-server backup export scripting
如果它很愚蠢并且有效,那它仍然是愚蠢的。
关于 GDPR 的喧嚣让我思考 - 如果您必须进行备份并修改/删除数据,您会怎么做?破解打开 .bak 文件对我来说听起来很难。但是打开一个 .txt 文件很容易。
我可以将我的数据库备份到文本文件中,从而更轻松地从备份中删除历史记录吗?
虽然这对于实际备份来说不是一个好的选择,但有一些将表转储到文本文件的用例。xp_cmdshell在这种情况下,调用BCP.EXE 的另一种方法是使用SQL# (我编写的)中提供的DB_BulkExport SQLCLR 存储过程。然后您可以使用File_GZip来压缩文件。
与BCP.EXE相比,以下是使用DB_BulkExport 的优点和缺点:
优点:
xp_cmdshellBIT表示:1 / 0、T / F 或 True / False。SMALLDATETIME、DATETIME、DATE、TIME、DATETIME2和DATETIMEOFFSET格式。缺点:
请注意,DB_BulkExport仅导出数据;它不记录结果集的结构。这与BCP没有什么不同,也与主要社区 wiki 答案中提供的解决方案没有任何不同,因为那里的解决方案忽略了排序规则、计算列、大多数列选项等。
Kin提到的 SQL Server 的另一个选项是mssql-scripter。这是一个免费/开源、多平台、基于 Python 的工具。我没有使用过它,但它似乎导出了可以执行以重新创建数据和/或模式(表、约束等)的 DDL 和/或 DML 语句。它似乎仅将数据导出为INSERT语句而不是分隔字段。看起来很有趣,但请查看“问题”以确保没有任何问题会影响您的使用。
此外,即使这个问题(以及主要社区 wiki 答案)提到了 SQL Server,但围绕 GDPR 的问题并不特定于 SQL Server。所以,我想提一下,在 MySQL 附带的以下两个实用程序中,可以使用导出表(甚至架构等)的功能:
可以使用 PostgreSQL 附带的以下两个实用程序来完成相同的操作:
对于 Oracle,请参阅以下资源,我相信这些资源至少会让您非常接近(即使不是完全等效的输出)(感谢Michael Kutz为我指明了正确的方向):
我不确定 DB2 是否有类似的实用程序。
| 归档时间: |
|
| 查看次数: |
2642 次 |
| 最近记录: |