1
我有一個很長的SQL腳本,我想運行一個服務器上的每個數據庫。什麼是最好的方式來做到這一點?爲每個數據庫運行長SQL腳本
我發現這個在我的研究:
EXEC sp_msforeachdb "
IF '?' IN ('lib1','lib2','lib3')
BEGIN
use ?;
exec 'my_sp_long_sql_script'
END
"
我嘗試過,但它需要我在創建每個庫,哪種擊敗循環的目的SP。或者我該如何自動爲每個庫創建一個sp?
我想要做的就是爲我的每個數據庫運行我的long_sql_script。
您正在運行腳本(.sql文件)還是執行存儲過程?類似的問題已經被問過[很多次](http://stackoverflow.com/search?q=sql+server+script+multiple+databases);我個人會寫一個小的外部批處理文件或腳本來執行此操作([SQLCMD scripting variables](http://msdn.microsoft.com/en-us/library/ms188714(v = sql.100).aspx))有用)。如果這是一個部署問題,那麼你可能更喜歡在你的構建/部署過程中構建一些東西。 – Pondlife 2013-03-13 16:27:28