из комментария Джейкоба H
Создайте таблицу #temp в вашем sproc и вставьте результаты из ваших отдельных операторов. Затем запросите временную таблицу одним запросом. Вы возвращаете более 3 различных наборов данных из процедуры, и она работает точно так, как ожидалось.
Я создал временную таблицу, и в разных частях моей процедуры вместо выбора я вставляю данныево временную таблицу.
В конце моей процедуры я выдаю выбор из временной таблицы. Это показано в приведенном ниже коде.
SET NOCOUNT ON
IF OBJECT_ID('tempdb.dbo.#radhe_sp_getRestoreScripts') IS NOT NULL
DROP TABLE #radhe_sp_getRestoreScripts
CREATE TABLE #radhe_sp_getRestoreScripts(
[Event] CHAR(108) NULL,
[backup_set_id] INT NULL,
[MediaSetID] INT NULL,
[backup_start_date] DATETIME NULL,
[backup_finish_date] DATETIME NULL,
[Backup Type] CHAR(1) NULL)
INSERT INTO #radhe_sp_getRestoreScripts(
[Event] ,
[backup_set_id] ,
[MediaSetID] ,
[backup_start_date] ,
[backup_finish_date] ,
[Backup Type] )
SELECT
[Event] = CAST('Get the latest FULL backup' AS CHAR(108)),
[backup_set_id] = b.backup_set_id,
[MediaSetID] = b.media_set_id,
backup_start_date = b.backup_start_date,
backup_finish_date = b.backup_finish_date,
[Backup Type] = b.type
FROM
msdb.dbo.backupset b
WHERE
backup_set_id = 238456
INSERT INTO #radhe_sp_getRestoreScripts(
[Event] ,
[backup_set_id] ,
[MediaSetID] ,
[backup_start_date] ,
[backup_finish_date] ,
[Backup Type] )
SELECT
[Event] = CAST('Get the latest DIFFERENTIAL backup if any' AS CHAR(108)),
[backup_set_id] = b.backup_set_id,
[MediaSetID] = b.media_set_id,
backup_start_date = b.backup_start_date,
backup_finish_date = b.backup_finish_date,
[Backup Type] = b.type
FROM
msdb.dbo.backupset b
WHERE
backup_set_id = 238474
INSERT INTO #radhe_sp_getRestoreScripts(
[Event] ,
[backup_set_id] ,
[MediaSetID] ,
[backup_start_date] ,
[backup_finish_date] ,
[Backup Type] )
SELECT
[Event] = CAST('Get the LOG backup(s) if any' AS CHAR(108)),
[backup_set_id] = b.backup_set_id,
[MediaSetID] = b.media_set_id,
backup_start_date = b.backup_start_date,
backup_finish_date = b.backup_finish_date,
[Backup Type] = b.type
FROM
msdb.dbo.backupset b
WHERE
backup_set_id = 239558
SELECT
[Event] ,
[backup_set_id] ,
[MediaSetID] ,
[backup_start_date] ,
[backup_finish_date] ,
[Backup Type]
FROM #radhe_sp_getRestoreScripts
, и это набор результатов (очень хорошо отображается):