Stored Procedures [dbo].[CreateRdlChunk]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@ItemIduniqueidentifier16
@SnapshotIduniqueidentifier16
@IsPermanentSnapshotbit1
@ChunkNamenvarchar(260)520
@ChunkFlagstinyint1
@ChunkTypeint4
@Versionsmallint2
@MimeTypenvarchar(260)520
SQL Script
CREATE PROCEDURE [dbo].[CreateRdlChunk]
    @ItemId UNIQUEIDENTIFIER,
    @SnapshotId UNIQUEIDENTIFIER,
    @IsPermanentSnapshot BIT,
    @ChunkName NVARCHAR(260),
    @ChunkFlags TINYINT,
    @ChunkType INT,
    @Version SMALLINT,
    @MimeType NVARCHAR(260) = NULL
AS
BEGIN
IF @IsPermanentSnapshot != 0 BEGIN
    INSERT INTO [ChunkData] (
        ChunkId, SnapshotDataId, ChunkFlags, ChunkName,
        ChunkType, Version, MimeType, Content )
    SELECT
        NEWID(), @SnapshotId, @ChunkFlags, @ChunkName,
        @ChunkType, @Version, @MimeType, ISNULL(Linked.Content, Original.Content)
    FROM [Catalog] Original
    LEFT OUTER JOIN [Catalog] Linked WITH (INDEX(PK_Catalog)) ON (Original.LinkSourceId = Linked.ItemId)
    WHERE    Original.ItemId = @ItemId AND
            NOT EXISTS (
            SELECT *
            FROM [ChunkData]
            WHERE    SnapshotDataId = @SnapshotId AND
                    ChunkName = @ChunkName AND
                    ChunkType = @ChunkType )
END    
ELSE BEGIN
    INSERT INTO [ReportServerTempdb].[dbo].[ChunkData] (
        ChunkId, SnapshotDataId, ChunkFlags, ChunkName,
        ChunkType, Version, MimeType, Content )
    SELECT
        NEWID(), @SnapshotId, @ChunkFlags, @ChunkName,
        @ChunkType, @Version, @MimeType, ISNULL(Linked.Content, Original.Content)
    FROM [Catalog] Original
    LEFT OUTER JOIN [Catalog] Linked WITH (INDEX(PK_Catalog)) ON (Original.LinkSourceId = Linked.ItemId)
    WHERE    Original.ItemId = @ItemId AND
            NOT EXISTS (
            SELECT *
            FROM [ReportServerTempdb].[dbo].[ChunkData]
            WHERE    SnapshotDataId = @SnapshotId AND
                    ChunkName = @ChunkName AND
                    ChunkType = @ChunkType )
END
END
GRANT EXECUTE ON [dbo].[CreateRdlChunk] TO RSExecRole

GO
Uses