gpt4 book ai didi

sql-server-2008 - 导出和导入数据库中的选定行

转载 作者:行者123 更新时间:2023-12-04 06:59:26 24 4
gpt4 key购买 nike

假设我有一个这样的数据库:

Users
-----
ID int PK Identity
Name vchar(max)

Sales
-----
UserID int FK
Description vchar(max)

还有一些数据:

Users
1, "Daniel"
2, "Barnie"
3, "Frank"

Sales
2, "New computer"
2, "Rubber duck"
3, "Cabbage"

还有几个其他表链接到这个主键。现在有一个要求是只备份某些用户,例如我只想导出用户 2 和 3 的数据和所有链接数据。

问题:1) 有没有办法只使用部分数据来创建 .bak 文件?我不想备份整个事情,只是选择的记录。2) 如果 .bak 文件不是最好的方法,还能做什么?我曾想过生成一个 csv 文件或一个 INSERT sql 脚本,但这会导致导入功能出现问题。当您从两个或更多数据库导出并且您现在在用户表的主键中存在潜在冲突时,就会出现问题。你如何解决这个问题?我还在一些表中使用文件流,所以我有一些不能轻易提取为文本格式的数据。

我也想以编程方式完成所有这些工作。使用 sql server 2008。

最佳答案

Questions: 1) Is there a way to create a .bak file using only partial data? I don't want to backup the whole thing, just selected records.

没有。在 SQL Server 中,备份功能只会备份整个数据库。

2) If .bak files are not the best way, what else can be done?

我建议在与原始数据库相同的服务器上设置第二个存档数据库,并使用复制仅同步某些记录。然后我只会备份存档数据库(或两者都备份,但在不同的时间表上)。

如果复制不是您喜欢的伏特加,那么您甚至可以触发 upsert 或删除到此存档数据库。

I have thought of generating a csv file or an INSERT sql script but these leads to problems in the import feature. The problem comes about when you have exported from two or more databases and you now have potential clashes in the primary key for the users table. How do you get around this? I am also using filestreaming in some tables so I have some data that cannot be pulled out into text format easily.

这是 Multi-Tenancy 情况吗?无论如何,对于每个数据库,我都会创建第二个存档数据库,用于备份实际需要的信息。因此,没有两个数据库会输入同一个过滤存档数据库。

关于sql-server-2008 - 导出和导入数据库中的选定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3298838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com