2011年1月13日 星期四

sp_MSforeachdb and sp_MsForEachTable

看到MSSQLTips 上這篇文章,

Making a more reliable and flexible sp_MSforeachdb

測試了一下發現挺實用,可以自由發揮

--instance中所有DB
exec sys.sp_MSforeachdb 'select ''?'' ' 


--instance中所有DB空間使用狀況
exec sys.sp_MSforeachdb'use ?; exec sp_spaceused'


--instance中所有DB訊息
exec master.sys.sp_MSforeachdb'use ?; exec sp_helpdb ? '

--目前DB中所有table訊息(含資料結構)
exec sys.sp_MsForEachTable 'sp_help ''?'' '


--目前DB中所有table筆數
exec sys.sp_MsForEachTable 'select ''?'', count(*) from ? '


其中傳入的變數 ?是否要當字串或欄位或物件,就依平常我們直接select 時的想法去想就可以明白了
要當字串,則前後加單引號, 要當物件則直接使用? 或[?] 都可以

沒有留言:

張貼留言

windows中的symbol link mklink /J

  C:\Windows\system32>mklink /? 建立符號連結。 MKLINK [[/D] | [/H] | [/J]] Link Targe         /D      建立目錄符號連結。預設是檔案符號連結。         /H      建立永久連結...