Get-SqlDatabase

Ottiene un oggetto database SQL per ogni database presente nell'istanza di destinazione di SQL Server.

Sintassi

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>]

Descrizione

Il cmdlet Get-SqlDatabase ottiene un oggetto di database SQL per ogni database presente nell'istanza di destinazione di SQL Server. Se viene fornito il nome del database, il cmdlet restituirà esclusivamente questo specifico oggetto di database.

Questo cmdlet supporta le modalità di operazione seguenti per ottenere l'oggetto database SQL:

  • Specificare il percorso di Windows PowerShell dell'istanza.
  • Specificare l'oggetto server.
  • Specificare l'oggetto ServerInstance dell'istanza di destinazione di SQL Server.

Esempio

Esempio 1: Ottenere un oggetto di database SQL

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

Il primo comando modifica la directory di lavoro in SQLSERVER:\SQL\Computer\Instance.

Esempio 2: Ottenere tutte le istanze di SQL Server in un computer

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

Questo comando ottiene tutte le istanze di SQL Server nel computer denominato 'Computer001' e restituisce tutti i database presenti nelle istanze.

Parametri

-AccessToken

Token di accesso usato per eseguire l'autenticazione per SQL Server, come alternativa all'autenticazione utente/password o a Windows.

Questa operazione può essere usata, ad esempio, per connettersi a SQL Azure DB e SQL Azure Managed Instance usando un Service Principal oggetto o .Managed Identity

Il parametro da usare può essere una stringa che rappresenta il token o un PSAccessToken oggetto restituito eseguendo Get-AzAccessToken -ResourceUrl https://database.windows.net.

Questo parametro è nuovo nella versione 22 del modulo.

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

-Confirm

Richiede la conferma prima di eseguire il cmdlet. Richiede la conferma prima di eseguire il cmdlet.

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

-ConnectionString

Specifica un stringa di connessione per connettersi al server.

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

-ConnectionTimeout

Specifica il numero di secondi per attendere una connessione SQL Server prima di un errore di timeout. Il valore di timeout deve essere un valore integer compreso tra 0 e 65534. Se si specifica 0, non si verifica alcun timeout dei tentativi di connessione.

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

-Credential

Specifica un account utente con credenziali di amministratore di Windows nel computer di destinazione.

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

-Encrypt

Tipo di crittografia da usare durante la connessione a SQL Server.

Questo valore esegue il Encrypt mapping alla proprietà SqlConnectionEncryptOption nell'oggetto SqlConnection del driver Microsoft.Data.SqlClient.

Nella versione 22 del modulo il valore predefinito è Optional (per la compatibilità con v21). Nella versione 23+ del modulo il valore predefinito sarà "Obbligatorio", che può creare una modifica di rilievo per gli script esistenti.

Questo parametro è nuovo nella versione 22 del modulo.

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

-HostNameInCertificate

Nome host da usare per la convalida del certificato TLS/SSL di SQL Server. È necessario passare questo parametro se l'istanza di SQL Server è abilitata per Force Encryption e si vuole connettersi a un'istanza usando nome host/nome breve. Se questo parametro viene omesso, è necessario passare il nome di dominio completo (FQDN) a -ServerInstance per connettersi a un'istanza di SQL Server abilitata per Force Encryption.

Questo parametro è nuovo nella versione 22 del modulo.

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

-InputObject

Specifica l'oggetto server dell'istanza di destinazione.

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

-Name

Specifica il nome del database che questo cmdlet ottiene l'oggetto del database SQL.

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

-Path

Specifica il percorso dell'istanza di SQL Server in cui questo cmdlet esegue l'operazione. Se non si specifica un valore per questo parametro, il cmdlet usa il percorso di lavoro corrente.

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

-Script

Indica che questo cmdlet genera uno script Transact-SQL che esegue l'attività.

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

-ServerInstance

Specifica il nome di un'istanza di SQL Server, come matrice di stringhe, che diventa la destinazione dell'operazione.

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

-TrustServerCertificate

Indica se il canale verrà crittografato durante il bypass della catena di certificati per convalidare l'attendibilità.

Nella versione 22 del modulo il valore predefinito è $true (per la compatibilità con v21). Nella versione 23+ del modulo il valore predefinito sarà "$false", che può creare una modifica di rilievo per gli script esistenti.

Questo parametro è nuovo nella versione 22 del modulo.

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

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito. Mostra cosa succede se il cmdlet viene eseguito. Il cmdlet non viene eseguito.

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

Input

System.String[]

Microsoft.SqlServer.Management.Smo.Server