Remove-SqlAvailabilityDatabase

가용성 그룹에서 가용성 데이터베이스를 제거합니다.

구문

Remove-SqlAvailabilityDatabase
      [-Path] <String[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-SqlAvailabilityDatabase
      [-InputObject] <AvailabilityDatabase[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Remove-SqlAvailabilityDatabase cmdlet은 가용성 그룹에서 가용성 데이터베이스를 제거합니다. InputObject 또는 Path 매개 변수는 가용성 데이터베이스를 지정합니다.

주 복제본을 호스트하는 서버 인스턴스에서 이 cmdlet을 실행하면 cmdlet은 가용성 그룹에서 주 데이터베이스 및 모든 해당 보조 데이터베이스를 제거합니다.

보조 복제본을 호스팅하는 서버 인스턴스에서 이 cmdlet을 실행하면 cmdlet은 가용성 그룹에서 로컬 보조 데이터베이스만 제거합니다. 보조 데이터베이스는 더 이상 가용성 그룹에 조인되지 않지만 데이터베이스의 다른 복사본은 계속 조인됩니다.

예제

예제 1: 가용성 그룹에서 데이터베이스 제거

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

이 명령은 MainAG가용성 그룹에서 Database16 가용성 데이터베이스를 제거합니다. 이 명령은 주 복제본을 호스트하는 서버 인스턴스에서 실행됩니다. 따라서 가용성 그룹에서 주 데이터베이스와 해당 보조 데이터베이스를 모두 제거합니다. 보조 복제본에서 이 데이터베이스에 대한 데이터 동기화가 더 이상 발생하지 않습니다.

예제 2: 가용성 그룹에서 모든 데이터베이스 제거

PS C:\> Get-ChildItem "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases" | Remove-SqlAvailabilityDatabase

이 명령은 MainAG속한 모든 가용성 데이터베이스를 가져오고 파이프라인 연산자를 사용하여 현재 cmdlet에 전달합니다. 현재 cmdlet은 각 가용성 데이터베이스를 제거합니다.

예제 3: 가용성 그룹에서 보조 데이터베이스 제거

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

이 명령은 SecondaryServer\Instance서버 인스턴스가 호스트하는 보조 복제본에서 Database16 이라는 보조 데이터베이스를 제거합니다. 제거된 보조 데이터베이스에 대한 데이터 동기화가 중지됩니다. 이 명령은 주 데이터베이스 또는 다른 보조 데이터베이스에 영향을 주지 않습니다.

예제 4: 가용성 그룹에서 데이터베이스를 제거하는 스크립트 만들기

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script

이 명령은 MainAG가용성 그룹에서 Database16 가용성 데이터베이스를 제거하는 Transact-SQL 스크립트를 만듭니다. 이 명령은 이 작업을 수행하지 않습니다.

매개 변수

-AccessToken

사용자/암호 또는 Windows 인증 대신 SQL Server에 인증하는 데 사용되는 액세스 토큰입니다.

예를 들어 Service Principal 또는 Managed Identity사용하여 SQL Azure DB 연결하고 SQL Azure Managed Instance 데 사용할 수 있습니다.

사용할 매개 변수는 토큰을 나타내는 문자열이거나 Get-AzAccessToken -ResourceUrl https://database.windows.net실행하여 반환된 PSAccessToken 개체일 수 있습니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:PSObject
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Encrypt

SQL Server에 연결할 때 사용할 암호화 유형입니다.

이 값은 Microsoft.Data.SqlClient 드라이버의 SqlConnection 개체에 있는 Encrypt 속성 SqlConnectionEncryptOption 매핑됩니다.

모듈의 v22에서 기본값은 Optional(v21과의 호환성을 위해)입니다. 모듈의 v23+에서 기본값은 기존 스크립트에 대한 호환성이 손상되는 변경을 만들 수 있는 '필수'입니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:String
허용되는 값:Mandatory, Optional, Strict
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HostNameInCertificate

SQL Server TLS/SSL 인증서의 유효성을 검사하는 데 사용할 호스트 이름입니다. SQL Server 인스턴스가 Force Encryption을 사용하도록 설정되어 있고 호스트 이름/짧은 이름을 사용하여 인스턴스에 연결하려는 경우 이 매개 변수를 전달해야 합니다. 이 매개 변수를 생략하면 강제 암호화를 사용하도록 설정된 SQL Server 인스턴스에 연결하려면 FQDN(정규화된 도메인 이름)을 -ServerInstance 전달해야 합니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

가용성 데이터베이스를 이 cmdlet이 제거하는 AvailabilityDatabase 개체로 지정합니다.

형식:AvailabilityDatabase[]
Position:1
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Path

cmdlet에서 제거하는 가용성 데이터베이스의 경로를 지정합니다.

형식:String[]
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ProgressAction

powerShell이 스크립트, cmdlet 또는 공급자(예: Write-Progress cmdlet에서 생성된 진행률 표시줄)에 의해 생성된 진행률 업데이트에 응답하는 방법을 결정합니다. Write-Progress cmdlet은 명령의 상태를 표시하는 진행률 표시줄을 만듭니다.

형식:ActionPreference
별칭:proga
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Script

이 cmdlet이 이 cmdlet이 수행하는 작업을 수행하는 Transact-SQL 스크립트를 반환한다는 것을 나타냅니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TrustServerCertificate

신뢰의 유효성을 검사하기 위해 인증서 체인을 건너뛰는 동안 채널이 암호화되는지 여부를 나타냅니다.

모듈의 v22에서 기본값은 $true(v21과의 호환성을 위해)입니다. 모듈의 v23+에서 기본값은 '$false'이며, 이로 인해 기존 스크립트에 대한 호환성이 손상되는 변경이 발생할 수 있습니다.

이 매개 변수는 모듈의 v22에서 새로 생성됩니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

Microsoft.SqlServer.Management.Smo.AvailabilityDatabase

가용성 데이터베이스를 이 cmdlet에 전달할 수 있습니다.