commands

^

Get-DbaDbPartitionScheme

Author Klaas Vandenberghe (@PowerDbaKlaas)
Availability Windows, Linux, macOS

 

Want to see the source code for this command? Check out Get-DbaDbPartitionScheme on GitHub.
Want to see the Bill Of Health for this command? Check out Get-DbaDbPartitionScheme.

Synopsis

Retrieves partition schemes from SQL Server databases for table partitioning management.

Description

Retrieves partition scheme objects from one or more SQL Server databases, providing details about how partitioned tables and indexes are distributed across filegroups. Partition schemes define the physical storage mapping for partitioned tables by specifying which filegroups contain each partition's data. This function helps DBAs inventory existing partition schemes when planning table partitioning strategies, troubleshooting performance issues with partitioned tables, or preparing for partition maintenance operations.

Syntax

Get-DbaDbPartitionScheme
    [-SqlInstance] <DbaInstanceParameter[]>
    [[-SqlCredential] <PSCredential>]
    [[-Database] <Object[]>]
    [[-ExcludeDatabase] <Object[]>]
    [[-PartitionScheme] <String[]>]
    [-EnableException]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Get-DbaDbPartitionScheme -SqlInstance sql2016

Gets all database partition schemes.

Example: 2
PS C:\> Get-DbaDbPartitionScheme -SqlInstance Server1 -Database db1

Gets the partition schemes for the db1 database.

Example: 3
PS C:\> Get-DbaDbPartitionScheme -SqlInstance Server1 -ExcludeDatabase db1

Gets the partition schemes for all databases except db1.

Example: 4
PS C:\> 'Sql1','Sql2/sqlexpress' | Get-DbaDbPartitionScheme

Gets the partition schemes for the databases on Sql1 and Sql2/sqlexpress.

Example: 5
PS C:\> Get-DbaDbPartitionScheme -SqlInstance localhost -Database TestDB -PartitionScheme partSch01

Gets the partition scheme partSch01 for the TestDB on localhost.

Required Parameters

-SqlInstance

The target SQL Server instance or instances

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.

Alias
Required False
Pipeline false
Default Value
-Database

Specifies which databases to scan for partition schemes. Accepts multiple database names.
Use this when you need to check partition schemes in specific databases rather than all accessible databases on the instance.

Alias
Required False
Pipeline false
Default Value
-ExcludeDatabase

Specifies databases to skip when scanning for partition schemes. Accepts multiple database names.
Use this to exclude system databases or specific databases you don't want to check, such as development or staging databases during production audits.

Alias
Required False
Pipeline false
Default Value
-PartitionScheme

Specifies which partition schemes to retrieve by name. Accepts multiple scheme names for targeted retrieval.
Use this when you need to examine specific partition schemes rather than all schemes in the database, such as when troubleshooting performance issues with particular partitioned tables.

Alias Name
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.

Alias
Required False
Pipeline false
Default Value False