Quantcast
Channel: SQL Server Integration Services forum
Viewing all articles
Browse latest Browse all 24688

SSIS - Transfer SQL Objects Task

$
0
0
Hi,
I am trying to use the 'Transfer SQL Server Objects'' task to transfer all tables from SQL Server 2000 to SQL Server 2005. I know there are many ways to do this, but I want to specifically get it working this way.

If I use a data flow task for each table there is no problem, but by using
'Transfer SQL Server Objects'', no data is transferred. The ssis package is run via SQL Server Agent and runs under a proxy account. The problem is because there are no schemas in sql2000, it is trying to default the schema to the user name and therefore returns no data. Is there any way round this?

Here is some sql profiler trace to show what it is trying to select from the source server. The last query is the interesting one as it is trying to get tables from the source based on the proxy account name.

Any help will be really appreciated.


SELECT
CAST(DATABASEPROPERTYEX(dtb.name, 'Collation') AS sysname) AS [Collation],
dtb.name AS [DatabaseName2]
FROM
master.dbo.sysdatabases AS dtb
WHERE
(dtb.name=N'master')

select SERVERPROPERTY(N'servername')

SELECT
dtb.name AS [Name]
FROM
master.dbo.sysdatabases AS dtb
WHERE
(dtb.name=N'testdb')

SELECT
CAST(DATABASEPROPERTYEX(dtb.name, 'Collation') AS sysname) AS [Collation],
dtb.name AS [DatabaseName2]
FROM
master.dbo.sysdatabases AS dtb
WHERE
(dtb.name=N'master')

SELECT
dtb.cmptlevel AS [CompatibilityLevel],
dtb.name AS [DatabaseName2]
FROM
master.dbo.sysdatabases AS dtb
WHERE
(dtb.name=N'testdb')

SELECT
'' AS [DefaultSchema],
dtb.name AS [DatabaseName]
FROM
master.dbo.sysdatabases AS dtb
WHERE
(dtb.name=N'testdb')


use [testdb]
SELECT
user_name() AS [DefaultSchema]


SELECT
CAST(DATABASEPROPERTYEX(dtb.name, 'Collation') AS sysname) AS [Collation],
dtb.name AS [DatabaseName2]
FROM
master.dbo.sysdatabases AS dtb
WHERE
(dtb.name=N'testdb')

use [testdb]

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'tblInv' and stbl.name=N'LOCALNET\service-username')





Viewing all articles
Browse latest Browse all 24688

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>