Transfer SQL Server User Defined Functions in SSIS

In this article, we will show you how to transfer SQL Server User Defined Functions from one Database to another Database using the Transfer SQL Server Objects task.

Transfer SQL Server User Defined Functions Using Transfer SQL Server Objects Task in SSIS

In this SSIS example, we are going to transfer the User Defined Functions (Both Table-Valued Functions and Scalar Valued Functions) from [AdventureWorks2014] to [Duplicate AdventureWorks2014] using Transfer SQL Server Objects task.

If you observe the below screenshot, there is one Database called [Duplicate AdventureWorks2014]. We already Transferred the tables from [AdventureWorks2014] using the Transfer SQL Server Objects task. Please refer to Transfer SQL Server Tables with Data in SSIS article to understand, How to Transfer SQL server tables. If you want to move the Stored Procedures, please refer to Transfer SQL Server Stored Procedures in SSIS article.

Before we start creating the SSIS Transfer SQL Server User Defined Functions package, Let us see the Functions in [AdventureWorks2014]

Transfer SQL Server User Defined Functions in SSIS 1

From the above screenshot, you can observe that [AdventureWorks2014] Database holds one Table-Valued Functions and 10 Scalar Valued Functions. Our job is to transfer one Table-Valued Functions and 9 Scalar Valued Functions (except ufnLeadingZeros Functions) from [AdventureWorks2014] to [Duplicate AdventureWorks2014] using Transfer SQL Server Objects task. Now let us see the Destination Database

Transfer SQL Server User Defined Functions in SSIS 2

From the above screenshot, you can observe that [Duplicate AdventureWorks2014] Database holds one Scalar Valued Functions.

STEP 1: Open BIDS and Drag and drop the SSIS Transfer SQL Server Objects Task from the toolbox to control flow.

Transfer SQL Server User Defined Functions in SSIS 3

Double click on the Transfer SQL Server Objects will open the Transfer SQL Server Objects Task Editor to configure it.

General Tab: In this tab, you can write your own Name and description as per the project requirements.

Transfer SQL Server User Defined Functions in SSIS 4

Here we haven’t changed any. Click on the Objects Tab

STEP 2: Select the SourceConnection property and click on it to create a New connection. If you already created, select it.

Transfer SQL Server User Defined Functions in SSIS 5

Once you click on <New connection…> an SMO Connection Manager Editor window will be opened to configure the connection.

STEP 3: For this example, we are selecting our localhost instance, and we are using Windows Authentication. If you are working for an organization, select the SQL Server Authentication, and provide the credentials.

Transfer SQL Server User Defined Functions in SSIS 6

Click on the Test connection button to check whether the connection is throwing errors or not.

STEP 4: Click on the SourceDatabase option and select the database you want to use. For now, we are selecting [Adventureworks2014].

SSIS Transfer SQL Server Objects Task Source DataBase 1

STEP 5: Select the DestinationConnection property and click on to create a New connection. If you already created, select the same. We already mentioned localhost instance in SourceConnection, and here also we use the same instance. If you want to create a new one, click on will open SMO Connection Manager Editor window to configure the connection.

SSIS Transfer SQL Server Objects Task Destination Connection 1

STEP 6: Click on the DestinationDatabase option and select the database you want to use. For now, we are choosing [Duplicate AdventureWorks2014].

SSIS Transfer SQL Server Objects Task Destination Database 1

STEP 7: If you require to copy all the objects (views, function, stored procedures, tables) from the source database, set CopyAllObjects option to True. In this example, We are going to send User Defined Functions only. So we leave it to default False.

SSIS Transfer SQL Server Objects Task Copy All Objects 1

If we set CopyAllObjects option to False, next property ObjectsToCopy will get enabled.

STEP 8: Click on the ObjectsToCopy property to configure it. In this SSIS example, our requirement is transferring the User Defined Functions. So we have to understand options such as Copy All User Defined Functions and User Defined Functions List. If you require to copy all the User Defined Functions from the source database, set the Copy All UserDefined Functions option to True.

SSIS Transfer SQL Server Objects Task Copying Functions 3

STEP 9: Click on the UserDefinedFunctionsList option and click on the collections. Once you click on the (…) button beside Collections, it will open the Select User Defined Functions window to select the available User Defined Functions from the source connection.

SSIS Transfer SQL Server Objects Task Copying Functions 4

For this example, we are selecting all of them except ufnLeadingZeros Functions. But you can try with different options.

STEP 10: Click ok to close the Select User Defined Functions window and then click ok to finish configuring the Transfer SQL Server Objects Task.

Let us run the package to see whether we successfully transferred the SQL Server User Defined Functions from source to destination.

SSIS Transfer SQL Server Objects Task Copy Tables

Let’s open the SQL Server Management Studio and check for the User Defined Functions.

SSIS Transfer SQL Server Objects Task Copying Functions 5

From the above screenshot, you can observe that we successfully transferred the SQL Server User Defined Functions in SSIS. They include one Table-Valued Functions and 9 Scalar Valued Functions.