We Use Merge Replication And Want To Move From MSDE To Express - Advice?
Apr 3, 2007
Hi,
Our current environment is: SQL Server 2000 backend; XP/Windows 2000 clients with MSDE loaded; a Microsoft Access 2002 app using DSN to connect to the local MSDE database; Merge replication which is a job within the MSDE engine that we execute in VBA code using the following DMO code:
' Find the Job name to execute
lngJobCount = oServer.JobServer.Jobs.Count
lngJobIndex = 1
blFoundJob = False
While lngJobIndex <= lngJobCount And blFoundJob = False
If InStr(1, strJobName, "LEXData", vbTextCompare) > 0 Then
If InStr(1, strJobName, strServerName, vbTextCompare) Then
blFoundJob = True
End If
End If
lngJobIndex = lngJobIndex + 1
Wend
' Execute the job
If blFoundJib Then
Set oServer1 = New SQLDMO.SQLServer
With oServer1
.LoginSecure = True
.Connect strServerName
End With
Set oJob = oServer1.JobServer.Jobs(strJobName)
End If
We are now planning a move to a SQL Server 2005 backend and Express edition on the clients and the app would remain as Access 2002. Any pointers to documents that will be useful would be appreciated but I have a couple of specific questions as well.
1) As I understand it we can load Express side by side with MSDE so we will probably go down that path and load the data from MSDE into an Express version of the database. Once that's done we will create a DSN pointing to the new database and name it the same as the DSN which is currently used for the MSDE database. If we do this will our Access app simply work as before (ignoring replication)?
2) When we have our app happily running against a DSN that points to an Express database would we expect our existing DMO code (as above) to work, e.g. find a particular job in a list jobs and executes it? I can see that the replication job itself may have to be rejigged for Server 2005.
I have the following scenario. An application using SQL Server 2000 SP3 on the server side and clients using MSDE 2000A (SP3a) on the client machine. Since the client is offline quite often merge replication is used to keep the clients in sync.
Now we try to upgrade to SQL Server 2005 SP1. The publisher and distributor upgrade (on the same box) worked fine and all clients could still synchronize. Fine :-)
Now we try to upgrade the clients to SQL Express SP1. Now the problems start :-(
1) After the upgrade the entry within the Synchronization Manager is gone (we can overcome this by using sp_MSregistersubscription or by manually disable and enable Synchronization manager on the subscription properties)
2) Initial Synchronization (takes a long time but) works fine, if I apply changes to the subscriber or force a reinitialize all following synchronization will fail. With the following messages:
Error messages: The merge process could not clean up the subscription to 'tstvmw23':'TestBase:'TestBase'. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147200965) Get help: http://help/MSSQL_REPL-2147200965 New request is not allowed to start because it should come with valid transaction descriptor. (Source: MSSQLServer, Error number: 3989) Get help: http://help/3989
Remark the test system I use is a nearly empty db (only with full schema and a few lookup tables) with 15MB. The same error occures if I create a new database an subscribe to the same publication.
Please help otherwise I'm forced to step back to MSDE.
At present our snaopshot folder for merge replication(mainly) and our snapshot replications are on a seperate server. We now need to move the folder to a new server. Anybody explain how we will do this and what affects it will have
I have a 3 workstation peer to peer network with everything running Windows XP Pro. I need to replace the machine that hosts my SQL MSDE server. I have built a new system and all software is installed except the MSDE. I use a proprietary product called Time Matters for my law practice that uses the SQL server. Since I might want to run Vista eventually (not right now) I thought that I would try to migrate the MSDE to SQL Express. I assume that Time Matters will run on SQL Express. Can someone please give me some help on how to proceed. I'm thinking that I will install the SQL Express server on the new machine and then somehow migrate the database over to the new machine and shut down the old unit. Any help would be greatly appreciated.
Summary: Failed to insert detail rows in master-detail scenario during merge replication. Not always, sometimes. Topology: I've got 5 servers running MSDE, one of them is central publisher/distributor for merge type of replication. There is no row or column filtering: all subscribers have all data. Central publisher resolve conflicts with default revolvers. Some tables have relations: master-detail (i.e. orders-ordersDetails, etc). Relations are defined in tables as FK. My application which fills data use datasets with relations between tables defined the same way as in the sqlserver. So app first work with dataset which is unable to receive details without master record. When data updated to msde, it is done without errors, means master and details table updated correctly (tables at msde has relations too) Applications running on 4 different locations and fill data to local db (subscriber to central publisher). Sync occurs every 15 minutes in the following order (merge agents run at publisher/distributor): subscriber1: every 15 minutes, starts at 00.00h subscriber2: every 15 minutes, starts at 00.03h subscriber3: every 15 minutes, starts at 00.06h subscriber4: every 15 minutes, starts at 00.09h Sync lasts for average 15 sec, never 3 min. Problem details: Message: The row was inserted at 'CentPub.myDB' but could not be inserted at 'Sub2.MyDB'. INSERT statement conflicted with COLUMN FOREIGN KEY constraint 'FK_OrdersDetails_Orders'. The conflict occurred in database 'MyDB', table 'Orders', column 'OrderID'. Description CentPub is central publisher which just collecting data from subscribers. So, Order was made on one of the other subscribers different than Sub2, mean user at location3 insert order with details in local database, after a while, CentPub take this order to its database (MyDB), after that CentPub try to sync with some of the other subscribers (i.e. Sub2 == location2) and then for some unknown reason orderDeatils failed to insert in Sub2's orderDeatil table because constraint 'FK_OrdersDetails_Orders' conflict. After that happened, thing goes like in http://support.microsoft.com/kb/307482 (generally: in next session, failed order details are deleted from CentPub, which means deleted from all subscribers after syncs.) The problem is that subscribers have tables with relations, so Cause isn't as describe in MS kb because my tables have relations at all servers. After finished replications I have Orders without details records at all subscribers, so I assume that merge agents sometimes (not always) try to insert details prior to master table during the same sync session. In resolution section of MS kb article they say 'Mark the subscriber foreign key constraints as NOT FOR REPLICATION'. In relations definition I see 'Enforce relationship for replication) options which is enabled in my tables. If I turn that option off, is it possible to happen that my subscribers receive details without master record? (My observation of behavior says that will not happen(that will lead to problems in my app because my datasets enforce relations too). Deleted record I bring back to life with conflict manager in EM, but I'd like it never happen. Is it a bug, side effect or something I do it the wrong way?
I have a problem with creating Merge replication between two instances of MSDE 2000. In the article http://support.microsoft.com/kb/324992/, published by Microsoft, described, that it is possible.
I am creating Merge Publication at MSDE 2000, with Distributor and Publisher configured at same machine, with options "Allow Pull Subscriptions" and "Allow Anonymous Subscriptions". There is no problem with creating of Publication. Even snapshot generation finishes successfully. Also I create a login with SQL Server Authentication and "System Administrators" database role at the publisher in order to connect to it from Subscriber.
The problem occurs, when creating anonymous pull subscription to this publication at another instance of MSDE. During initial synchronization an error occurs:
The process could not connect to Distributor '<publisher_server_name>'. Login failed for user '<login_created_at_publisher>'. Reason: Not associated with a trusted SQL Server connection. The step failed.
Although I didn't use Windows Authentication at all, so Subscriber doesn't need to connect to Distributor using trusted SQL Server connection.
What is a problem and how can I workaround?
Note: The same works correctly, if MS SQL Server used as a Publisher instead of MSDE.
Please, help!
I can provide publication and subscription creation scripts, if required.
I have a Windows Mobile aplication that uses merge replication to synchronize between sql compact and full sql Enterprise edition and It works great. Instantiating the SqlCeReplication object setting it's properties and calling Synchronize on it is pretty simple assuming everything is setup properly at the publisher.
For the life of me I can't figure out how to do this on the desktop (Programatically setup a subscription and create a database using objects in the System.Replication Namespace and hopefully call Synchronize on it).
I can choose synchronization direction for articles: a) Bidirectional b) one way
1) Is that possible somehow to replicate the schema only of an article but no synchronization / zero direction :-)/
2) Same question about columns, I should replicate schema only for few columns, but without data synch. These columns are freely updateable at anywhere (publisher and subscribers), but the data changes shouldn't be replicated.
I have done a couple of little projects in VB express and was pleased with the results. Now I have something bigger in mind and need to know if VB express version of SQL will support merge replication. If not will the full version support it? Thanks Dave
I can't connect to any instance of MSDE on my laptop using my web app. I duplicate the whole process on another local machine and have no problems. I'm using DNN, but it's not a problem with a connection string.
Over the last week I've had to rebuild this laptop - reformating and all. I'm running win xp pro, vs'03. I've tried this on msde2000sp3a & msde2000rela. Everthing is fully patched, updated, and current.
I'm working on two pcs at the same time with identical environments, doing one step on one keyboard and then the other: I take one set of fresh DNN files and install them on each pc. create a new db, user with dbo rights. create a new virtual directory in iis. alter the dotnetnuke.sln, dotnetnuke.vbproj.webinfo to reflect the path to the local site. alter the web.config file with the connection string. browse to the website (this is how dnn launches, creating the db from scripts, etc.)
At this point my desktop pc works great and I've got a new instance of DNN.
My laptop does launch dnn, but it can't connect to the db and says there's a problem with the connection string - but the only difference in the strings is the instance name - which isn't spelled wrong!!!!
So I'm led to believe that there is something wrong with the setup on the laptop which was just rebuilt.
It's got .net 1.1, msde2000sp3a, winxppro sp1. I've uninstalled and reinstalled all the components I can think of.
What would you do??? I'm completely out of ideas on this.
Do I format the hd and start again? That would hurt, but I've tried everthing else I can think of.
Oh, here's the other rub. I can create a system dsn, test the connection - and it works! I know that point's toward dnn, but like I've said I believe I've ruled that out.
It's arriving from ebuyer tomorrow for 32 quid. I already have aninstance of MSDE running on the laptop and ideally i would like SQLserver to be installed and use the current instance and not installany other additional services. [hope i got my terminology correcthere.] Basically all i would like is to use the Enterprise Managerwith my existing MSDE database. I was wondering if there is anything ishould be doing before I install. Should i shut down the service orleave it running for instance.Thanks for any tips,AndyB
I need to move the SQL Server 2000 Desktop Engine (MSDE) database and all jobs to the SQL Server 2005 Enterprise Edition. - May I detach and attach the DB in my case? - Where is the procedure to move the jobs from MSDE to SQL Server 2005?
I could use some sound advice regarding replication. (Or a better avenue to take if available)
I have a production server and a *live* server. 90% of the updates are done on my production server. When needed I update the live server by completing overwriting everything with the data on the local machine. (This is because there has been numerous changes to the database design as well as the data but this should no longer be the case.)
Now updates are taking place on both servers meaning they should both be identical.
The problem I see is that something like a snapshot or merge replication could never be done. Since the same id's can be created on both machines I see no way that the software can tell them apart.
So is it best to update one server and then send the request to the other to update the same record (or insert/delete etc) or is it better to use something like DTS or transactional replication to accomplish the same task?
I dunno, kinda in the dark at present but any advice on the subject would be very helpful.
We are developing a software for a logistic company, which will have around 1000 branches, and we need to synchronize the database(SQL Server) between all the branches using the database at web server, i.e the branches can get the new data from the web server,as well as push the data at the web server, please tell us how can we accomplish this task,
I.m trying to find the best practice for my solution.
This is the situation.
My application has two databases and 2 client interface. One with a windows forms having a database (sql server 2000) running in an office (on a static IP but on a slow connection). the second one is an web application running on the net with an online database. Both these databases have to have same information. Users can add records to both databases independently but these databases should be synchronize at a point. I hope the situation is cleare. Is there a standard way of doing this. If some one knows good article of how this can be done pls forward it to me.
I have a vb.net desktop application that uses msde 2000 for its databasing. I am trying to create a setup file using the output of my desktop application and the msde 2000 merge modules in order to install my own build plus an instance of msde 2000.
The setup runs properly and then asks me to restart my machine. After the restart, however, there is no such instance running on my machine. I am adding the following internal properties to my msi file using ocra:
SQLMSDESelected 1 SqlInstanceName Midas SqlSaPwd Password1 SqlSecurityMode SQL SqlDataDir C:Program FilesMicrosoft SQL ServerMSSQL$MidasData SqlProgramDir C:Program FilesMicrosoft SQL Server This should create an instance of msde on my machine but when I try to connect using enterprize manager or query analizer (I connect to <<machinename>>Midas), then I get the standard can not connect error.
I am at my witt's end and would really appreciate any help.
I know that adding a column using ALTER TABLE to add a column automatically allows SQLSERVER 2005 to replicate the schema changes to the subscribers, however, I would like to add a new column to an existing article that is being used for merge replication, however, I don't want this column to be replicated. Re-initialising the subscriptions is not a option. Help would be appreciated.
I have a project that we want to utilize the SQL Server express. I have a couple of question;
1) The component that uses SQL Express is an add on feature that will be activiated at some time post the initial installation. This means that we will not have to include 40mb install package in our installer. Once we have determined the SQLEXPRESS needs to be installed our prefered mechanism is to download and execute the setup program. Question: is there a static link to the basic SQLServer express download package that will always be avaialble that we can use?
2) With User Instances on SQL Express can more than one user access the database at the same time? In other words both users will be doing an AttatchDB on the same MDF file. (Our application has a running service and a standard user interface that will be accessing the database).
I am working on bringing our disaster recovery site to be a live site. Currently we replicate to one of out servers (server B) with merge replication (from server A). Server A also does one way transactional replication form some table to several other servers including servers at the DR site.
This setup is not going to be fast enough for what we need so I am wondering if a table is receiving merge replication will the merge updates also replicate down the transaction path??
Example... Server B update a row and merges to Server A. With this update them replicate (via transactional) to Server C??
Hi,I'm building an asp.net website using web developer express and I have a SQL 2005 express install on the same machine. Using windows security, everything works fine for development.Now I need to get it working at the client site, where the web server and SQL 2005 Express are on different machines.I'd tried using windows authentication but that didn't work, probably wasn't doing it correctly. I'd like to try SQL Authentication, at least temporarily, since I can replicate that on my laptop at home easily I think.I created a new SQL login but was really baffled by the screens showing roles and schemas, etc. There's so many roles to choose from and wasn't sure if this new login needed to own any schemas. I did turn on remote connections and mixed-mode authentication, the probably now is my asp.net membership provider login page isn't authenticating correctly, maybe my permissions are wrong on the aspnet_..... tables for users, roles, profiles, etc. Any advice?thanks,Bruce
I've been using SQL Server 2005 Std. for my development work on a laptop w/ 2 GHz Celeron and 768 Mb RAM. Now that Express Edition has Reporting Services and Full-Text Search, would I be wise to just use it instead? I actually have both on my machine since Express Edition installed with VS 2005 Standard. Also, if I uninstall SQL Server 2005 Std. what will I lose? Thanks in advance.
We have 3 MSDE databases (3 seperate servers) which we need to make into one Sql 2000 server (new server). How is this done? Can't find anything clear about this.
I have a distributed inventory control database that I am going tomigrate from Access to SQL Server. I am going to use SQL ServerReplication to keep the data current.There will one SQL Server 2000 database at HeadOffice, and about 200branches will each have MSDE 2000.For tables that are the same for each branch (e.g. StockItems,Suppliers), I'm going to use Transactional replication with theHeadOffice as Publisher. There is no need for Merge replication,because only HeadOffice will be changing this data.For tables that are updated at the branches (e.g. deliveries, sales),there shouldn't be anyconflicts either, as each branch will only update data that isspecific to it. So, transactionalreplication with the Branches as Publishers seems like the answer.BUT, MSDE 2000 only handles merge replication as a publisher, so itlooks like I'm going to have to use Merge Replication if I'm am goingto use MSDE.Question: Do you think that it worth buying a full SQL Server licensesfor each branch, so that I can use Transactional replication with thebranches as publishers. Or, should I stick with MSDE 2000 and Mergereplication. Also, are there any other reasons why MSDE won't beadequate as the database at the branches.Thanks,Craig
Hi! I have created i webpage whos has a logged in system which is cretead in VS 2005 with the function ASP.NET configuration. And know will i move all databas to i a MSSQL 2000 there i only can have one databas, And know i have ASP.NET logged in Databas and one site databas. I just wondering if its possible to make i virtual connection with MSSQL 2000? If not somebody has some idés for me?
Hello, Thanks for reviewing my question. I would like to know how do you bring a database from SQL Express into a SQL 2005 server? I didn't find a way to import the SQLExpress (.mdf) file. Many Thanks Peter
Hi everbody, I setup the Merge Replication , it is working perfectly. But i have one problem now it is updating both ways. I nedd one way. Any body tell me which parameter i have to change.
My production box is running on NT4.0,SP6, SQL Server7.0,SP2. We implemented Merge replication. Working fine last 7 months. Last weekend i disabled replication, Successfully removed Distributor and Publishor. After that try add new fileds but won't allowed me. It's give the error message. I Also found Some Conflict_tables found almost 20 tables. All system Tables. Can delete these these tables, if i delete any problem my database. I added filelds many times but this time i got errors.
I have just installed replication on our production server to Merge Replicate with a Laptop server that will travel from time to time. I have now noticed that we cannot add or change any fields or attributes on the tables which are being replicated (which are all tables in the DB). This is a problem because we are changing and adding columns all of the time. Is there a way around this issue like shutting down the replication service or something? I have been unsuccessful in finding a way around this other than removing replication while we make changes.
I have implemented a Merger replication on our development server and I get a fillowing error when I try to update one of the table in publisher. "Transaction cannot start while in firehose mode"
Hi, I read some where that replication has two types conflict resolution, 1. row based and 2. Column based... If I am right... Can any one point me how to find out this option and how to set it up....
I have a merge replication going between 4 servers. The problem is when ever I do some BCP transfer to one of the tables in one of the servers. It puts the data in that table. But that Data does not get replicated to any other server like it should.
Please Advice on what to do. Is there any option I am forgetting to set or something.