Skip to content

Suspend‑SqlDscDatabase

dscbot edited this page Dec 5, 2025 · 2 revisions

SYNOPSIS

Takes a SQL Server database offline.

SYNTAX

ServerObjectSet (Default)

Suspend-SqlDscDatabase -ServerObject <Server> -Name <String> [-Force] [-Refresh] [-PassThru]
 [-WhatIf] [-Confirm] [<CommonParameters>]

DatabaseObjectSet

Suspend-SqlDscDatabase [-Force] -DatabaseObject <Database> [-PassThru] 
 [-WhatIf] [-Confirm] [<CommonParameters>]

DESCRIPTION

This command takes a SQL Server database offline, making it temporarily unavailable. It is useful for maintenance scenarios, backups, or when you need to restrict access temporarily. The command uses the SMO Database.SetOffline() method to suspend the database.

EXAMPLES

EXAMPLE 1

$serverObject = Connect-SqlDscDatabaseEngine -InstanceName 'MyInstance'
Suspend-SqlDscDatabase -ServerObject $serverObject -Name 'MyDatabase'

Takes the database named MyDatabase offline.

EXAMPLE 2

$serverObject = Connect-SqlDscDatabaseEngine -InstanceName 'MyInstance'
$databaseObject = $serverObject | Get-SqlDscDatabase -Name 'MyDatabase'
Suspend-SqlDscDatabase -DatabaseObject $databaseObject -Force

Takes the database offline using a database object, forcing disconnection of any active users.

EXAMPLE 3

$serverObject = Connect-SqlDscDatabaseEngine -InstanceName 'MyInstance'
Suspend-SqlDscDatabase -ServerObject $serverObject -Name 'MyDatabase' -PassThru

Takes the database offline and returns the updated database object.

EXAMPLE 4

$serverObject = Connect-SqlDscDatabaseEngine -InstanceName 'MyInstance'
$serverObject | Get-SqlDscDatabase -Name 'MyDatabase' | Suspend-SqlDscDatabase -Force

Takes the database offline using pipeline input, forcing disconnection of any active users.

PARAMETERS

-DatabaseObject

Specifies the database object to take offline (from Get-SqlDscDatabase).

Type: Database
Parameter Sets: DatabaseObjectSet
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Force

Specifies that the database should be forced offline even if users are connected. When specified, active connections will be disconnected immediately with rollback. Use this parameter with caution as it can disrupt active sessions.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-Name

Specifies the name of the database to take offline.

Type: String
Parameter Sets: ServerObjectSet
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-PassThru

Specifies that the database object should be returned after the operation.

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-Refresh

Specifies that the ServerObject's databases should be refreshed before trying to get the database object. This is helpful when databases could have been modified outside of the ServerObject, for example through T-SQL. But on instances with a large amount of databases it might be better to make sure the ServerObject is recent enough.

This parameter is only used when suspending a database using ServerObject and Name parameters.

Type: SwitchParameter
Parameter Sets: ServerObjectSet
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-ServerObject

Specifies current server connection object.

Type: Server
Parameter Sets: ServerObjectSet
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

Microsoft.SqlServer.Management.Smo.Server

The server object from Connect-SqlDscDatabaseEngine.

Microsoft.SqlServer.Management.Smo.Database

The database object to take offline (from Get-SqlDscDatabase).

OUTPUTS

None.

By default, no output is returned.

Microsoft.SqlServer.Management.Smo.Database

When PassThru is specified, the updated database object is returned.

NOTES

RELATED LINKS

Home

Commands

Resources

Usage

Clone this wiki locally