SSIS Why generate a new package id when upgrading? - ssis

SSIS Package Upgrade Wizard has an option to generate a new package ID during upgrade. What is the benefit?

You create a new package ID when you upgrade the package so that it will be a new package. That way you could use the old package and the new package without conflict. The GUID will identify the new package as a different package than the old one.
A package is identified by its ID (a GUID). Whenever a log file gets written, the package ID is put into the log file. If you had two different versions of a SSIS package both reporting the same name, you would have a hard time figuring out the log file. That is why it is best practice to change the Package ID even when you are only creating a copy of the package (not even upgrading it). Here is a link with more information about packages and their IDs:
http://msdn.microsoft.com/en-us/library/ms141134.aspx

Related

Automate SSIS package (File system Deployment) using Devops (Soure control : GIT)

Currently we are using GIT as source control for SSIS packages. We use package deployment model with each package has a relevant .dtsConfig File like the below.
For example,
Package1.dtsx
Config1.dtsConfig
We have many environments like Dev, Dev-1, STG, STG-1,........ We do SSIS package deployments (File System Deployment) for all the environments manually through DBA assistance.
We planned to automate SSIS package deployments through Devops. In order to do that, we have to create a generic folder structure like the below.
Packages
Package1.dtsx
Dev
Config1.dtsConfig
Dev-1
Config1.dtsConfig
STG
Config1.dtsConfig
STG-1
Config1.dtsConfig
....
....
I mean the package.dtsx file is common for all environments so we place it in Packages folder. Created a separate folder for each environment to place config files.
Since configuration details are changeable based on environment.
I am new to SSIS deployments, I am not sure is this feasible or not.
Is any way we can plan to do the deployments through Devops. What would be the best idea to implement this process. Is any better way we can do it.
Yes. You can setup something you are expecting and keep the same config file. You can update the configuration values while deploying to respective environment using powershell.
Alternatively, you can consider migrating the SSIS solution to Project deployment mode to SSISDB(I Believe it is Available for 2012). Which is most preferred way.

Azure storage connection to Datalake G2 in SSIS using Access Key

Test connection Connection manger in SSIS to the azure storage using access key succeeded.
While copying data using Flexible file task in SSIS throwing an error "[Flexible File Task] Error: Could not load file or assembly 'Microsoft.Azure.Storage.Common, Version=11.1.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified."
The Folder paths and filenames everything seems correct.
What would be reason?
Azure.Storage.Common nuget package getting removed as soon as I close script task to run the package and throws same error
This is a spurious error message. It is a security error
Go to your storage account, under Settings, Configuration, change Minimum TLS version from 1.2 to 1.0.
Or if you want to keep the 1.2 channel, you will need to modify the registry on the computers that may run the SSIS package
To use TLS 1.2, add a REG_DWORD value named SchUseStrongCrypto with data 1 under the following two registry keys. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft.NETFramework\v4.0.30319 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319
https://billfellows.blogspot.com/2022/01/ssis-azure-feature-pack-and-flexible.html
Furthermore, based on your comment referencing nuget. Nuget and SSIS Script Tasks and Components do not mix. The Developer experience of crafting a script knows how to use the nuget package manager to acquire the assemblies. However, when you close the script/component editor, those bits are not serialized with the project. When the package executes, there is no part of the run-time engine that identifies this assembly is from a nuget source and therefore, we need to download those bits. Instead, it fails when it cannot find the reference.
It still seems weird that a script task/component is throwing an exception about the azure bits as the Flexible File Task is not a script. https://learn.microsoft.com/en-us/sql/integration-services/control-flow/flexible-file-task?view=sql-server-ver15
Installing the correct Azure Feature Pack for Integration Services (SSIS) targeting the SQL server resolved my issue.

Install mysql package using puppet so it will be updated automatically

I want to install the MySQL package onto servers using Puppet. The package should be updated after a new release of the package. How can I write a manifest for that?
Using ensure => latest tells Puppet to update the package to the latest version. For example,
package { "mysql-server":
ensure => latest
}
This assumes that your server updates its package cache on a regular basis and that the server's Puppet client runs on a regular basis (most do). From the Puppet Labs documentation:
On packaging systems that can retrieve new packages on their own, you
can choose which package to retrieve by specifying a version number or
latest as the ensure value.

Custom action fails to install MySQL

I have made a VS2010 project which installs MySQL by calling MySQLInstallerConsole.exe with necessary arguments. This works perfectly however, when I try to run this project's exe as a custom action it executes the exe but MySQL is not installed.
I checked the log file for MySQL exe and it had the following error:
Error 50: Package Name State change request failed.
What does this really mean, any solutions?
There are at least a couple of things that have something to do with this:
I believe the MySQL installer is an MSI file according to this:
http://dev.mysql.com/downloads/installer
You cannot install an MSI from a custom action of a Visual Studio setup because recursive calls to MSI installs are not allowed.
In a Everyone install custom actions run with the SYSTEM account, and installs are not often expecting this if they want to install files in user-profile folders because the SYSTEM account doesn't have any.
You need to bootstrap this somehow, and I think people are often using the WiX Burn bootstrapper for that. You define the ProductCode, name etc of the product and define how to install it.

How to package vm for KVM/QEMU?

Is there any existed method to package the installation of a virtual machine for KVM/QEMU?
I mean a single file which QEMU can import into it, just like ova/ovf for vmware.
Currently, I write a script with "virt-install" and iso file to install an OS.
It is OK, but is there better method? Only a single file packaging "virt-install" and iso file, or something like that.