Если я предполагаю, что у вас есть все базы данных в одной структуре, и каждый раз, когда вы запускаете скрипт для обновления чего-либо, скрипт в основном один и тот же, и вы просто запускаете этот же скрипт по одному для каждого клиента.
Если приведенный выше случай верен, вы можете использовать CURSOR для создания цикла между всеми вашими базами данных и выполнения необходимого сценария для ваших целей.
Примечание: Это не решение, просто идея.
--The first step will be creating a Table variable
--where you will INSERT all your database names
--for a further loop as below-
DECLARE @DbName VARCHAR(200)
DECLARE @DatabaseList TABLE (DbName VARCHAR(200))
INSERT INTO @DatabaseList (DbName) VALUES('db_name_1')
INSERT INTO @DatabaseList (DbName) VALUES('db_name_2')
--.......................
INSERT INTO @DatabaseList (DbName) VALUES('db_name_50')
--Now you can use CURSOR to generate the loop
--and execute your required script as shown below
DECLARE db_cursor CURSOR FOR
SELECT DbName FROM @DatabaseList
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @DbName
WHILE @@FETCH_STATUS = 0
BEGIN
--HERE You need to write your script That you
--Execute for all your database. I have added
--a sample script where I guess you updating
--certain tables in your all database WHERE ID = 1
-- You can see the Database Name inserted in the
-- Script Dynamically from the Loop
EXEC ('UPDATE '+@DbName+'.dbo.<Your_table_Name_Here>
WHERE ID=1')
--END OF Dynamic Part
FETCH NEXT FROM db_cursor INTO @DbName
END
CLOSE db_cursor
DEALLOCATE db_cursor