Solved

Can't run SQL DTS package after snapshot replication

Posted on 2006-11-06
4
253 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

[Live Webinar] The Cloud Skills Gap

As Cloud technologies come of age, business leaders grapple with the impact it has on their team's skills and the gap associated with the use of a cloud platform.

Join experts from 451 Research and Concerto Cloud Services on July 27th where we will examine fact and fiction.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
In the first part of this tutorial we will cover the prerequisites for installing SQL Server vNext on Linux.
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

617 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