Sql-server – Why is the “The package can not be saved to the file system since its protection level is server storage” error

debuggingencryptionsql serverssis

When I execute

dtutil /sourceserver localhost /SQL "\Maintenance Plans\MaintenancePlan_daily" /copy file;.\MaintenancePlan_daily.dtsx

from the answer to my question "Any way to import-export-migrate-save-restore a maintenance plan without having SSIS installed (and running)?" I am getting the error:

"The package \Maintenance Plans\MaintenancePlan_daily can not be saved
to the file system since its protection level is server storage. Use
the encrypt action to change the protection level"

What is the reason and how to btetter solve it?

MS SQL Server 2012 R2 Enterprise on Windows Server 2008 R2 Standard

Update:

I have dozens of SQL Servers 2012 R2 with equally set SQLServerAgent jobs using the "same" maintenance plans.
And this is kind of additional obstacle to using multiserver (target and master) administration, see my questions:

I saw in my previous questions the recommendation to avoid using maintenance plans in SQL Server Agent jobs but so far I already have them (maintenance plans) set by others…

Let me reformulate the question:
Why don't I have this error in Windows 7 ?
What and where should I change in Windows Server 2008 R2 Standard (or SQL Server 2012 R2 Enterprise) in order to have the same absence of such error?

Update2:

Microsoft support article "SSIS package does not run when called from a SQL Server Agent job step" states:

  • "Change the SSIS Package ProtectionLevel property to ServerStorage. This setting stores the package in a SQL Server database and allows for access control through SQL Server database roles"

while I am using the sysadmin user-logins only.

Was it changed from SQL Server 2005-2008 to 2012?

Best Answer

I think you need to specify an "/en" option in order to change the encryption level. See this link.

http://support.microsoft.com/kb/906562