Jeg har en SP som refresher og recompiler alle views. Problemet er at
den fejler ved de views, som indeholder data fra en linked server.
Er der en måde hvorpå jeg enten kan springe disse over (automatisk),
eller - i bedste fald - få dem med i kørslen uden fejl?
Min SP ser sådan ud:
CREATE PROCEDURE dbo.RefreshAll AS
DECLARE @refresh_name VARCHAR(100)
DECLARE @refresh_type VARCHAR(2)
DECLARE refresh_cursor CURSOR FOR
SELECT [name], type FROM sysobjects WHERE (type='V' OR
type='P') AND uid=1 AND category=0
OPEN refresh_cursor
FETCH NEXT FROM refresh_cursor INTO @refresh_name, @refresh_type
WHILE @@FETCH_STATUS = 0
BEGIN
IF @refresh_type = 'V'
BEGIN
EXEC sp_refreshview @refresh_name
PRINT 'Object ''' + @refresh_name + ''' was
successfully refreshed.'
END
ELSE
BEGIN
EXEC sp_recompile @refresh_name
END
FETCH NEXT FROM refresh_cursor INTO @refresh_name,
@refresh_type
END
CLOSE refresh_cursor
DEALLOCATE refresh_cursor
GO
Lidt af samme problem har jeg i øvrigt med replikering af views, som
indeholder data fra linked server.
What to do?
mvh /Snedker
---
http://dbconsult.dk
Email: mortenatdbconsultdotdk