0

SQLPS (Ms SQL Server データベース エンジン) がインストールされていないクライアント マシン (Win7) から PS スクリプトを実行しています。

このため、リモートの ps-session をインポートして行います。

  1. SQL Server へのリモート PS セッションを作成する

$sourceSQLRemoteSession = New-PSSession -ComputerName $SQLServerHostname -認証ネゴシエート -Credential $PSOCredentialObject

  1. SQLPS モジュールをインポートする

Import-PSSession -Session $sourceSQLRemoteSession -Module SQLPS -DisableNameChecking

  1. SQL バックアップの実行

Backup-SqlDatabase -ServerInstance "destinationSQL\SQLInstance" -Database "blabla_db" -BackupFile "c:\blabla.bak" -Credential $PSOCredentialObject

DB を別の SQL データベース サーバーに復元する必要がある場合は、"RelocateFile" オブジェクトを使用する必要があります。次に例を示します。

$RelocateData = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("uat_project1_db", "c:\SQLDATA\blabla.mdf")
$RelocateLog = New-Object Microsoft.SqlServer.Management.Smo.RelocateFile("uat_project1_db_Log", "c:\SQLDATA\blabla.ldf")
Restore-SqlDatabase -ServerInstance "Computer\Instance" -Database "MainDB" -BackupFile "\\mainserver\databasebackup\MainDB.trn" -RelocateFile @($RelocateData,$RelocateLog)

そして、新しいオブジェクトを実行すると、気に入らないようです:

エラー:

New-Object : Cannot find type [Microsoft.SqlServer.Management.Smo.RelocateFile]: verify that the assembly containing this type is loaded.At line:1 char:17
+ ... ocateData = New-Object Microsoft.SqlServer.Management.Smo.RelocateFil ...
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo         : InvalidType: (:) [New-Object], PSArgumentException
    + FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand

これにアプローチする最良の方法は何ですか?

ありがとう

4

1 に答える 1