Transactional Replication - Can it be used on a shared server? - sql-server

Transactional Replication - Can it be used on a shared web server with MS SQL 2005 Express ?

Yes, it can but SQL Server express can only be a transactional subscriber. You will not be able to publish from it, but can publish to it.
Note that there will be some contention between SQL Server Express and a web server, so such a deployment is not scalable in the long run.

Related

Replication from SQL Server Express Database to SQL Server Standard Database

Is it possible to set up a replication between an SQL Server Express Database that we can't touch, with an SQL Server Standard database?
We only have read-only access on the SQL Server Express database, so we are oblige to use only SQL requests.
We thought of using a python script and doing the replication ourselves, but is there a framework that can do that ?
We don't need realtime replication, a time span of minutes is enough.

Microsoft SQL Server 2008 Express transactions

Does Microsoft SQL Server 2008 Express support transactions?
According to the page http://msdn.microsoft.com/en-us/library/cc645993(v=sql.100).aspx subscribers only. But what does that mean?
I would like to start an transaction from an C# application.
Yes, it does. SQL Server and SQL Server Express Edition are essentially identical apart from some restrictions in the latter (e.g. maximum size of a database) - all the basic RDBMS features work exactly the same.
Transactional replication has very little to do with the transactions you mean.
That's "transactional replication", not SQL transactions. Transactional replication is a method replicating databases across servers.
Yes, SQL Server Express supports transactions.

SQL Server Replication issues

I'm trying to set database snapshot replication using c# with SQL Server 2008 R2. when I'm connecting to the server everything goes as it should... but after the following lines of the code:
distributor = new ReplicationServer(conn);
distributor.InstallDistributor((string)null, distributionDb);
the following error occurs:
This edition of SQL Server cannot act as a Publisher or Distributor for replication. Changed database context to 'master'
Any ideas?
Per Replication Considerations (SQL Server Express), SQL Server Express cannot serve as a Publisher or Distributor, only as a Subscriber. You will need a Standard Edition or higher instance to configure distribution and setup a publication. The Express Edition instance can then serve as a Subscriber.
SQL Server Express cannot serve as a Publisher or Distributor.

SQL Server 2005 and 2008 in conjunction

Is it recommended to use two versions of SQL Server (2005 and 2008) for storing data of an application. We have a situation where we have an existing web application consuming SQL server 2005 as a database. Some enhancements in the application required us to solution a FILESTREAM data store. Now we have our data in SQL Server 2005 and associated FILESTREAM data in SQL Server 2008. Being very new to SQL Server I would like to ascertain how bad is this in terms of performance? How can we achieve atomicity across both the database versions, is it via using a linked server or some other mechanism? Any alternative solutions would be fine except that we just cannot migrate the existing application to SQL Server 2008.
To keep your transactions ACID, you can use distributed transactions at a stored procedure level, or from a code level using DTC (e.g. via a .net TransactionScope). DTC would need to be present on both SQL Servers, and on your App Server as well if you do the ACID from there. There is some overhead with DTC
Edit : You will also need to link the servers with sp_addlinkedserver and provide credentials with sp_addlinkedsrvlogin

SQL Server Express 2008 replication/synchronisation

We are looking at developing a small, simple, Access system for a client using SQL Server Express (2005 or 2008) as database. The only complicating factor is they have two offices and they will need to synchronise some (but not all) data between them.
What are my options with the Express edition for doing this? Is there any advantage to using 2008 over 2005?
Microsoft SQL Server 2008 Express (SQL Server Express) can serve as a Subscriber for all types of replication.
SQL Server Express cannot serve as a Publisher or Distributor.
Ref.
You could look to managing this yourself -- using GUIDs for primary keys, and a last update time stamp, as well as tracking last sync, etc.
If there isn't too much to keep in sync, then it shouldn't be too hard
Following should be done:
1) Server - SQL 2008 Server - Publisher / Distributor
one Central server - sql 2008 server - this would be the central place for data. You can created publication on sql server and specify which all tables need to be included in publication (before that you also need to finalize which replication method you need )
2) Client - SQL 2008 Express - Subscriber
in your case - each office can have sql express - you can use as many as you want. These express instances need to have subscription to the publication created by the central server.
( this also means that the SQL server should be accessible to the client - if you are not on intranet - VPN can help - vpn should be on - to create subscription and sync. If you don't have vpn - the server needs to have public IP and port open that client can subscribe to).

Resources