Вам не нужно ничего делать. Даже если типы столбцов таблицы изменены, они в представлениях не изменяются. Если вы хотите изменить типы столбцов в представлении, вы должны явно сделать это, удалив / воссоздав представление или используя sp_refreshview . Так что беспокоиться не о чем.
Вот код, демонстрирующий это:
DROP TABLE IF EXISTS [dbo].[StackOverflow];
CREATE TABLE [dbo].[StackOverflow]
(
[ColumnA] INT
,[ColumnB] NVARCHAR(25)
,[ColumnC] DATETIME2(0)
);
GO
DROP VIEW IF EXISTS [dbo].[vw_StackOverflow];
GO
CREATE VIEW [dbo].[vw_StackOverflow]
AS
SELECT [ColumnA]
,[ColumnB]
,[ColumnC]
FROM [dbo].[StackOverflow];
GO
SELECT C.[name]
,T.[name]
,C.[max_length]
,c.[precision]
,c.[scale]
FROM [sys].[columns] C
INNER JOIN [sys].[types] T
ON C.[system_type_id] = T.[system_type_id]
WHERE [object_id] = OBJECT_ID('[dbo].[vw_StackOverflow]');
GO
ALTER TABLE [dbo].[StackOverflow]
ALTER COLUMN [ColumnA] BIGINT;
ALTER TABLE [dbo].[StackOverflow]
ALTER COLUMN [ColumnB] NVARCHAR(12);
ALTER TABLE [dbo].[StackOverflow]
ALTER COLUMN [ColumnC] DATETIME2(7);
GO
SELECT C.[name]
,T.[name]
,C.[max_length]
,c.[precision]
,c.[scale]
FROM [sys].[columns] C
INNER JOIN [sys].[types] T
ON C.[system_type_id] = T.[system_type_id]
WHERE [object_id] = OBJECT_ID('[dbo].[vw_StackOverflow]');
GO
EXEC sp_refreshview N'[dbo].[vw_StackOverflow]';
GO
SELECT C.[name]
,T.[name]
,C.[max_length]
,c.[precision]
,c.[scale]
FROM [sys].[columns] C
INNER JOIN [sys].[types] T
ON C.[system_type_id] = T.[system_type_id]
WHERE [object_id] = OBJECT_ID('[dbo].[vw_StackOverflow]');
GO