SQL Server PowerShell プロバイダーでのインスタンスの指定

SQL Server PowerShell プロバイダーに指定するパスでは、データベース エンジンのインスタンスと、それが実行されているコンピューターを示す必要があります。 コンピューターおよびインスタンスを指定する構文は、SQL Server 識別子と Windows PowerShell パスの両方の規則に準拠している必要があります。

  1. 作業を開始する準備: 制限事項と制約事項

  2. インスタンスの指定方法:

作業を開始する準備

SQL Server プロバイダーのパスで SQLSERVER:\SQL に続く最初のノードは、たとえば次のような、データベース エンジンのインスタンスが実行されているコンピューターの名前です。

SQLSERVER:\SQL\MyComputer

データベース エンジンのインスタンスと同じコンピューター上で Windows PowerShell を実行している場合は、コンピューター名の代わりに localhost または (local) を使用できます。 localhost または (local) が使用されたスクリプトは、異なるコンピューター名を反映するための変更を加えることなく、すべてのコンピューター上で実行できます。

データベース エンジンの実行可能プログラムの複数のインスタンスを、同じコンピューターで実行できます。 SQL Server プロバイダーのパスでコンピューター名に続くノードは、たとえば次のように、インスタンスを識別します。

SQLSERVER:\SQL\MyComputer\MyInstance

各コンピューターでは、データベース エンジンの既定のインスタンスを 1 つだけ使用できます。 既定のインスタンスには、そのインストール時に名前を指定しません。 接続文字列にコンピューター名のみを指定すると、そのコンピューターの既定のインスタンスに接続されます。 コンピューター上のその他すべてのインスタンスは、名前付きインスタンスにする必要があります。 インスタンス名はセットアップ時に指定します。接続文字列には、コンピューター名とインスタンス名の両方を指定する必要があります。

制限事項と制約事項

PowerShell スクリプトでは、ピリオド (.) を使用してローカル コンピューターを指定することはできません。 PowerShell ではピリオドはコマンドとして解釈されるため、ピリオドはサポートされません。

通常、(local) に使用されているかっこ文字は、Windows PowerShell でコマンドとして扱われます。 パス内で使用するには、エンコードするかエスケープする必要があります。または、パスを二重引用符で囲みます。 詳細については、「SQL Server 識別子のエンコードとデコード」を参照してください。

SQL Server プロバイダーでは、常にインスタンス名を指定する必要があります。 既定のインスタンスには、DEFAULT というインスタンス名を指定する必要があります。

[先頭に戻る]

例: コンピューター名とインスタンス名

この例では、次のように、localhost および DEFAULT を使用してローカル コンピューター上の既定のインスタンスを指定します。

Set-Location SQLSERVER:\SQL\localhost\DEFAULT 

通常、(local) に使用されているかっこ文字は、Windows PowerShell でコマンドとして扱われます。 次のいずれかの作業を行う必要があります。

  • パス文字列を引用符で囲みます。

    Set-Location "SQLSERVER:\SQL\(local)\DEFAULT"
    
  • バック ティック文字 (') を使用して、かっこをエスケープします。

    Set-Location SQLSERVER:\SQL\`(local`)\DEFAULT
    
  • 16 進数表記を使用して、かっこをエンコードします。

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

[先頭に戻る]

関連項目

概念

PowerShell での SQL Server 識別子

SQL Server PowerShell プロバイダー

SQL Server PowerShell