我目前正在寫一個劇本TSQL在腳本的一部分刷新所有的數據庫中的意見。發現網上this例子後,我迭代通過集合,但清爽的意見(不是第一個)之一,當得到一個奇怪的問題。sp_refreshview拋出意外錯誤
在運行下面的查詢我得到的結果從sysobjects表背
SELECT * FROM sysobjects WHERE type = 'V' AND name = 'vwEnginesFinishBuiltToday'
然後運行刷新我得到一個異常回
exec sp_refreshview N'dbo.vwEnginesFinishBuiltToday'
現在奇怪的事情錯誤是告訴我一個不同名字的視圖無法找到。其真正的,它並沒有在這麼認爲dbo.vwEnginesFinishBuiltToday
使用另一種觀點數據庫中存在內部我看着視圖的TSQL。
SELECT COUNT(dbo.tblBatches.IdBatch) AS TotalEnginesFinishedToday
FROM dbo.tblBatches INNER JOIN
dbo.tblEngines ON dbo.tblBatches.IdBatch = dbo.tblEngines.idBatch
WHERE (YEAR(dbo.tblEngines.DateFinished) = YEAR(GETDATE())) AND (MONTH(dbo.tblEngines.DateFinished) = MONTH(GETDATE())) AND (DAY(dbo.tblEngines.DateFinished)
= DAY(GETDATE()))
嗯,沒有提到dbo.vwEnginesFinishedToday
在那裏。不,我正在努力尋找問題。
SQL Server中的sp_refreshsqlmodule_internal
方法存在問題還是缺少明顯的東西?
您以前是否使用['sp_rename'](http://msdn.microsoft.com/zh-cn/library/ms188351.aspx)更改了視圖的名稱? – 2013-03-21 12:59:57
怕它不是我的數據庫。我不知道以前的開發者改變了什麼。 – 2013-03-21 13:08:11