Thor Logo dbatools

Get-DbaDbPartitionScheme

View Source
Klaas Vandenberghe (@PowerDbaKlaas)
Windows, Linux, macOS

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

PropertyValue
Alias
RequiredTrue
Pipelinetrue (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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
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.

PropertyValue
AliasName
RequiredFalse
Pipelinefalse
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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse