Solved

Duplicate Sql Server DB

Posted on 2016-08-03
7
74 Views
Last Modified: 2016-08-16
We time races and, at present, we place a copy of the race db in dropbox the morning of the race and then each crew manually pulls it down and times their race.  The changes made locally are uploaded to the server via our software.  What i want to know is:
1) Is there a better way to pull all the data down from the db, either completely or just the data pertinent to a race someone is timing?
2) Is there a way to pull the data down from the server and not lose the unqiue ids for each table?
3) If we are NOT able to do #2, how do we get the changes back to the server given that the unique ids of many of the tables have been changed?

Pulling it down part and parcel as we are doing now is a pain but the system works really well once we have done so...except that there are some "new" records (ie: new race participants) that can't be added because their local unique id will potentially be different than the unique id created on the server.

I know I am basically talking about replication but I have not had success with that process in the past.
0
Comment
Question by:Bob Schneider
7 Comments
 
LVL 7

Assisted Solution

by:Jonathan Kelly
Jonathan Kelly earned 125 total points
ID: 41741376
If you can you add a site id and use a composit key or perhaps use GUIDs you may be able to use a single db.

Make your server accessible over the web and have your, client software either interact directly or pull down, edit and push back the data.

Can you give more detail on your setup ?
0
 
LVL 12

Assisted Solution

by:Dustin Saunders
Dustin Saunders earned 250 total points
ID: 41741404
Hard to advise of a better solution with no knowledge of the app.  If you have it running on a server, can you just publish it as a remote app and have users access it that way (or through remote desktop?)  Then it never leaves the network, if it's not your own software this might be your ideal.

Hard to advise on how to change the database, though, without knowing what the conflict is, i.e. is the conflict with identity columns?  If so, you need to insert them without the identity to get a new one but then also update any tables that reference that old primary key.
0
 
LVL 42

Assisted Solution

by:EugeneZ
EugeneZ earned 125 total points
ID: 41741548
Can you please post your Sql server version, edition, sp?
Size of DB?


--

it looks like you may like SQl Server  "Merge Replication"

check these articles and let us know if you like this idea

"Merge Replication"
https://msdn.microsoft.com/en-us/library/ms152746.aspx


How Merge Replication Works
https://technet.microsoft.com/en-us/library/ms151329(v=sql.105).aspx

-How to Create Merge Replication in SQL Server
https://www.youtube.com/watch?v=HCMpD6wxCIU
0
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 

Author Comment

by:Bob Schneider
ID: 41743575
On the server we use sql server 2012 Web.  On our local machines we use 2012 express.  I will look at the merge replication.  If I were to refine the question, here is what I really need:  I need to be able to "pull down" a copy of the db on the server to each local machine with all relationships intact.  If I could do that I would be happy, whether it be via a simple "back-up" process, replication, or whatever.  The problem is, I would like to have a simple way to do that...ie: a script that can be embedded in a desktop icon to make it easy for folks with no database experience.

Here is what I use the database for:
We have a race timing service (www.gopherstateevents.com) that keeps it's data on a web server.  However when we go time an event, sometimes up to five events simultaneously, we place a copy of the database in dropbox (ldf and mdf files) and the timers pull it down to time their race.

As each crew times the race, the pertinent data (ie: race results) are uploaded to the web using a connection string in a vb6 application (sorry...been using it for almost 20 years and it works well..plus I can update  it easily) so no need exists to manually put the data back on the server after the fact.

What I want to do is take the "dropbox" step out and get a complete version of the data onto a local machine prior to the race.  I would like to do this without opening SQL Server Mgmt Studio if possible since many of our timers have no experience with this utility.
0
 
LVL 12

Accepted Solution

by:
Dustin Saunders earned 250 total points
ID: 41743671
SO this is an in-house app where you have control over the code?  How many tables contain information?  Because it sounds like the problem is you have identity columns in each separate local DB that conflict, is that correct?  

If that's the case, then you can code a 'briefcase' where you can have the local version mark where the database started and then when you go to re-import the 'briefcase' data you can have code insert the data with fixed identity fields.

But to echo a previous comment, is a remote app/desktop solution not viable? If everyone can run your app remote, then there isn't any need to move the data around and try and re-merge it.
0
 

Author Comment

by:Bob Schneider
ID: 41744291
I am moving towards running it solely off of the web server db, either with my existing vb6 app or simply using a web interface.  I just haven't had the time to get that done.

Here is what I am hearing as my options/non-options until I can simply move everything to the web:

1) Use Merge Replication.  I am leery of that due to my own limitations...I don't want to screw it up.  Maybe someone on this site would do this for me for a fee?  Is this a viable option given that I am using express locally?

2) Code a "briefcase".  I would need more information on that.

3) There is no way to run a back-up to the local machine that would serve as a functional database that I could use locally.  This would replace what I am doing now (placing the database in dropbox and then manually pulling down on each local machine).
0
 

Author Comment

by:Bob Schneider
ID: 41757828
I have decided to run our timing process off of the web server.  I will post another question about that process. Thanks for your help everyone!
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Having an SQL database can be a big investment for a small company. Hardware, setup and of course, the price of software all add up to a big bill that some companies may not be able to absorb.  Luckily, there is a free version SQL Express, but does …
Introduction SQL Server Integration Services can read XML files, that’s known by every BI developer.  (If you didn’t, don’t worry, I’m aiming this article at newcomers as well.) But how far can you go?  When does the XML Source component become …
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now