I answered it myself. Here is a script that will create a job on your database server. Here are some assumptions:
1. You have already run the SnapManager Configuration Wizard to configure SnapManager
2. You have altered script to use your <domainname>\<yourlogin> in line 26 of the script below
3. You have altered script to use your specific location of the SmsqlJobLauncher.exe file
4. You have modified the script to retain backups and log backups as you deem appropriate. They are set to 2 and 2 in this script. See line 70
5. You have modified the script to log to the location you deem appropriate. See line 86
6. You can create multiple scripts by modifying the name and items in step 4, as well as changing the value 'standard' to 'daily', or 'weekly'
Good Luck
USE
[msdb]
GO
/****** Object: Job [_DBA_SMSQL_BACKUP_HOURLY] Script Date: 12/10/2010 11:29:14 ******/
BEGIN
TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 12/10/2010 11:29:14 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'_DBA_SMSQL_BACKUP_HOURLY',
@enabled =1,
@notify_level_eventlog =2,
@notify_level_email =0,
@notify_level_netsend =0,
@notify_level_page =0,
@delete_level =0,
@description =N'job creates a backup statement using SnapManager syntax, and iteratively attaches database names to the statement as needed. Excludes all system databases.',
@category_name =N'[Uncategorized (Local)]',
@owner_login_name =N'<yourdomain>\<yourlogin>', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [SnapManager for SQL Server Backup Step] Script Date: 12/10/2010 11:29:14 ******/
EXEC
@ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'SnapManager for SQL Server Backup Step',
@step_id =1,
@cmdexec_success_code =0,
@on_success_action =1,
@on_success_step_id =0,
@on_fail_action =2,
@on_fail_step_id =0,
@retry_attempts =0,
@retry_interval =0,
@os_run_priority =0, @subsystem=N'TSQL',
@command =N'
SET NOCOUNT ON
DECLARE @FileName varchar(255)
DECLARE @File_Exists int
DECLARE @DBCount int
DECLARE @DBCounter int
DECLARE @DBName varchar(50)
SELECT @DBCount = count(*) from master.dbo.sysdatabases
WHERE name NOT IN (''master'',''msdb'',''model'',''tempdb'')
AND CONVERT(sysname,databasepropertyex(name,''status'')) =''ONLINE''
AND CONVERT(sysname,databasepropertyex(name,''updateability'')) =''READ_WRITE''
--PRINT @DBCount
SELECT @FileName = ''C:\Program Files\NetApp\SnapManager for SQL Server\SmsqlJobLauncher.exe''
EXEC master.dbo.xp_fileexist @FileName, @File_Exists OUT
IF @File_Exists = 1
BEGIN
SET @DBCounter = 1
DECLARE @BackupCmd varchar(500)
SET @BackupCmd = ''C:\"Program Files\NetApp\SnapManager for SQL Server\SmsqlJobLauncher.exe" new-backup svr '''''' + @@SERVERNAME + '''''' -d '''''' + @@SERVERNAME + '''''', '''''' + cast(@DBCount as varchar(3)) + '''''',''
DECLARE strategy_cursor CURSOR FOR
SELECT name from master.dbo.sysdatabases
WHERE name NOT IN (''master'',''msdb'',''model'',''tempdb'')
AND CONVERT(sysname,databasepropertyex(name,''status'')) =''ONLINE''
AND CONVERT(sysname,databasepropertyex(name,''updateability'')) =''READ_WRITE''
ORDER BY name
OPEN strategy_cursor
FETCH NEXT FROM strategy_cursor INTO @DBName
WHILE @@FETCH_STATUS = 0
BEGIN
IF @DBCounter < @DBCount SET @BackupCmd = @BackupCmd + '''''''' + @DBName + '''''',''
IF @DBCounter = @DBCount SET @BackupCmd = @BackupCmd + '''''''' + @DBName + '''''' -RetainBackupDays 2 -lb -bksif -RetainSnapofSnapInfoDays 2 -trlog mgmt standard''
SET @DBCounter = @DBCounter + 1
--PRINT @BackupCmd
--PRINT @DBCounter
FETCH NEXT FROM strategy_cursor INTO @DBName
END
CLOSE strategy_cursor
DEALLOCATE strategy_cursor
END
--PRINT @BackupCmd
DECLARE @rc int
EXEC @rc = master.dbo.xp_cmdshell @BackupCmd',
@database_name =N'master',
@output_file_name =N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\NETAppBackup.log',
@flags =0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO