• Yes, you CAN create a uniquely named table in each run of your SSIS package. You could simply build a create table DDL statement using variables, part of which would be the current date, time or whatever, and run it in an Exec SQL task.

    But that doesn't mean you SHOULD do that. As suggested, the date and time could be part of the row definition so you could limit the domain of queries with a simple where clause.

    Why not create new tables? A few reasons might be:

    -- Variable table names would require any application using the data to build queries dynamically just to find the table name(s). Say you run daily and create a table for each day. What happens when you want to summarize data for a number of days?

    -- The overhead of creating tables and indexes (you do want indexes, right?) isn't necessarily enormous, but if not necessary you'll want to avoid it.

    -- It could be that in the future, someone will want to define a constraint based on this table (a foreign key....), but then they'll see that it's not a table at all but an ephemeral family of tables. Each new table would then require its own FK definition in the dependant table.