In this article, we will show you how to transfer SQL Server Views in SSIS from one Database to another Database using the Transfer Objects task. If you want to move the Stored Procedures, please refer to the Transfer Stored Procedures article.
Transfer Views Using Transfer SQL Server Objects Task in SSIS
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 the Transfer Tables with Data article to understand, How to Transfer tables.
In this example, we are going to transfer the User Defined Views from [AdventureWorks2014] to [Duplicate AdventureWorks2014] using the SSIS Transfer SQL Server Objects task. Before we start creating the package, Let us see the list of available Views in [AdventureWorks2014]
From the above screenshot, you can see that the Database holds many User Defined Views. Our job is to transfer the Views from [AdventureWorks2014] to [Duplicate AdventureWorks2014] using the SSIS Transfer SQL Server Objects task.
Now let us see the Destination Database
From the above screenshot, you can see the [Duplicate AdventureWorks2014] Database does not have any Views apart from system Views.
STEP 1: Open BIDS and Drag and drop the Transfer SQL Server Objects Task from the SSIS toolbox to control flow.
Double click on the Transfer Objects Task will open the Editor to configure it.
General Tab: In this tab, you can write the Name and description as per the project requirements.
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 have already created it, select it.
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, choose Server Authentication, and provide the credentials.
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 choosing [Adventureworks2014].
STEP 5: Select the DestinationConnection property and click on it to create a New connection. If you have already designed it, select it.
We already mentioned the localhost instance in SourceConnection, and here also, we utilize the same instance. If you want to create a new one, click on will open SMO Connection Manager Editor to configure the connection.
STEP 6: Click on the DestinationDatabase option and select the database you want to use. For now, we are selecting [Duplicate AdventureWorks2014].
STEP 7: If you require to copy all the objects (views, function, stored procedures, tables) from the source database, set the CopyAllObjects option to True. In this example, We are going to send Views only, so we leave it to default False.
If we set the CopyAllObjects option to False, the next property ObjectsToCopy will get enabled.
STEP 8: Click on the ObjectsToCopy property to configure it. In this example, Our requirement is transferring the Views. So we have to understand options such as CopyAllViews and ViewsList.
If you require to copy all the User Defined Views from the source database, set the CopyAllViews option to True.
STEP 9: Select the ViewsList option and click on the collections. Once you click on the (…) button beside Collections, it will open the Select Views window to select the available User Defined Views from the source connection.
For this example, we are selecting the First three Views. But you can try different options.
STEP 10: Click ok to close the Select Views 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 Views from source to destination.
Let’s open the Management Studio and check for the User Defined Views.
From the above screenshot, you can observe that we successfully transferred the User Defined Views such as vEmployee, vEmployeeDepartment, and vEmployeeDepartmentHistory views.