sql server dts:
We are attempting to use the Transfer SQL Server Objects Task to migrate
tables (schema, indexes, triggers & data) from SQL Server 2000 to SQL Server
2005.
It works fine if we are able to log into the source database as dbo but that
is often not possible.
The problem can be reproduced as follows:
Create a SQL Server 2000 database named source.
Create a SQL Server 2005 database named dest.
Add a table named source.dbo.table1 with a primary key and add a few rows.
Create a login named testlogin using SQL Server authentication, with source
as the default database, testlogin as the user name and in the public role.
Grant testlogin select permission on source.dbo.table1
Create a new Integration Services project.
Add a Transfer SQL Server Objects Task to the Control Flow
Set the Source connection to the server, using the testlogin account.
Set the source database to source.
Set the destination connection to the server, using Windows authentication.
Set the destination database to dest.
Set CopyData = True and CopySchema = True
Expand ObjectsToCopy and select Table1
Run the task.
It fails with the error: -1073548445,0x,Table "Table1" does not exist at
the source.
A trace on the source database reveals that the following query was executed
immediately prior to the error:
SELECT
stbl.name AS [Schema],
tbl.name AS [Name]
FROM
dbo.sysobjects AS tbl
INNER JOIN sysusers AS stbl ON stbl.uid = tbl.uid
WHERE
((tbl.type='U' or tbl.type='S'))and(tbl.name=N'Table1' and
stbl.name=N'testlogin')
Table1 is not owned by testlogin. The query always returns zero rows.
This appears to be a bug. Please let me know what our options are.
Thank you.