假设我有一个这样的数据库:
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。