/* ------------------------ My Meta Content Here SEO ------------------------ */

Pages

Main Menu

Friday, November 28, 2025

SSIS Tips Memory Release Checklist

 

SSIS Memory Release Checklist


STEP 1 — Make SSIS Run in 64-bit Mode

32-bit execution causes memory fragmentation and slower release.

✔ In Visual Studio (SSDT)

Project → Properties → Debugging → Run64BitRuntime = True

✔ In SQL Agent Job

Use 32-bit runtime → UNCHECK


STEP 2 — Avoid Large Lookup Caches

Full Cache lookups consume large memory.

Change Lookup Cache Mode To:

  • Partial Cache

  • OR No Cache (best for memory release)


STEP 3 — Reduce Data Flow Buffer Size

Large data flow buffers use more committed RAM.

In Data Flow Task properties:

SettingRecommended
DefaultBufferSize10–50 MB
DefaultBufferMaxRowsLower value to reduce memory usage

STEP 4 — Monitor SSIS Runtime Memory Usage

Use Task Manager or PerfMon to check:

  • DTSExec.exe (standalone executes)

  • ISServerExec.exe (SSISDB executions)

Confirm memory drops after execution.


STEP 5 — Reduce SQL Server Max Memory (if SQL & SSIS share the server)

SQL Server will take as much RAM as possible unless limited.

Set a safe limit:

EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'max server memory (MB)', 40960; -- example 40GB RECONFIGURE;

This ensures SQL Server does not starve SSIS.


STEP 6 — After Package Finishes, Confirm Memory Release

Ensure:

  • SSIS executable memory decreases

  • OS free memory increases (or standby memory increases)

  • No gradual memory buildup across executions

Read More »

Wednesday, March 26, 2025

Quick Fix Strategies on a live application: In a scenario where the client requires a quick fix on a live application, but I want to avoid any downtime, what would be the best approach to resolve the issue?

To address a live application issue without downtime, here are a few strategies you can consider:

  1. Rolling Updates:
    If you're using a scalable system, you can deploy fixes incrementally across servers. This way, you can ensure that only a subset of servers or containers is updated at a time, so the application stays up and running without affecting all users.

  2. Blue-Green Deployment:
    In this approach, you have two identical environments: one (blue) is live, and the other (green) is the staging environment. You deploy the fix to the green environment and, once verified, switch the traffic to the updated environment with zero downtime.

  3. Canary Releases:
    This method allows you to deploy the fix to a small percentage of users initially. If no issues arise, you can gradually roll it out to the rest of the users. This helps to reduce risk while ensuring uptime.

  4. Feature Toggles (Flags):
    If the issue is related to a specific feature, you can use feature flags to disable the problematic feature for all users temporarily. After applying the fix, you can re-enable it without any downtime.

  5. Hot Fixes:
    For smaller issues (e.g., bug fixes or configuration changes), you may be able to apply a hot fix directly to the live application. This depends on the nature of the issue and the architecture, but it’s often done in real-time without requiring a full deployment or restart.

  6. Database Migrations with Zero Downtime:
    If the issue is related to the database, ensure that migrations (if necessary) are backward compatible. You can use techniques like schema versioning or dual-writes to update databases without causing any downtime.

  7. Shadow Deployment:
    This involves deploying the fix to a shadow system where you run the new code in parallel with the live application, capturing real user data and monitoring for issues. Once you're confident in the new deployment, you switch the live traffic over.

  8. Load Balancer and Traffic Management:
    If you're using a load balancer, you can temporarily reroute traffic to other servers or services while you perform maintenance or deploy a fix. Once it's done, you can bring the updated instances back into the rotation.

Choosing the best approach depends on the severity of the issue, your infrastructure, and the complexity of the fix. For quick fixes that don’t affect core functionality, feature toggles or hot fixes can often be the quickest and safest options. If it’s a more complex issue, a blue-green deployment or canary release might be best.

Read More »

My Blog List