Many a times I need to run the same SQL statement (like DBCC statements or sp_UpdateStats) on all databases of the server. Instead of having to write code manually for all databases, i use this script that does the work for me...
** Please change value for @SQL to desired SQL code.
----- EXECUTE SQL Statement on all Databases
DECLARE
@DatabaseName nvarchar(100)
, @SQL nvarchar(500)
DECLARE DBNameCursor CURSOR FOR
SELECT
[Name] AS DatabaseName
FROM
master.dbo.sysdatabases
ORDER BY
DatabaseName
OPEN DBNameCursor
FETCH NEXT FROM DBNameCursor
INTO @DatabaseName
WHILE @@FETCH_STATUS = 0
BEGIN
----- SQL Statement to be run
--EXEC dbo.sp_UpdateSats
SELECT
@SQL = 'EXEC dbo.sp_updatestats '
--EXEC sp_executeSQL @SQL
EXEC sp_executeSQL @SQL
FETCH NEXT FROM DBNameCursor
INTO @DatabaseName
END
CLOSE DBNameCursor
DEALLOCATE DBNameCursor
Tuesday, February 13, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment