---
title: "Get-DbaDbccProcCache"
description: "Retrieves plan cache memory usage statistics from SQL Server instances"
url: "https://dbatools.io/Get-DbaDbccProcCache/"
availability: "Windows, Linux, macOS"
tags: ["DBCC"]
author: "Patrick Flynn (@sqllensman)"
source: "https://github.com/dataplat/dbatools/blob/master/public/Get-DbaDbccProcCache.ps1"
last_updated: "2024-01-01"
---

# Get-DbaDbccProcCache

## Synopsis

Retrieves plan cache memory usage statistics from SQL Server instances

## Description

Executes DBCC PROCCACHE against SQL Server instances and returns structured information about plan cache memory utilization. This command reveals how much memory is allocated for storing compiled execution plans, how much is currently being used, and how many plan entries are active. Essential for diagnosing memory pressure issues, understanding plan cache efficiency, and monitoring whether the plan cache is consuming excessive memory or experiencing frequent evictions that could impact query performance.  
  
Read more:  
    - https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-proccache-transact-sql

## Syntax

```powershell
Get-DbaDbccProcCache
    [-SqlInstance] <DbaInstanceParameter[]>
    [[-SqlCredential] <PSCredential>]
    [-EnableException]
    [<CommonParameters>]

```

## Examples

### Example 1: Get results of DBCC PROCCACHE for Instance Server1

```powershell
PS C:\> Get-DbaDbccProcCache -SqlInstance Server1
```

### Example 2: Get results of DBCC PROCCACHE for Instances Sql1 and Sql2/sqlexpress

```powershell
PS C:\> 'Sql1','Sql2/sqlexpress' | Get-DbaDbccProcCache
```

### Example 3: Connects using sqladmin credential and gets results of DBCC PROCCACHE for Instance Server1

```powershell
PS C:\> $cred = Get-Credential sqladmin
PS C:\> Get-DbaDbccProcCache -SqlInstance Server1 -SqlCredential $cred
```

### Required Parameters

##### -SqlInstance

The target SQL Server instance or instances.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | True |
| Pipeline | true (ByValue) |
| Default Value |  |

### Optional Parameters

##### -SqlCredential

Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).  
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.  
For MFA support, please use Connect-DbaInstance.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value |  |

##### -EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.  
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting.  
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.

| Property | Value |
| --- | --- |
| Alias |  |
| Required | False |
| Pipeline | false |
| Default Value | False |

## Outputs

**PSCustomObject**

**Returns one object per result row from DBCC PROCCACHE with the following properties:**

- ComputerName: The computer name of the SQL Server instance
- InstanceName: The SQL Server instance name (service name)
- SqlInstance: The full SQL Server instance name (computer\instance)
- Count: Number of plan cache entries in use
- Used: Memory allocated for plan cache (in pages)
- Active: Number of active plan cache entries
- CacheSize: Total plan cache size (in pages)
- CacheUsed: Amount of plan cache currently used (in pages)
- CacheActive: Number of active cache entries (may differ from Active)

---

Part of [dbatools](https://dbatools.io/), a free and open source PowerShell module for SQL Server administration. Full command index: https://dbatools.io/commands/
