Here is a function that loops through all your posts and checks if the post_name is equal to your post_meta_value. If not it updates the post_name to whatever the post_meta value is.
function wpse_get_update_posts() {
$posts = get_posts( array( 'posts_per_page' => -1 ) );
foreach ( $posts as $post ) {
if ( $post->post_name == get_post_meta( $post->ID, '_your_meta_key', true ) )
continue;
$my_post = array();
$my_post['ID'] = (int) $post->ID;
$my_post['post_name'] = get_post_meta( $post->ID, '_your_meta_key', true);
wp_update_post( $my_post );
}
}
You probably only want to run this function one time so add it to a plugin activation hook or call in a place that you can load WordPress once then delete it.