Scramble/Mixup SQL Records

Hi all,

I have been asked by the developers of our internal database program for a backup of our SQL database because they "lost" their copy of it. My bosses agreed to give them a copy of it but they worry what their true intentions are. I tried to get them to accept a small portion of it but they say they want the full copy to do stress testing, or so they claim. If we give them a shorter version, we worry that the service they provide will decline further in quality.

Any ideas as to how I can go about scrambling or mixing up the data? I realize this is a broad question since you don't know what my database looks like. There are too many tables to list and the relationships between tables are numerous. I would just like to hear people's thoughts on this, maybe there is an easy way I'm missing.

I can post some exmaple of the tables I would like to scramble if necessary.

Thanks,
Primus
PrimusPilusAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

EmesCommented:
What I have done in the past is make there copy of the database. That will be use by the Dev team.

Then run some sql that will change important data fields like salary.

using the RAND() funciton.

then backup that data and give it to them



0
rgc6789Commented:
Also make sure you "scramble" any contact info such as phone numbers, emails, etc. I dealt with a problem in the past where someone contacted all the clients via email.
0
PrimusPilusAuthor Commented:
Hi guys,

Thanks for your input!

I'm not sure if Rand will do what I need?  Below is an example (short example) of what I would like to change:
 
PeopleID            FirstName              LastName          Phone1                        Phone2                       Phone3

090909                Primus                     Pilus           416-555-5555              416-555-3333               416-555-4522
080808                 Gaius                     Marius         416-555-6666              416-555-4444               416-555-2332
070707                 Pompey                  Great          416-555-3333              416-555-2322               416-555-3421

So what I would like to do is have the entries in Phone1, Phone2, Phone3 mix matched so that Marius's numbers are now Pompey's numbers. I would also like to change the names around so that the names no longer match the PeopleID. This is because the database has a lot of tables that use the PeopleID as the key. Changing this around basically makes all the other data useless!

Am I able to use RAND to generate random phone numbers?

Thanks,
Primus
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

EmesCommented:
For the phone numbers just take the middle 3 digits and make it 555 like your sample
you could use the rand to do it too.

select
convert(varchar(3),convert(int,rand()*1000))
+'-'+ convert(varchar(4),convert(int,rand()*10000)

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
EmesCommented:
here is a better code

Will take care of 2 digit numbers

select
convert(char(1),convert(int,rand()*8)+2)+
convert(char(1),convert(int,rand()*10))+
convert(char(1),convert(int,rand()*10))+
  '-' +
convert(char(1),convert(int,rand()*10))+
convert(char(1),convert(int,rand()*10))+
convert(char(1),convert(int,rand()*10))+
convert(char(1),convert(int,rand()*10))

You can do the same if you need an area code
0
PrimusPilusAuthor Commented:
Thanks guys,

I ended up using RAND() and got most of the numbers randomly generated. The rest I simply duplicated!

Primus
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Databases

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.