나는 모든 인터넷 및 stackOF를 검색하여이 문제를 해결했습니다. SQL Server Agent를 사용하여 db 복원을 자동화하려고합니다. SQL Server 에이전트 작업은 4 단계 중 3 단계로 구성되며, 그 중 3 단계는 tsql이고 나머지 하나는 powershell 스크립트입니다.경로를 찾을 수 없음 SQL Server 에이전트에서 Powershell 스크립트
스크립트를 관리자 권한으로 실행할 수 있도록 관리자 자격 증명으로 프록시를 만들었습니다.
cd c:;
$backuppath="Microsoft.PowerShell.Core\FileSystem::\\sharedcomputer\backup";
$destpath="c:\tmp\";
get-childitem -path $backuppath | where-object { -not $_.PSIsContainer } |
sort-object -Property $_.CreationTime |
select-object -last 1 | copy-item -Destination (join-path $destpath "byte.BAK");
소스 공유 폴더에서 .bak 파일을 복사하여 대상의 tmp 폴더에 넣습니다. 일반 Powershell을 통해이를 실행할 때마다 정상적으로 작동합니다. SQL 서버 에이전트에서 실행하려고 할 때마다 경로를 찾을 수 없다는 오류가 발생합니다.
나는 net use를 사용하여 공유 폴더에 대한 자격 증명을 전달하려고했습니다. 나는 폴더에 자격 증명 요구 사항이 있다는 사실과 관련이 있다고 생각합니다.
원본 서버에서도 암호 파일 공유를 사용하고 있지만 Windows 탐색기를 사용하여 공유 파일을 찾을 때 어떤 이유로 초기에 자격 증명을 묻습니다. 저장하고 캐시하면 PowerShell을 사용하여 해당 폴더로 CD를 넣을 수 있습니다. 그러나이 작업은 SQL Server 에이전트에서 실행될 때 전혀 작동하지 않습니다.
같은 문제가 있습니다 .... 두 서버 사이를 요새 뛰어 성공적으로 파일을 전송할 수 있었다. 이것은 대중적인 질문으로 보이지 않습니다. : | – Ben