Cóż, istnieje wiele narzędzi innych firm, które obiecują tego typu „bezpieczną zmianę nazwy”, niektóre za darmo, a niektóre nie:
- ApexSQL ma bezpłatne narzędzie w tym celu, jak MWillemse napisał w swojej odpowiedzi,
- RedGate ma narzędzie komercyjne o nazwie SQLPrompt które również mają bezpieczną funkcję zmiany nazwy, jednak nie jest to wolne.
- Microsoft ma dodatek Visual Studio o nazwie Narzędzia danych SQL Server (lub SSDT w skróconej wersji), jako Dan Guzman napisał w swoim komentarzu.
Muszę powiedzieć, że nigdy nie próbowałem żadnego z tych konkretnych narzędzi do tego konkretnego zadania, ale mam pewne doświadczenie z SSDT i niektórymi produktami RedGate i uważam je za bardzo dobre narzędzia. Nie wiem nic o ApexSQL.
Inną opcją jest próba samodzielnego napisania skryptu sql, jednak przed rozpoczęciem należy wziąć pod uwagę kilka rzeczy:
- Czy można uzyskać dostęp do tabeli bezpośrednio spoza serwera sql? Chodzi mi o to, czy to możliwe, że jakieś oprogramowanie wykonuje polecenie sql bezpośrednio na tym stole? Jeśli tak, możesz go zepsuć, gdy zmienisz nazwę tej kolumny, a żadne narzędzie sql nie pomoże w tej sytuacji.
- Czy twoje umiejętności pisania skryptów sql są naprawdę tak dobre? Uważam, że jestem dość doświadczony z serwerem sql, ale myślę, że pisanie takiego skryptu przekracza moje umiejętności. Nie żeby było to dla mnie niemożliwe, ale prawdopodobnie zajmie to zbyt dużo czasu i wysiłku, żeby dostać coś, co mogę dostać za darmo.
Jeśli zdecydujesz się napisać to sam, jest kilka artykułów, które mogą Ci w tym pomóc:
Po pierwsze, oficjalna dokumentacja Microsoft sys.sql_expression_dependencies
.
Po drugie, artykuł zatytułowany Różne sposoby znajdowania zależności obiektów SQL Server
który jest napisany przez DBA z 13-letnim doświadczeniem, i wreszcie, powiązane pytanie
na stronie administratora bazy danych StackExchange.
Mógłbyś oczywiście pójść w bezpieczny sposób sugerowany przez Gordona Linoffa w swoim komentarzu lub użyć synonimów, takich jak dane docelowe sugerowane w jego odpowiedzi, ale wtedy będziesz musiał ręcznie zmodyfikować wszystkie zależności kolumn ręcznie i z tego, co rozumiem , tego właśnie chcesz uniknąć.