• Sounds promising but I seem to be missing something. I have scripts I need to run on all user databases. I've tried using sp_MSforeachDB with "Use DB_ID('?')" and dynamic sql. But since some of my scripts have nested sql statements, it's been a nightmare. I've found a few good articles on dynamic sql and I'm somewhat successful.

    So then I found this article on SQLCMD mode using variables. It's promising. However, I can run a procedure on one database just fine. The err.out file works great.

    However, Does anyone know how to use this to run one or more scripts against many databases on the same server?

    This is what I am using for one DB:

    ***********************

    :setvar SQLInstance "DV-FS49"

    :setvar ScriptDirectory "\\FP49\Database\Scripts\Upgrade to 2005\Preparation scripts\"

    :error $(ScriptDirectory)Script.err

    :out $(ScriptDirectory)Script.out

    :connect $(SQLInstance)

    :setvar DB "BarCodes"

    USE $(DB)

    :r $(ScriptDirectory)CreateFunctionGetObjectDefinition.sql

    ***********************

    Thanks