Solved

Can't run SQL DTS package after snapshot replication

Posted on 2006-11-06
4
246 Views
Last Modified: 2009-07-29
We have SQL Server 2003 running on a Windows Server 2003 ("Server").  On a nightly basis, the data tables (only) of a database called "ABC" are FTP'd to our Server.  We also keep a working copy of the ABC database on the server called "ABCCopy" which has, in addition to the data tables, any other views or stored procedures we have developed.  A DTS package executed nightly will drop, and copy back, the data tables in ABCCopy from ABC, but will not drop or change any of the views, sp's, etc.  The data tables change structure fairly frequently (usually in the form of added fields).

I and another person are usually the only people working with the ABCCopy database (we both had SQL Server 2003 on our local machines).  We normally used our own DTS packages from Enterprise Manager to copy the Server ABCCopy to our local machines.  No problem.  However, I just recently installed Visual Studio 2005 which came with SQL Server 2005, so I installed that on my client machine (call it "Client B") to "check it out".

On Friday, when I tried to run the DTS package I usually use under "Legacy > Data Transformation Services," I received the message:

OBJECT EXPLORER
SQL Server 2000 DTS Designer Components are required to edit DTS Packages. Install the special Web
download, "SQL Server 2000 DTS Designer Components" to use this feature.
(Microsoft.SqlServer.DTSObjectExplorerUI)
[OK]

So I downloaded it, installed, it and kept on getting the above message.  Getting nowhere, it seemed, I ended up creating a snapshot publication on the "Server" and a Subscription publication on my machine ("Client B").  No problem, lovely.

However, the following Monday, she noticed that (a) it didn't appear that the DTS package which copied the data from ABC to ABCCopy had worked since the publication / replication was put into place on Friday, and (b) she receives the following error when attempting to copy down ABCCopy from the server to her machine ("Client A"):

PACKAGE ERROR
[Microsoft SQL-DMO (ODBC SQLState: 42000)
[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot drop the table 'dbo.tablename' because it is being used for replication.
[OK]

(...which makes me wonder if this is truly a snapshot or a transactional replication)

She WAS able to run the DTS package as long as she didn't drop the data tables first, but as described previously, she does that to ensure that the structure changes are brought down from ABC.

I guess the issue involves several different questions, the main question is what is the best strategy to perform these transformations / replications?  Can they co-exist?  Why can't I perform the legacy DTS package I had previously?  Can she "unlock" the database ABCCopy from replicating with SQL Server 2003 (i.e., without SQL Server 2005 - I am out of the office frequently)?

Any suggestions would be helpful.
0
Comment
Question by:kmoloney
  • 2
  • 2
4 Comments
 
LVL 29

Expert Comment

by:Nightman
ID: 17882973
SQL 2005.

You can't have snapshots accross instances, never mind servers. So if this is on a different machine, then you are either doing database mirroring, peer-to-peer replication or log shipping. If you were log shipping, you would know about it.

This is a replicated table, which then cannot be dropped. The alternative is to break mirroring, drop the table, backup the log (and database), resynchronise your databases and then remirror - a pain the the ... you get the picture.

If it was a snapshot (which must be on the same instance), you could drop the table. SQL actually uses the NTFS COW (copy on write, which is actually copy before write) and would update your snapshot with the entire table contents before the drop table.

(Also, not sure what this SQL Server 2003 is - there is SQL 2K and SQL 2005)
0
 
LVL 2

Author Comment

by:kmoloney
ID: 17883481
Ooops...got confused with all those different versions of different software out there.  Its 2000.
0
 
LVL 29

Accepted Solution

by:
Nightman earned 500 total points
ID: 17883513
No problem ;)

I have 2 versions of VS installed, SQL 2000, SQL 2005 as well as VS6. Wait till you have to code in multiple environments and start mixing up your operators!
0
 
LVL 2

Author Comment

by:kmoloney
ID: 17923999
You obviously know your stuff!
0

Featured Post

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

I wrote this interesting script that really help me find jobs or procedures when working in a huge environment. I could I have written it as a Procedure but then I would have to have it on each machine or have a link to a server-related search that …
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.

759 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

22 Experts available now in Live!

Get 1:1 Help Now