Let's say I have a database like this:
Users
-----
ID int PK Identity
Name vchar(max)
Sales
-----
UserID int FK
Description vchar(max)
And some data:
Users
1, "Daniel"
2, "Barnie"
3, "Frank"
Sales
2, "New computer"
2, "Rubber duck"
3, "Cabbage"
There are also several other tables that link to this primary key. Now there is a requirement that only certain users want to be backed up, for example I only want to export the data and all the linked data for users 2 and 3.
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. 2) If .bak files are not the best way, what else can be done? 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.
I'd also like to do all this programatically. Using sql server 2008.