Get-DbaDbPartitionScheme
View SourceSynopsis
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
| 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 |
-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.
| Property | Value |
|---|---|
| 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.
| Property | Value |
|---|---|
| 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.
| Property | Value |
|---|---|
| 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.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value | False |
dbatools