может быть, эта работа:
Declare @TableName As nvarchar(250)
,@ColumnName As nvarchar(250)
,@TypeName As nvarchar(250)
Declare Cr Cursor for
Select Top 10 obj.name As TableName ,clm.name As ColumnName ,typ.name As TypeName
from sys.Columns As clm
inner join sys.Objects As obj On obj.object_Id = clm.object_id
inner join sys.types As typ On typ.system_type_id = clm.system_type_id
where obj.type = N'U'
And typ.system_type_id in (52 ,127 ,167)
open Cr
fetch next from Cr into @TableName ,@ColumnName , @TypeName
while(@@fetch_status = 0)
begin
Declare @StrSQL nvarchar(max)
Set @StrSQL = N' Alter Table ' + @TableName + N' Alter Column ' + @ColumnName + N' ' + @TypeName
Print @StrSQL
fetch next from Cr into @TableName ,@ColumnName , @TypeName
End
Close CR
Deallocate CR