Переименовать инструмент для SQL Server
У меня есть база данных, в которой было задействовано 15 лет крути, набитых ею несколькими командами и людьми на нескольких языках. Я хочу переименовать таблицы / столбцы / ограничения для соответствия некоторому типу стандарта.
Проблема в том, что столбец может ссылаться на тонну хранимых procs, и нет никакого способа найти другое, кроме поиска каждого sproc с помощью инструмента, такого как SQL Digger. Проблема в том, что я хочу переименовать огромное количество сущностей и делать это вручную для каждого звука.
Я искал инструмент, который помогает в рефакторинге имен и не может ничего найти. Некоторые инструменты [здесь] смутно заявляют об этом, но на самом деле (я не смотрел на все перечисленные, чтобы быть справедливыми).
- SQL Server реорганизует столбец из varchar (50) в uniqueidentifier и окружающие проблемы
- Создание файла mdf из sql-скрипта
- Есть ли инструмент для рефакторинга SQL, немного похожий на ReSharper для SQL
- Проверка объектов программируемости T-SQL
- Есть ли инструмент рефакторинга для базы данных SQL Server
Кто-нибудь имел опыт работы с таким инструментом?
Я использовал проекты баз данных (в Visual Studio 2010) для рефакторинга в прошлом с большим успехом. В проектах с базами данных определенно есть несколько причуд, но вы ничего не можете обойти.
Более подробную информацию вы можете найти здесь: http://msdn.microsoft.com/en-us/library/dd193420
Я использую ApexSQL Refactor в течение некоторого времени. Это бесплатный инструмент, и до сих пор он работает очень хорошо.
В их центре решений есть статья «Как изменить имя объекта, не разбирая базу данных SQL» .
Я заметил объявление новой версии (2013), однако я не уверен, останется ли он свободным или нет.
Будьте внимательны при обновлении объектов с использованием любого из упомянутых выше инструментов, поскольку они ищут только ссылки в вашей базе данных. Важно иметь в виду код, который у вас есть на уровнях доступа к данным ваших приложений.
Еще один инструмент, который вы, возможно, захотите проверить, – ApexSQL Clean . Он может найти все неиспользуемые объекты базы данных, визуально показывать все ссылки, но также ищет .NET-решения и находит там ссылки.
Опять же, учитывая, что вашей базе данных 15 лет, вы, вероятно, имеете код в разных устаревших приложениях, а не только в .NET. Во всяком случае, удачи. Надеюсь, все это сделано сейчас 🙂
Я не использовал это, но использовал другие инструменты Sql Server, и они сделали то, что они требовали.
http://www.red-gate.com/products/sql-development/sql-prompt/
Несколько вариантов:
Инструменты данных SQL Server ( обзор здесь )
Red-Gate SQL Refactor (ну, теперь часть SQL-запроса )
Обратите внимание, что эти инструменты могут быть достаточно умны, чтобы находить ссылки, которые отображаются через прямую ссылку или через соответствующие зависимости. Если вы построите имя таблицы или столбца с помощью динамического SQL, вам не повезло.
Я также рассказал о том, как сохранить sysdepends в актуальном состоянии несколько лет назад, однако я не уверен, насколько это полезно для столбцов: