Although the SNAPSHOT isolation level is controlled at the session level, it is permitted only when the ALLOW_SNAPSHOT_ISOLATION database option is turned on. Once the database option is turned on, additional overhead is incurred of additional storage space (14 bytes per row) plus increased space/usage in tempdb for the row version store. The overhead may be offset by the concurrency benefits of reduced locking/blocking/deadlocking, depending on your workload.
How will it impact others users and their work? I only want to protect my script and my updates, but not necessarily other sessions with read/update/write.
As I understand your other question, you run a SELECT query and then iterate over the results to update rows. Assuming your script is running in a SNAPSHSOT isolation level transaction and the other users are using default READ_COMMITTED (without RCSI), your SELECT query will return rows as they existed at the time the SELECT query started. The query will 1) not return rows inserted during SELECT query execution, 2) return the before value of rows updated during query execution, and return rows deleted during query execution.
If you attempt to UPDATE a row which has been modified or deleted by another session, you'll get the dreaded update conflict error below and you can simply rerun your script.
Snapshot isolation transaction aborted due to update conflict. You cannot use snapshot isolation to access table 'dbo.YourTable' directly or indirectly in database 'Example' to update, delete, or insert the row that has been modified or deleted by another transaction. Retry the transaction or change the isolation level for the update/delete statement.
Other READ_COMMITTED sessions that attempt to access a row modified by your transaction will block until your transaction commits because normal locking behavior applies. The impact to these other sessions will be insignificant if the blocking duration is short (i.e. your transactional script runs quickly). If it runs a long time and you've already optimized the query/indexes, you can mitigate impact to other sessions by processing in multiple smaller batches (e.g. a TOP clause in the select query) instead of one large transaction.