Microsoft SQL Server

Microsoft SQL Server: Удалить MS_Description для всех колонок таблиц

Потребовалось мигрировать с PostgreSQL в Microsoft SQL Server. И я, доверчивая душа, воспользовалась программой ESF Migration tool kit. Полную версию покупать не стала — мне же на один раз только надо. А эта чудо-программа добавила в описании ко всем полям всех таблиц описание «TRIAL». Не смертельно, но и неприятно. К тому же все триггеры и функции все равно пришлось самостоятельно писать. Так вот. Программисты — люди ленивые, поэтому написала процедуру, которая сама уберет все описания к полям. Использует она системную процедуру sp_dropextendedproperty:

[pastacode lang=»sql» manual=»declare%20%40table%20nvarchar(100)%2C%20%40column%20nvarchar(100)%3B%0Adeclare%20cur%20cursor%20local%20scroll%0Afor%20select%20A.table_name%2C%20A.column_name%0Afrom%20information_schema.columns%20A%0Ainner%20join%20information_schema.tables%20B%20%0Aon(A.table_name%20%3D%20B.table_name)%0Awhere%20A.table_schema%20%3D%20’dbo’%20and%20%0AA.table_catalog%20%3D%20’database_name’%20and%20%0A—%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D0%B4%D0%BB%D1%8F%20%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%2C%20%D0%BD%D0%B5%20%D1%82%D1%80%D0%BE%D0%B3%D0%B0%D1%8F%20%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%0AB.table_type%3D’base%20table’%3B%0A%0Aopen%20cur%3B%0Afetch%20first%20from%20cur%20into%20%40table%2C%20%40column%3B%0Awhile(%40%40fetch_status%20%3D%200)%20begin%0A%09EXEC%20sp_dropextendedproperty%20’MS_Description’%2C%20%0A%09%09N’schema’%2C%20N’dbo’%2C%20N’table’%2C%20%40table%2C%20%0A%09%09N’column’%2C%20%40column%3B%0A%20%20%20%20fetch%20next%20from%20cur%20into%20%40table%2C%20%40column%3B%0A%20%20%20%20end%3B%0Aclose%20cur%3B%0Adeallocate%20cur%3B%0AEND» message=»Курсор для удаления описания к полям таблиц» highlight=»15″ provider=»manual»/]

Пример, приведенный на странице форума MSDN, почему-то не сработал — все описания остались на прежних местах.