I am developing a Crystal Reports App in VS2005 (VB). I was originally working on an XP machine with MSDE and stored procedures where it worked fine. I then transferred the development to a Win2003 machine with SQL2000 and am now getting the following error; Failed to open a rowset. Description: 'Get_Calls_By_MLO_Date' expects parameter '@DT1' which was not supplied. Plus some other error detail. Here is the SP. CREATE PROCEDURE Get_Calls_By_MLO_By_Date @DT1 datetime, @DT2 datetimeASSELECT MLO, CallNo, DT, Type FROM ActionsWHERE dt >= @DT1 AND dt <= @DT2 AND ActionID=1 ORDER BY MLO, DTGO If I transfer everything back to the XP machine it works fine. Any ideas? Thanks Terry.
Hi all,I have MSDE installed on an HP server as some of the utilities requireda database. I have also subsequently installed SQL 2000 onto thisserver which is a windows 2003 box. I know it complains at the startof the installation but I was under the impression that it would stillwork ok, especially with SP3 applied.I have tried to apply SP3 but it tells me that it is not a SQL2000instance ad setup will exit?Also I have noticed that in the directory structure it has used thedollar sign i.e. mssql$machinename its the same in Enterprise Manager\machinename$InstanceName. Whats that all about? Its not like that onany other server!My plan is to uninstall sql 2k, uninstall HP apps and MSDE andreinstall SQL 2k. Can anyone explain the above though?ThanksGary
hello,also wanted to confirm which versions of sql2000 can do replication.Would be nice to have fault-tolerance via replication so as to have ahot-standby.Oskar
I have a distributor setup on SQL Server 2005 (9.0.3042) and am trying to create a publication on SQL Server 2000 (8.0.2040) which receives the following error in my production environment:
Msg 8526, Level 16, State 2, Procedure sp_addpublication, Line 802
Cannot go remote while the session is enlisted in a distributed transaction that has an active savepoint.
The interesting part of this equation is that I was able to get this to work without error in my DEV (development) environment and well as my QAT (test) environment. This end result was that my distributor was SQL 2005, my publisher was SQL 2000 and my pull subscriber was SQL 2005. I have been diligently comparing our production environment to my other environment and have yet to find differences.
Has anyone else seen an error similiar to this? Any insight would be appreciated.
We have an SQL2000 database server that uses merge, pull replication with about 70 clients around the country, each with their own publication. Each article in each publication is row filtered by a single condition. There are busy times of the day when all of these clients attempt to replicate within a 15-20 minute period. We have noticed the following error that is creating conflicts that are resulting in data not being transferred to the server and very long replication run times (error message is paraphrased):
The record was inserted at the client, but could not be inserted at the server. Transaction (Process ID XXX) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Is there a way to lessen the effects of this error? How can I reduce the number of deadlocks that are occurring? We will need to be adding a great deal more clients to the system in the future; is there a way to grow the system without making the deadlock problem worse?
I want to replicate from SQL2000 to SQL2005. I had configured distributor, publisher in SQL2000 and also subscriber in SQL2005. But so far no replication was done on SQL2005. I wonder SQL2000 (SP2) and SQL2005 replication will it work? Is it true that I should install Service Pack 3 and above in order to replicate my database to SQL2005.
I'm attemting to replicate from a SQL7 box to SQL2000.
The snapshot works fine, but it fails when it tries to push the subscription to the SQL2000 box with a trust error (I don't recall the exact message). I noticed that it fails when Enterprise Mgr is configured as: "Tools/Replication/Configure Publishing, Subscribers and Distribution", Subscriber Tab, "Impersonating SQL Service Agent". It works if I change to "SA".
This is only the case when we replicate from SQL7 to SQL2K. SQL7 to SQL7 works fine with "Impersonating". Has anybody seen this behavior? Any workarounds, other than using SA?
I'm attemting to replicate from a SQL7 box to SQL2000.
The snapshot works fine, but it fails when it tries to push the subscription to the SQL2000 box with a trust error (I don't recall the exact message). I noticed that it fails when Enterprise Mgr is configured as: "Tools/Replication/Configure Publishing, Subscribers and Distribution", Subscriber Tab, "Impersonating SQL Service Agent". It works if I change to "SA".
This is only the case when we replicate from SQL7 to SQL2K. SQL7 to SQL7 works fine with "Impersonating". Has anybody seen this behavior? Any workarounds, other than using SA?
Hi All, Is there a way by which we can modify the width of a column of a table which is being replicated without touching the ongoing transactional replication? This is for MSSQL2000 Transactional Replication.
I know (and successfully tried) that we can add a column to a table and that gets propaged to the replicate database and indeed the added column gets reflected there. How to add a column? sp_repaddcolumn or Right Click on the Publication-Properties and it shows a button to Add a Column.
This is what I have tried for modifying the width of a column of a table participating in Transactional Replication from varchar(10) to varchar(100)
MH (source) -> MH1 (Replicate)
The column “col1” had width of varchar(10) and this was altered to varchar(100).
When trying to start a Merge Replication agent I get the following Error message:
The process could not enumerate the changes at the subscriber. 2812
The snapshot agent works fine as far as I can see.
The replication is set up between a Win2000 / SQL7 / SP 4 and a Win2003 / SQL2000 / SP 3a machine. Sqlserveragent on both machines is run as a system account.
I have a pretty big (350 gb) OLTP database that I want to replicate in its entirety. I'm concerned about the impact of taking a snapshot of it (it is processing at some level pretty much 24x7). I know on SQL2005 there is the option to initialize from backup, but unfortunately we won't be on 2005 in time.
I'm thinking of doing something like this:
Set up the distributor, publication, and subscription Turn off distribution agent Set the publisher to "sync with backup" Backup the publisher, full then log Truncate tables MSrepl_transactions and MSrepl_commands in the distribution db (I don't have any other replication going on) Turn off "sync with backup" Restore the full and tran log backups to new subscriber db Create subscriber stored procs in subscriber Start up distribution agent
I'm looking for opinions on whether it's worth going this route to avoid taking the snapshot. Data integrity is the number one priority -- if I have to do a snapshot to ensure that, I will do it.
I have a medical records system, SoapWare v4.90, that uses MSDE (SQL2000) databases. Due to the 2gb limitation, I am trying to migrate over to SQL 2005 (Standard or Express) which I have heard works fine. The SoapWare has a datamanager that allows me to log in to the MSDE instance, detach the SoapWare databases from msde (as well as do backups, etc) which I can confirm are detached.
Then I log back into a SQL2005 database instance using the datamanager and try to attach the database. This is what their pictured instructions demonstrate. However, I get the following error:
Database 'sw_charts' cannot be upgraded because it is read-only or has read-only files. Make the database or files writeable, and rerun recovery.
Of course, some of the entries will be read only, since doctors have to sign off the charts and are not allowed to subsequently change them. But I should still be able to switch over to sql 2005?!?!?!?
Or... is there a way to attach the databases to SQLExpress manually?
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
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 am using MSDE 2000 for my replication. the problem is that althought at time creating publication it inserts GUID into every table but if one table in 2 nodes has same primary key, it inserts only one row ( accorrding to prority ). there are some Conflict Reslover methods that can be used for this purpose. i wanted to ask that is there any other way for me to resolve this conflict. i am asking for a new way because my database schema has been created and a lot of coding behalf of that schema has been done.
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.
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.
i have sql2000 & sql2005 on the same machine. I am unable to register my localhost in sql2000, get an access denied error. How can I make my localhost use sql2000 database?
Hi,I was hoping someone may be able to shed some light on a SQL2000 connection problem.I have an ASP.NET(1.1) application that connects to a SQL2000 instance on the localmachine, the connection details are as follows: Connection Code :try {//connect to the provided datasource using(SqlConnection connection = new SqlConnection(strConnectionInfo)) { strStatus = "Pulling Data";
SqlDataAdapter sqlA = new SqlDataAdapter("SELECT * FROM NavBlocks",connection); sqlA.Fill(dsNav.NavBlocks);
SqlDataAdapter sqlB = new SqlDataAdapter("SELECT * FROM NavItems",connection); sqlB.Fill(dsNav.NavItems);
bNavLoaded = true;//prevent further calls } }The connection string is as follows: "Data Source=BOBBITSQL2000;Initial Catalog=pinnacleCMS;User Id=myUser;Password=myPass;"Now this conection has never been a problem, the intial catalog exists, the user exists and has permissions, further to this this users connection details can be used to succesfully access the database from a dsn on this machine. The server explorer finds the database fine, Visio finds the databse fine.The problem only existed after I reverse engineered the database into visio (the database was originally developed using Visio), then dropped all of the tables using Enterprise Manager, and re generated the database from within Visio (ddl script) following a few minor changes.Since the re generation I get the server not found error message from the ASP.Net application.I have tried using different network libraries, logging in using the sa account etc, it makes no difference the ASP.Net application cannot see the SQL server instance.Any ideas would be greatly appreciated.p.s. I have tried dropping the firewall with no success, no updates have been installed.Thanks
I recently was moved into an applications developers position here at the lawfirm I work at. Thusfar, its been alot of straight ASP, SQL2000, and Access. I know the need for me to know .Net is coming, and Ive decided to start playing with ASP.net so I can look a bit proactive.. Ive looked over what I need to get started, in liu of Visual Studio I know of the VS Express options. However, I currently have SQL Server 2000 installed locally on my machine along with IIS 5.1. All the VS Express information Ive found keeps referencing SQL2005 express. Can I get away with using what I already have with 2000? Or if not, can SQL2005 express be run alongside with SQL2000? Any assistance would be greatly appreciated. Brian
I'am running Sql2000 Enterprise edition on Windows 2000
When I re-name the Server for example from TST_SVR To TST_SVR1, Sqlserver comes backup fine with the new name (TST_SVR1) , BUT I'am still able to connect to the SqlServer even with the old Server name (TSR_SVR). I do not want to connect using the old server name.
I have dropped and added server using Sp_addserver and Sp_Dropserver, My @@servername command returns the new server name
Brand new to linked servers and trying some stuff. I've successfully linked a server using EM (both are sql2000). I can successfully run a select statement through QA. I'm trying to test a locally-stored procedure and am having a bit of trouble. Please, no arguements about best method - I have no choice. Cannot create stored procs on remote machine.
If I run this through QA, I get an immediate return set: select * from linkedName.dbName.dbo.tblName
If I try to create a test stored proc like the following, I get: Error 7405: Heterogeneous queries require the ANSI_Nulls and ANSI_WARNINGS options to be set for the connection. This ensure consistent query semantics. Enable these options and thenreissue your query. When I looked it up in BOL, I thought I was setting these items?
CREATE PROCEDURE zp_countyListing AS SET ANSI_WARNINGS ON SET ANSI_NULLS ON
I have Windows server 2003 installed, and Visual Studio .NET 2003 ent.arch also. I downloaded the msde sp3 from microsoft's site. installed it. The problem occured when i rebooted my machine. The system tray icon of SQL Server Service Manager says "Not connected". When i open the manager, there are no Services nither Servers listed in the dropdown lists. Can you help with this. Thx in advance!
I’ve got a linked server created in SQL2000 to DB2.
I’m using Client Access ODBC Drivers, and Microsoft OLE DB provider for ODBC Drivers.
I have views created against the linked server as
ALTER VIEW BLBATDT AS SELECT * FROM LURCH_PARADB.S102D4LM.PARADB.BLBATDT
All seem(ED) to be working fine until I ran into this issue.
Using the view If I select count(*) from BLBATDT returned value 786 If I select * from BLBATDT I get 76 rows returned
If I select from BLBATDT where field = value I get nothing, when in fact there is a value I specified.
I modified the view creation to
Create view as select * from openquery(LURCH_PARADB, 'select * from S102D4LM.PARADB.BLHDR')
Performed the above simple selects, (same results)
I modified the view creation to Create view as select * from openquery(LURCH_PARADB, 'select field_list_of_all_fields_in_the_table from S102D4LM.PARADB.BLHDR')
Same results
However if I modified the view creation to Create view as select * from openquery(LURCH_PARADB, 'select field1, field2 from S102D4LM.PARADB.BLHDR')
And limit the fields selected to a small subset, everything works fine.
I think the issue may be that the parent tables are very wide in total byte count and the number of fields is also large. This particular tables has 120 fields with a total record length of over a 1000 bytes.
hello,I'm trying to create a linked server from an SQL2000 to a Unify ELS(very old, odbc is version 1) database on SCO unix.The odbc driver is old but it works fine when used by applications forcreating reports.What I want to do is make a linked server from the SCO box to the win2kbox. So, I'm using enterprise manager to create the linked server.The DSN of the unify database is CORE_OFFICE1I'm getting 'Error 7399: OLE DB provider 'MSDASQL' reported an error.Datasource name not found and no default driver specified.When I create the linked server I chose the OLE DB for ODBC drivers.I put 'CORE_OFFICE1' for the Data Source name. I also setup thesecurity with the name of a unix account for login/password.What else should I have?I'm new at this linked server stuff!Product Name:Data Source:Provider String:Location:Catalog:Thanks,Oskar