T-SQL 스크립트를 사용한 데이터베이스 백업 - 변수 선언 및 설정 관련 문제

T-SQL 스크립트를 사용한 데이터베이스 백업 - 변수 선언 및 설정 관련 문제

아래 스크립트를 사용하여 데이터베이스를 백업할 수 없는 이유를 누군가 말해 줄 수 있습니까? 스크립트를 실행할 수 있지만 백업이 생성되지 않았습니다.
저는 SQL Server 2008을 사용하고 있습니다.

DECLARE @pathName NVARCHAR(512)
SET @pathName = 'C:\Backup\MyBackup.bak'

...

EXEC sp_add_jobstep
...
@command = 'BACKUP DATABASE MyBackup TO DISK = @pathName WITH INIT',
...

답변1

봤어?http://msdn.microsoft.com/en-us/library/ms187358%28v=sql.100%29.aspx?

SQL Server 에이전트 작업에 로컬 변수를 삽입하려는 것 같습니다.

이 섹션을 기반으로:

[ @command= ] '명령'

The commands to be executed by SQLServerAgent service through subsystem. 

명령은 nvarchar(max)이며 기본값은 NULL입니다. SQL Server 에이전트는 소프트웨어 프로그램을 작성할 때 변수가 제공하는 것과 동일한 유연성을 제공하는 토큰 대체를 제공합니다.

지역 변수 대신 토큰을 사용해 볼 수도 있습니다. 이 문서는 여러분에게 좋은 출발점이 될 수 있습니다. http://msdn.microsoft.com/en-us/library/ms175575%28v=sql.100%29.aspx

지적했듯이 솔루션은 다음과 같습니다.같은 것:

@command = 'BACKUP DATABASE MyBackup TO DISK = $(ESCAPE_SQUOTE (@pathName)) WITH INIT'

관련 정보