Get-SqlDatabase

SQL Serverのターゲット インスタンスに存在する各データベースの SQL データベース オブジェクトを取得します。

構文

Get-SqlDatabase
   [[-Name] <String>]
   [[-Path] <String>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Get-SqlDatabase
   [[-Name] <String>]
   [-ServerInstance] <String[]>
   [-Credential <PSCredential>]
   [-ConnectionTimeout <Int32>]
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Get-SqlDatabase
   [[-Name] <String>]
   -ConnectionString <String>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Get-SqlDatabase
   [[-Name] <String>]
   [-InputObject] <Server>
   [-Script]
   [-AccessToken <PSObject>]
   [-TrustServerCertificate]
   [-HostNameInCertificate <String>]
   [-Encrypt <String>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

Get-SqlDatabase コマンドレットは、SQL Serverのターゲット インスタンスに存在する各データベースの SQL データベース オブジェクトを取得します。 データベースの名前が提供されている場合、コマンドレットはこの特定のデータベース オブジェクトだけを返します。

このコマンドレットでは、SQL データベース オブジェクトを取得するための次の操作モードがサポートされています。

  • インスタンスWindows PowerShellパスを指定します。
  • サーバー オブジェクトを指定します。
  • SQL Serverのターゲット インスタンスの ServerInstance オブジェクトを指定します。

例 1: SQL データベース オブジェクトを取得する

PS C:\> CD SQLSERVER:\SQL\Computer\Instance
PS SQLSERVER:\SQL\Computer\Instance> Get-SqlDatabase -Name "DbName" -Credential $SqlCredential

最初のコマンドは、作業ディレクトリを SQLSERVER:\SQL\Computer\Instance に変更します。

例 2: コンピューター上のSQL Serverのすべてのインスタンスを取得する

PS C:\> Get-SqlInstance -Credential $Credential -MachineName "Computer001" | Get-SqlDatabase -Credential $SqlCredential

このコマンドは、'Computer001' という名前のコンピューター上のSQL Serverのすべてのインスタンスを取得し、インスタンスに存在するすべてのデータベースを返します。

パラメーター

-AccessToken

ユーザー/パスワードまたは Windows 認証の代わりに、SQL Serverに対する認証に使用されるアクセス トークン。

これは、たとえば、 または を使用して にSQL Azure DB接続したりSQL Azure Managed Instance、 を使用したりManaged Identityするために使用Service Principalできます。

使用するパラメーターには、 を実行Get-AzAccessToken -ResourceUrl https://database.windows.netして返されるトークンまたはオブジェクトをPSAccessToken表す文字列を指定できます。

このパラメーターは、モジュールの v22 の新機能です。

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

-Confirm

コマンドレットを実行する前に確認を求めるメッセージが表示されます。コマンドレットを実行する前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionString

サーバーに接続する接続文字列を指定します。

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

-ConnectionTimeout

タイムアウト エラーが発生するまでのSQL Server接続を待機する秒数を指定します。 タイムアウト値は、0 ~ 65534 の整数値である必要があります。 0 を指定した場合、接続の試行はタイムアウトしません。

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

-Credential

対象のコンピューターで Windows 管理者の資格情報を持つユーザー アカウントを指定します。

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

-Encrypt

SQL Serverに接続するときに使用する暗号化の種類。

この値は、 Encrypt Microsoft.Data.SqlClient ドライバーの SqlConnection オブジェクトの プロパティ SqlConnectionEncryptOption にマップされます。

モジュールの v22 では、既定値は Optional (v21 との互換性のために) です。 モジュールの v23 以降では、既定値は "必須" になります。これにより、既存のスクリプトに破壊的変更が発生する可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

SQL Server TLS/SSL 証明書の検証に使われるホスト名。 SQL Server インスタンスで Force Encryption が有効になっており、hostname/shortname を使用してインスタンスに接続する場合は、このパラメーターを渡す必要があります。 このパラメーターを省略した場合、強制暗号化が有効になっているSQL Server インスタンスに接続するには、完全修飾ドメイン名 (FQDN) を -ServerInstance に渡す必要があります。

このパラメーターは、モジュールの v22 の新機能です。

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

-InputObject

ターゲット インスタンスのサーバー オブジェクトを指定します。

Type:Server
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

このコマンドレットが SQL データベース オブジェクトを取得するデータベースの名前を指定します。

Type:String
Aliases:Database
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

このコマンドレットが操作を実行するSQL Serverのインスタンスへのパスを指定します。 このパラメーターの値を指定しない場合、コマンドレットは現在の作業場所を使用します。

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Script

このコマンドレットによって、タスクを実行する Transact-SQL スクリプトが生成されることを示します。

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

-ServerInstance

操作のターゲットとなるSQL Serverのインスタンスの名前を文字列配列として指定します。

Type:String[]
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TrustServerCertificate

信頼を検証するために証明書チェーンの歩き方をバイパスしながらチャネルを暗号化するかどうかを示します。

モジュールの v22 では、既定値は $true (v21 との互換性のために) です。 モジュールの v23 以降では、既定値は "$false" になります。これにより、既存のスクリプトに破壊的変更が発生する可能性があります。

このパラメーターは、モジュールの v22 の新機能です。

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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。コマンドレットが実行された場合の動作を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

System.String[]

Microsoft.SqlServer.Management.Smo.Server