I have couple of kiosks running at client's location which access an online MS SQL server 2005 to process data, but the internet connectivity is unreliable. I am fine with installing SQL server on the kiosk itself and sync it once a week to the central server. Since there are lots of kiosks, it needs to be a merged sync.
Any better ideas for caching?
What are the tools for merge sync?
It sounds like you are looking for replication. Replication is a set of technologies for copying and distributing data and database objects from one database to another and then synchronizing between databases to maintain consistency. Using replication, you can distribute data to different locations and to remote or mobile users over local and wide area networks, dial-up connections, wireless connections, and the Internet.
Here is a replication overview: http://technet.microsoft.com/library/ms166367.aspx
Related
We have a SQL Server VM with a SQL Server instance running on it. Can we install other software on it including the application server on this SQL Server VM? And can we use it as a jump server to connect other SQL Server databases and managed instances?
I have a SQL Server VM with many other software installed on it and it is being used as a jump server. Want to know if we can continue with it or shall not be used for other purposes.
Want to know the cons of this approach.
Thanks & Regards
This is considered a bad practice.
Reasons:
You are using resources (CPU/Memory/IO/Network) from your (expensive) SQL Server
Your SQL Server license is paid by core, so if you would need to scale because of the other applications, this would impact your SQL server licensing cost.
SQL Server will consume the amount of memory that is configured, so if you set it to 90% of that server, your app server won't have any memory to use.
Troubleshooting will become harder because of shared resources.
Security: You'll open more ports then the SQL server ports increasing the attack surface
SQL server also has a specific set of best practices for the host. Eg: Disk Sector size, ...
If you enable lock pages in memory together with apps running on the same server, you are going to have a bad time.
...
So host your applications on a different server preferably in a different subnet for security reasons.
Create a seperate jump box, because remote sessions will always impact performance, even if they are idle.
I'm currently working on a project proposal which would require moving multiple Access databases into a new MS SQL Server database. The idea is to keep the front end program as MS Access so that the users are familiar with the process of inputting data and creating reports.
However, things get complicated in that the internet in the areas where the survey will be collected has poor connectivity and will be out from time to time. I had thought of a few ways of solving this issue but all of them are cumbersome:
1) Having a PC with a router that stores the SQL Server database in offline mode and the data entry PCs connect to the PC with the offline database through the router. The PC with the SQL Server database can then backup the db on the server when it has an internet connection.
2) Adding the data to MS Access databases that can then be merged with the SQL Server at specified increments (this would probably cause some issues).
We've done option 1 before for similar projects but never for connecting to an SQL Server database in offline mode. However, it seems feasible.
My question is: Does anyone know of a way of using Access as a front end application for SQL Server and being able to update data during times without internet connectivity? The SQL Server database would automatically assign primary keys, so, duplicate unique values shouldn't be an issue while syncing the data.
Thanks for your help. I've been having a hard time finding an answer on Google and syncing to databases is complicated at the best of times. I'm really just looking for a starting point to see if there are easier ways of accomplishing this.
I would run a the free editon of SQL express on all laptops. So the Access database would be the front end to the local edition of SQL express. SQL express can be a subscriber to the "main" sql database. You thus use SQL replication to sync those local editions of SQL server to the master server. Of course the main SQL server can't be the free edition of SQL server. So to publish the database for replication, you can't use the free edition, but those free editions can certainly be used as subscribers.
This approach would eliminate the need to build or write special software for the Access application. You thus do a traditional migration of the access back end (data tables) to sql server, and then simply run the Access application local with sql express installed on each laptop. You then fire off a sync to the main edition of sql server when such laptops are back at the office.
The other possible would be to adopt and use the net sync framework. This would also allow sync, and would eliminate the need to run sql expess on each machine. I think the least amount of effort is to sync the local editions of sql express with the main editon of SQL server running at the office (but that office edition of SQL server can't be a free edition).
I have two SQL Server databases with the same version.
there is a Oracle bus service between the two SQL Server database.
I want transaction replication between two database,two database located in different cities.
How do I configure Transactional Replication between the two Database?
You can use CDC, but if you want to replicate an entire SQL database real-time then either use mirroring (which will become phased out) or Always on Availability Groups (recommended by MS going forward). An ESB is for message-oriented communication, not for replication.
I have already searched many times but did not find a suitable solution. I am developing a WPF application. I am using SQL Server as database on my local machine.
I have a cloud SQL Server database (AWS or Microsoft Azure etc).
Now the thing I want to achieve is that I want my local machine's database to keep syncing (backing up) data with the cloud database automatically so that I do not have to worry about data loss if something happened to my local machine, since I will always have a copy of database in the cloud.
Is there any way to achieve this?
I would try Replication and MS Sync framework.
Replication:
https://msdn.microsoft.com/en-us/library/ms151198.aspx
Sync Framework:
http://social.technet.microsoft.com/wiki/contents/articles/2190.tutorial-synchronizing-sql-server-and-sql-server-compact-sync-framework.aspx
In an installation with 2 SQL Server 2008 SP2 Standard servers we use mirror to have failover partner for the databases.
One of the purposes of the databases are to supply reports through SQL Server Reporting Services.
My question is how I set this up to have failover of the reports AND keep cost at a minimum.
I can see one solution where the reporting databases are mirrored as well as the user databases they use. But will the reporting services failover?
Another way could be to install 2 separate instances of reporting services on each database server where the reporting databases are not mirrored and both are running. But then how do I redirect the users browsers from one entry address to a running reporting service?
There's also a witness server running SQL Server 2008 Express. This could be upgraded to standard and run the reporting services (should be able to failover through native client connection), but then the reporting service it self has no failover.
I don't know if I'm missing something here but is it impossible to do this in a good way without using SQL Server Enterprise and a failover cluster solution?
Any ideas, thoughts and links would be appreciated, but be aware that I have read a lot of guides and best practices around the internet and haven't found any that answers this question so please only post relevant links.
Any info I gather from you post, links and my research and testing will of course go back to Stackoverflow for future reference for others as I can't imagine I'm the only one who would like such a solution.
Smint
You will need to mirror all data and then manually repoint the report server when the data moves to the mirrored servers.
Moving interrelated databases with mirroring complicates things. If one goes offline for some reason and failes to the mirror, will all other databases fail as well?
You may want to have a human make these decisions and use a manual failover on the mirroring as well.