我處於需要查找上次遷移後發生的數據庫更改的情況。如何查找自上次遷移後發生的SQL Server更改
例如:更改發生在存儲過程,以及視圖和函數。
如何找到這些更改。
我們沒有使用任何第三方工具。
請任何人都可以幫我解決這個問題。
在此先感謝。
Venkat
我處於需要查找上次遷移後發生的數據庫更改的情況。如何查找自上次遷移後發生的SQL Server更改
例如:更改發生在存儲過程,以及視圖和函數。
如何找到這些更改。
我們沒有使用任何第三方工具。
請任何人都可以幫我解決這個問題。
在此先感謝。
Venkat
試試這個:
SELECT
modify_date
,type_desc
,name
FROM sys.objects
WHERE is_ms_shipped=0
--AND modify_date>='yyyy/mm/dd' <--optionally put in your date here
ORDER BY 1 DESC
使用模式比較工具,如VSDB架構比較(見Compare and Synchronize Database Schemas)或紅門SQL Compare。
+1,因爲這是正確的做法,但他確實說*我們沒有使用任何第三方工具。*所以我不確定這是他正在尋找的答案。 – 2010-09-28 16:52:40
實際上,雖然他的意思是沒有第三方工具可能會修改模式,但現在我意識到您可能是對的。 – 2010-09-28 16:54:01
感謝您的回覆。這真的很有幫助。 – Anoop 2010-09-28 17:58:16
如果您的舊版本和新版本安裝在不同的SQL Server中,請轉到SQL Server Management Studio,右鍵單擊數據庫,然後從「任務」菜單中選擇「生成腳本」。選擇導出您感興趣的對象。
對它們進行操作並對它們進行區分。
你能告訴我什麼是is_ms_shipped? – Anoop 2010-09-28 16:49:43
'is_ms_shipped' ='對象由內部SQL Server組件創建。[sys.objects(Transact-SQL)](http://msdn.microsoft.com/en-us/library/ms190324.aspx) – 2010-09-28 16:50:43
There是很多不在'sys.objects'中的數據庫實體:數據庫主體,權限,文件和文件組,模式,服務,證書,類型,程序集等等。我認爲,儘管大多數*有趣的實體都在'sys.objects'中。 – 2010-09-28 16:51:39