Split-SPScaleOutDatabase

Moves a specified percentage of partitions from one scale-out database to another.

Syntax

Split-SPScaleOutDatabase
     -NewDatabaseName <String>
     -SourceDatabase <SPDatabasePipeBind>
     -SourceServiceApplication <SPServiceApplicationPipeBind>
     [-AssignmentCollection <SPAssignmentCollection>]
     [-Confirm]
     [-MoveLowerHalf]
     [-NewDatabaseCredentials <PSCredential>]
     [-NewDatabaseFailoverServer <String>]
     [-NewDatabaseServer <String>]
     [-SourcePercentage <Int32>]
     [-WhatIf]
     [<CommonParameters>]
Split-SPScaleOutDatabase
     -SourceDatabase <SPDatabasePipeBind>
     -SourceServiceApplication <SPServiceApplicationPipeBind>
     -TargetDatabase <SPDatabasePipeBind>
     [-AssignmentCollection <SPAssignmentCollection>]
     [-Confirm]
     [-MoveLowerHalf]
     [-SourcePercentage <Int32>]
     [-WhatIf]
     [<CommonParameters>]

Description

This cmdlet contains more than one parameter set. You may only use parameters from one parameter set and you may not combine parameters from different parameter sets. For more information about how to use parameter sets, see Cmdlet parameter sets.

Use the Split-SPScaleOutDatabase cmdlet to move a specified percentage of partitions from a source database to an existing target database or to a new database that you create with the specified parameters.

For permissions and the most current information about Windows PowerShell for SharePoint Products, see the online documentation at SharePoint Server Cmdlets.

Examples

---------------EXAMPLE 1---------------

$databases = Get-SPScaleOutDatabase -ServiceApplication $serviceApplication
$database = $databases[0]
Split-SPScaleOutDatabase -NewDatabaseName Database2 -NewDatabaseServer MyDatabaseServer -SourceDatabase $database -SourceServiceApplication $serviceApplication -SourcePercentage 30

This example creates a new scale-out database named Database2 on the MyDatabaseServer database server in the given service application.

The example also moves 30% of the data from the upper side of the data range in the first scale-out database of the given service application.

---------------EXAMPLE 2---------------

$ssa = Get-SPEnterpriseSearchServiceApplication
$newReportingDb = "Search_AnalyticsReporting2"
$reportingDb = Get-SPScaleOutDatabase -SearchApplication $ssa
Split-SPServerScaleOutDatabase -SourceServiceApplication $ssa -SourceDatabase $reportingDb -NewDatabaseName $newReportingDb -SourcePercentage 33

This example scales out the Search Analytics database, moving 33% of data to the new databases.

Parameters

-AssignmentCollection

Manages objects for the purpose of proper disposal. Use of objects, such as SPWeb or SPSite, can use large amounts of memory and use of these objects in Windows PowerShell scripts requires proper memory management. Using the SPAssignment object, you can assign objects to a variable and dispose of the objects after they are needed to free up memory. When SPWeb, SPSite, or SPSiteAdministration objects are used, the objects are automatically disposed of if an assignment collection or the Global parameter is not used.

When the Global parameter is used, all objects are contained in the global store. If objects are not immediately used, or disposed of by using the Stop-SPAssignment command, an out-of-memory scenario can occur.

Type:SPAssignmentCollection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-Confirm

Prompts you for confirmation before executing the command. For more information, type the following command: get-help about_commonparameters

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-MoveLowerHalf

Specifies whether to move the lower or the upper side of the data range from the source scale-out database. If this parameter is not specified, the default behavior is to move the upper side of the source scale-out database data range.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-NewDatabaseCredentials

Specifies the credentials to use when creating the scale-out database. These credentials will have owner rights on the newly created scale-out database. If a value is not provided, the current user's credentials will be used by default.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-NewDatabaseFailoverServer

Specifies the failover server name of the new scale-out database to be created. If a value is not provided, the new scale-out database does not have a failover server.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-NewDatabaseName

Specifies the name of a new scale-out database that you are creating.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-NewDatabaseServer

Specifies the name of the server of the new scale-out database to be created. If a value is not provided, the default database server is used.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-SourceDatabase

The source scale-out database to move data from.

Type:SPDatabasePipeBind
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-SourcePercentage

Specifies the percentage of data in the source scale-out database to move. If a value is not provided, the default value of 50 percent is used.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-SourceServiceApplication

The service application in which the data move operation will take place.

Type:SPServiceApplicationPipeBind
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-TargetDatabase

The target scale-out database to move data to.

Type:SPDatabasePipeBind
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition

-WhatIf

Displays a message that describes the effect of the command instead of executing the command. For more information, type the following command: get-help about_commonparameters

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server Subscription Edition