Remove-SqlAvailabilityDatabase
Quita una base de datos de disponibilidad de su grupo de disponibilidad.
Syntax
Remove-SqlAvailabilityDatabase
[-Path] <String[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-SqlAvailabilityDatabase
[-InputObject] <AvailabilityDatabase[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Remove-SqlAvailabilityDatabase quita la base de datos de disponibilidad de su grupo de disponibilidad. El parámetro InputObject o Path especifica la base de datos de disponibilidad.
Si ejecuta este cmdlet en la instancia del servidor que hospeda la réplica principal, el cmdlet quita la base de datos principal y todas las bases de datos secundarias correspondientes del grupo de disponibilidad.
Si ejecuta este cmdlet en una instancia de servidor que hospeda una réplica secundaria, el cmdlet quita solo la base de datos secundaria local del grupo de disponibilidad. La base de datos secundaria ya no está unida al grupo de disponibilidad, pero otras copias de la base de datos siguen estando unidas.
Ejemplos
Ejemplo 1: Quitar una base de datos de un grupo de disponibilidad
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"
Este comando quita la base de datos de disponibilidad denominada Database16
del grupo de disponibilidad denominado MainAG
.
Este comando se ejecuta en la instancia del servidor que hospeda la réplica principal.
Por lo tanto, quita la base de datos principal y todas sus bases de datos secundarias correspondientes del grupo de disponibilidad.
La sincronización de datos ya no se produce para esta base de datos en ninguna réplica secundaria.
Ejemplo 2: Quitar todas las bases de datos de un grupo de disponibilidad
PS C:\> Get-ChildItem "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases" | Remove-SqlAvailabilityDatabase
Este comando obtiene todas las bases de datos de disponibilidad que pertenecen a MainAG
y, a continuación, las pasa al cmdlet actual mediante el operador de canalización. El cmdlet actual quita cada base de datos de disponibilidad.
Ejemplo 3: Quitar una base de datos secundaria de un grupo de disponibilidad
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"
Este comando quita la base de datos secundaria denominada Database16
de la réplica secundaria hospedada por la instancia del servidor denominada SecondaryServer\Instance
. La sincronización de datos con las bases de datos secundarias eliminadas se detiene.
Este comando no afecta a la base de datos principal ni a ninguna otra base de datos secundaria.
Ejemplo 4: Creación de un script para quitar una base de datos de un grupo de disponibilidad
PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script
Este comando crea un script de Transact-SQL que quita la base de datos de disponibilidad denominada Database16
del grupo de disponibilidad denominado MainAG
.
El comando no realiza esta acción.
Parámetros
-AccessToken
Token de acceso que se usa para autenticarse en SQL Server, como alternativa a la autenticación de usuario o contraseña de Windows.
Esto se puede usar, por ejemplo, para conectarse a SQL Azure DB
y SQL Azure Managed Instance
usar o Service Principal
.Managed Identity
El parámetro que se va a usar puede ser una cadena que representa el token o un PSAccessToken
objeto tal como se devuelve mediante la ejecución Get-AzAccessToken -ResourceUrl https://database.windows.net
de .
Este parámetro es nuevo en la versión 22 del módulo.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Encrypt
Tipo de cifrado que se va a usar al conectarse a SQL Server.
Este valor se asigna a la Encrypt
propiedad SqlConnectionEncryptOption
del objeto SqlConnection del controlador Microsoft.Data.SqlClient.
En la versión 22 del módulo, el valor predeterminado es Optional
(por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "Obligatorio", lo que puede crear un cambio importante para los scripts existentes.
Este parámetro es nuevo en la versión 22 del módulo.
Type: | String |
Accepted values: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostNameInCertificate
Nombre de host que se va a usar al validar el certificado TLS/SSL de SQL Server. Debe pasar este parámetro si la instancia de SQL Server está habilitada para Forzar cifrado y desea conectarse a una instancia mediante el nombre de host o el nombre corto. Si se omite este parámetro, es necesario pasar el nombre de dominio completo (FQDN) a -ServerInstance para conectarse a una instancia de SQL Server habilitada para forzar el cifrado.
Este parámetro es nuevo en la versión 22 del módulo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica la base de datos de disponibilidad, como un objeto AvailabilityDatabase , que este cmdlet quita.
Type: | AvailabilityDatabase[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Path
Especifica la ruta de acceso de una base de datos de disponibilidad que quita el cmdlet .
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Script
Indica que este cmdlet devuelve un script de Transact-SQL que realiza la tarea que realiza este cmdlet.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TrustServerCertificate
Indica si el canal se cifrará al pasar la cadena de certificados para validar la confianza.
En la versión 22 del módulo, el valor predeterminado es $true
(por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "$false", que puede crear un cambio importante para los scripts existentes.
Este parámetro es nuevo en la versión 22 del módulo.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Microsoft.SqlServer.Management.Smo.AvailabilityDatabase
Puede pasar una base de datos de disponibilidad a este cmdlet.