How to dynamically add new columns to report created with Reporting Services?

http://dobrzanski.net/2009/02/06/how-to-dynamically-add-new-columns-to-report-created-with-reporting-services/

Bulk Report Generation using SSIS and SSRS 2008 R2

http://msdn.microsoft.com/en-us/library/ff793463.aspx

TSQL Script to Create dynamic indexs on foreign key into tables available in the database or schema

—————————–Script start————————————————————-

Create Procedure Usp_CreateDynamicIndex_On_ForeignKey (@SchemaName VARCHAR(20))

AS

Begin

SET  NOCOUNT,ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT,CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;

 Declare @Loop_count int,
  @Loop_start int,
  @StrSql nvarchar(2000),
  @IndexName Varchar(200),
  @tableName Varchar(100),
  @ColumnName Varchar(100)

  
  Declare @ForeignKeyDetails as table ( SeqNo int,CONSTRAINT_NAME Varchar(200),TABLE_SCHEMA  Varchar(200),
          TABLE_NAME Varchar(200),COLUMN_NAME Varchar(200),
          REFERENCED_TABLE_NAME Varchar(200),REFERENCED_COLUMN_NAME Varchar(200)
         )
 Begin Try

  INSERT INTO @ForeignKeyDetails

  SELECT
  ROW_NUMBER()over (order by f.parent_object_id) AS SeqNo,
  f.name AS CONSTRAINT_NAME,
  SCHEMA_NAME(f.SCHEMA_ID)AS TABLE_SCHEMA,
  OBJECT_NAME(f.parent_object_id) AS TABLE_NAME,
  COL_NAME(fc.parent_object_id,fc.parent_column_id) AS COLUMN_NAME,
  OBJECT_NAME (f.referenced_object_id) AS REFERENCED_TABLE_NAME,
  COL_NAME(fc.referenced_object_id,fc.referenced_column_id) AS REFERENCED_TABLE_NAME
  FROM sys.foreign_keys AS f
  INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id
  INNER JOIN sys.objects AS o ON o.OBJECT_ID = fc.referenced_object_id
  LEFT JOIN sys.index_columns ic on fc.parent_object_id = ic.object_id and ic.column_id = fc.parent_column_id
  Where  ic.index_id IS NULL
  AND SCHEMA_NAME(f.SCHEMA_ID) = @SchemaName
  
  Select @Loop_count = Count(*) From @ForeignKeyDetails
  Set @Loop_start = 1

  While (@Loop_start < = @Loop_count)
  Begin
   Select @IndexName = ‘IX_Dynamic_’+ COLUMN_NAME,
     @tableName = TABLE_NAME,
     @ColumnName = COLUMN_NAME
   From @ForeignKeyDetails Where SeqNo = @Loop_start
   
   Set @StrSql = ‘CREATE NONCLUSTERED INDEX ‘ + @IndexName + ‘ ON [‘+ @SchemaName + ‘].[‘ + @tableName + ‘]([‘+ @ColumnName + ‘] ASC)’
   
   –Print @strSql
   
   Exec sp_Executesql
   @statement =  @StrSql
   
   Set @Loop_start = @Loop_start + 1
  End 
 
 End Try
 Begin Catch
 
 Select ERROR_MESSAGE()
 
 End Catch

SET NOCOUNT OFF

End

————————————-Script end here ——————————————————————-