با سلام
این اسکریپت با داشتن اسکیما هم جواب میده
--اسکریپتی برای یک دست سازی ی و ک در تمامی رکوردهای تمامی جداول دیتابیس جاری
-- اسکریپت زیر ی و ک عربی را به فارسی تبدیل میکند
-- در صورت نیاز به حالت عکس ، جای مقادیر عددی یونیکد را تعویض نمائید
DECLARE @Schema NVARCHAR(MAX),
@Table NVARCHAR(MAX),
@Col NVARCHAR(MAX)
DECLARE Table_Cursor CURSOR
FOR
--پیدا کردن تمام فیلدهای متنی تمام جداول دیتابیس جاری
SELECT d.name, -- schema
a.name, --table
b.name --col
FROM sysobjects a, syscolumns b, sys.objects c, sys.schemas d
WHERE (a.id = b.id) AND (a.id = c.object_id) AND (c.type = 'U') AND (c.schema_id = d.schema_id)
AND a.xtype = 'u' --User table
AND (
b.xtype = 99 --ntext
OR b.xtype = 35 -- text
OR b.xtype = 231 --nvarchar
OR b.xtype = 167 --varchar
OR b.xtype = 175 --char
OR b.xtype = 239 --nchar
)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @Schema, @Table, @Col
WHILE (@@FETCH_STATUS = 0)
BEGIN
EXEC (
'update [' + @Schema + '].[' + @Table + '] set [' + @Col +
']= REPLACE(REPLACE(CAST([' + @Col +
'] as nvarchar(max)) , NCHAR(1610), NCHAR(1740)),NCHAR(1603),NCHAR(1705)) '
)
FETCH NEXT FROM Table_Cursor INTO @Schema, @Table, @Col
END CLOSE Table_Cursor DEALLOCATE Table_Cursor