FIX: Transfer Objects Fails if SP Preceded by Multi-line Comment (229075)



The information in this article applies to:

  • Microsoft SQL Server 7.0
  • Microsoft SQL Server 6.5

This article was previously published under Q229075

SYMPTOMS

Transfer of objects using the Transfer Manager in SQL 6.5 or Data Transformation Services (DTS) in SQL 7.0 is unable to transfer a stored procedure that is owned by a user other than 'dbo' when the stored procedure is preceded by a multi-line comment. The transfer errors out with the following message in the log file:
::Error::
In file <Server>.<DB>.PRC in statement on line xxxx
Transfer Status: Creating Stored Procedures on destination database
[Microsoft][ODBC SQL Server Driver][SQL Server]Line 2: Incorrect syntax near '*'.
[Microsoft][ODBC SQL Server Driver][SQL Server]'CREATE PROCEDURE' must be the first statement in a query batch.

CAUSE

This error occurs any time the stored procedure being transferred is not owned by dbo.

For example, the following procedure generates an error during transfer:
/***
-- This won't work.
***/ 
CREATE PROCEDURE user1.sp_getversion AS
SELECT @@version
				

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

254561 INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0

For more information, contact your primary support provider.

MORE INFORMATION

To avoid this problem it is recommended that all comments for stored procedures be placed inline with the procedure statements, after the CREATE PROC command as follows:
  CREATE PROCEDURE dbo.sp_getversion AS
     /***
     -- This is the recommended location for the first line of 
  comments in an SP.
     ***/ 
     SELECT @@version
				

Modification Type:MajorLast Reviewed:3/14/2006
Keywords:kbBug kbfix KB229075