SQL Server PowerShell プロバイダーに指定するパスでは、 データベース エンジン のインスタンスと、それが実行されているコンピューターを示す必要があります。 コンピューターおよびインスタンスを指定する構文は、SQL Server 識別子と Windows PowerShell パスの両方の規則に準拠している必要があります。
注
SQL Server PowerShell モジュールには SqlServer と SQLPS の 2 つがあります。
SqlServer モジュールは、使用する現在の PowerShell モジュールです。
SQLPS モジュールは、(後方互換性のため) SQL Server のインストールに含まれていますが、今後更新されることはありません。
SqlServer モジュールには、SQLPS のコマンドレットの更新バージョンに加え、最新の SQL 機能をサポートする新しいコマンドレットが含まれています。
PowerShell ギャラリーから SqlServer モジュールをインストールします。
詳細については、 SQL Server PowerShell を参照してください。
開始する前に
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