No, existuje spousta nástrojů třetích stran, které slibují tento typ "bezpečného přejmenování", některé zdarma a některé ne:
- ApexSQL má bezplatný nástroj za to jako MWillemse napsal ve své odpovědi,
- RedGate má komerční nástroj s názvem SQLPrompt které mají také funkci bezpečného přejmenování, ale zdaleka to není zdarma.
- Microsoft má doplněk vizuálního studia s názvem Datové nástroje SQL Server (nebo SSDT v krátké verzi), jako Dan Guzman napsal ve svém komentáři.
Musím říci, že jsem nikdy nezkoušel žádný z těchto specifických nástrojů pro tento konkrétní úkol, ale mám určité zkušenosti s SSDT a některými produkty RedGate a považuji je za velmi dobré nástroje. Nevím nic o ApexSQL.
Další možností je pokusit se napsat skript SQL sami. Než však začnete, je třeba vzít v úvahu několik věcí:
- Je možné přistupovat k vaší tabulce přímo mimo server SQL? Myslím, je možné, že nějaký software provádí příkaz SQL přímo na této tabulce? Pokud ano, můžete jej při přejmenování sloupce přerušit a žádný nástroj SQL v této situaci nepomůže.
- Jsou vaše skriptovací schopnosti SQL opravdu tak dobré? Považuji se za poměrně zkušeného se serverem SQL, ale myslím, že napsat takový skript je nad mé schopnosti. Ne, že by to pro mě bylo nemožné, ale něco, co mohu získat zdarma, bude pravděpodobně vyžadovat příliš mnoho času a úsilí.
Pokud se rozhodnete jej napsat sami, existuje několik článků, které by vám v tomto úkolu mohly pomoci:
Nejprve oficiální dokumentace společnosti Microsoft pro sys.sql_expression_dependencies
.
Za druhé, článek s názvem Různé způsoby hledání závislostí objektů SQL Server
kterou napsal 13letý DBA a v neposlední řadě související otázka
na webu správce databáze StackExchange.
Můžete samozřejmě jít bezpečným způsobem, který navrhl Gordon Linoff ve svém komentáři, nebo použít synonyma jako cílová data navržená ve své odpovědi, ale pak budete muset ručně upravit všechny závislosti sloupců ručně, a jak jsem pochopil , tomu se chcete vyhnout.