Condividi tramite


Specificare istanze nel provider SQL Server PowerShell

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

I percorsi specificati per il provider di SQL Server PowerShell devono identificare l'istanza del motore di database e il computer su cui è in esecuzione. La sintassi per la specifica del computer e l'istanza devono conformarsi sia alle regole per gli identificatori di SQL Server che ai percorsi di Windows PowerShell.

Nota

Esistono due moduli SQL Server PowerShell: SqlServer e SQLPS.

SqlServer è il modulo corrente di PowerShell da usare.

SQLPS è incluso nell'installazione di SQL Server (per compatibilità con le versioni precedenti), ma non viene più aggiornato.

Il modulo SqlServer contiene le versioni aggiornate dei cmdlet di SQLPS e include nuovi cmdlet per il supporto delle funzionalità SQL più recenti.

Installare il modulo SqlServer da PowerShell Gallery.

Per altre informazioni, vedere SQL Server PowerShell.

Prima di iniziare

Il primo nodo che segue SQLSERVER:\SQL in un percorso del provider di SQL Server è il nome del computer che esegue l'istanza del motore di database, ad esempio:

SQLSERVER:\SQL\MyComputer  

Se si esegue Windows PowerShell nello stesso computer dell'istanza del motore di database, è possibile usare localhost o (local) al posto del nome del computer. Gli script che utilizzano localhost o (local) possono essere eseguiti in qualsiasi computer senza che debbano essere modificati per riflettere i diversi nomi dei computer.

È possibile eseguire più istanze del programma eseguibile del motore di database sullo stesso computer. Il nodo che segue il nome del computer in un percorso del provider SQL Server identifica l'istanza; ad esempio:

SQLSERVER:\SQL\MyComputer\MyInstance  

Ciascun computer può avere una sola istanza predefinita del motore di database. Non viene specificato un nome per l'istanza predefinita quando viene installata. Specificando solo un nome del computer in una stringa di connessione si è connessi all'istanza predefinita nel computer. Tutte le altre istanze nel computer devono essere istanze denominate. Il nome dell'istanza viene specificato durante l'installazione e nelle stringhe di connessione è necessario specificare il nome del computer e il nome dell'istanza.

Limitazioni e restrizioni

Non è possibile utilizzare il punto (.) per specificare il computer locale negli script di PowerShell. Il punto non è supportato perché viene interpretato da PowerShell come un comando.

I caratteri parentesi in (local) vengono in genere gestiti da Windows PowerShell come comandi. È necessario codificarli o utilizzare caratteri di escape per l'utilizzo in un percorso o racchiudere il percorso tra doppie virgolette. Per ulteriori informazioni, vedere Codifica e decodifica degli identificatori di SLQ Server.

Il provider di SQL Server richiede di specificare sempre un nome dell'istanza. Per le istanze predefinite, è necessario specificare un nome dell'istanza DEFAULT.

Esempi, nomi del computer e dell'istanza

In questo esempio viene utilizzato localhost e DEFAULT per specificare l'istanza predefinita nel computer locale.

Set-Location SQLSERVER:\SQL\localhost\DEFAULT   

I caratteri parentesi in (local) vengono in genere gestiti da Windows PowerShell come comandi. È necessario:

  • Racchiudere la stringa del percorso tra virgolette.

    Set-Location "SQLSERVER:\SQL\(local)\DEFAULT"  
    
  • Utilizzare caratteri di escape per la parentesi utilizzando il carattere apice inverso (`).

    Set-Location SQLSERVER:\SQL\`(local`)\DEFAULT  
    
  • Codificare le parentesi utilizzando la rappresentazione esadecimale.

    Set-Location SQLSERVER:\SQL\%28local%29\DEFAULT  
    

Vedi anche

Identificatori di SQL Server in PowerShell
Provider PowerShell per SQL Server
SQL Server PowerShell