2016-10-04 8 views
2

私は複雑なスクリプトが単純な行で失敗しています。何が起こる は私がpowershell sqlserverコンテキストのコピーアイテムが失敗しました

Backup-SqlDatabase -ServerInstance "DB01" -Database "DATABASE" -BackupFile "F:\FILE.BAK" 
Copy-Item -Path \\remotedb01\f$\file.bak -Destination F:\Backups 

エラーが私に戻っ 無効なパスで実行している:「\\ remotedb01 \ $ \ file.bak F」私はテストを通じて見つけた何

はそれということです> 私はCと入力した場合:: をし、再度コピー項目のコマンドを実行し、それが正常に動作し、バックアップ-sqldatabaseコマンドは、作業ディレクトリを完了した後であるため失敗していること

のPS SQLSERVERです。

私は痛いほど明白なものを見逃しているに違いないが、私はそれを見ていない。 私はPowerShellにC:としか書いていないので、これを実現するにはより良い方法が必要です。

答えて

1

私はあきらめて助けを叫んだ直後に解決策を見つけましたか?

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/719ede23-9f1a-43f5-8c4e-8188fea0b19f/sql-server-2012-importmodule-sqlps-breaks-the-testpath-powershell-cmdlet?forum=sqlsmoanddmo

解決方法1:

Test-Path -path "\\server\directoryname" 
Import-Module 'sqlps' –DisableNameChecking 
test-path -path Microsoft.PowerShell.Core\FileSystem::\\server\directoryname 

が解決策2:

Test-Path -path "\\server\directoryname" 
Import-Module 'sqlps' –DisableNameChecking 
C: 
Test-Path -path "\\server\directoryname" 

ジャストバックアップSQLDatabaseでコピー項目およびインポート・モジュールを使用したテスト・パスを交換し、解決策があります試合。

解決策1は、12個の追加文字を追加することを意味しています。

+0

この質問のように見えますが、同じ結論に達しました。FileSystemプロバイダに戻ってきたCDがおそらく最良の答えです: http://stackoverflow.com/questions/12915299/sql-server -2012-sqlps-module-current-location-automaticallyを自動的に変更する – jbsmith

関連する問題