I've had luck dynamically creating sidebars using a foreach loop. You'd do something like this (untested) in your functions.php file:
$my_terms = get_terms( 'my_taxonomy_name' );
if( ! is_wp_error( $my_terms ) ) {
foreach( $my_terms as $term ) {
register_sidebar(
'name' => $term->name . ' Archive Sidebar',
'id' => 'archive_sidebar_' . $term->term_id
);
}
}
Then, in your taxonomy-my_taxonomy_name.php template file, you'd use something like this (untested) to get your sidebar (some code borrowed from this answer):
<?php
$term_slug = get_query_var( 'term' );
$taxonomy_name = get_query_var( 'taxonomy' );
$current_term = get_term_by( 'slug', $term_slug, $taxonomy_name );
dynamic_sidebar( 'archive_sidebar_' . $current_term->term_id );
?>
Now, having said all that, I question whether this is a good idea. Assuming that generating 1000 sidebars doesn't have a negative performance affect on WordPress (which is a BIG assumption), the UI for the backend user would be terrible. I can't imagine finding the sidebar I actually wanted to use.
While it would be confusing still, I'd encourage you to use Widget Logic or, if you have non-code-savvy users, Widget Logic Visual.
Alternately, drop the whole idea of widgets sidebars and accomplish whatever you need by just using get_query_var()
to figure out which term archive you're on in the template and then execute some context-aware code in the template file.