Vâng, có một loạt các công cụ của bên thứ 3 được hứa hẹn kiểu này "đổi tên an toàn", một số miễn phí và một số thì không:
- ApexSQL có free tool cho rằng, như MWillemse viết trong câu trả lời của mình,
- RedGate có một công cụ thương mại được gọi là SQLPrompt cũng có một cách đặt tên lại an toàn, Tuy nhiên, nó không còn miễn phí nữa.
- Microsoft có bổ trợ studio trực quan được gọi là SQL Server Data Tools (hoặc SSDT trong phiên bản ngắn), như Dan Guzman đã viết trong nhận xét của mình.
Tôi phải nói rằng tôi chưa bao giờ thử bất kỳ công cụ cụ thể nào cho công việc cụ thể đó, nhưng tôi có một số kinh nghiệm với SSDT và một số sản phẩm của RedGate và tôi coi chúng là những công cụ rất tốt. Tôi không biết gì về ApexSQL.
lựa chọn khác là để thử và viết kịch bản sql mình, Tuy nhiên có một vài điều cần xem xét trước khi bạn bắt đầu:
- bảng của bạn có thể được truy cập trực tiếp từ bên ngoài máy chủ sql? Tôi có nghĩa là, có thể là một số phần mềm đang thực hiện câu lệnh sql trực tiếp trên bảng đó? Nếu vậy, bạn có thể phá vỡ nó khi bạn đổi tên cột đó, và không có công cụ sql nào sẽ giúp đỡ trong tình huống này.
- Kỹ năng viết kịch bản sql của bạn có thực sự tốt không? Tôi coi bản thân mình là khá kinh nghiệm với máy chủ sql, nhưng tôi nghĩ rằng viết một kịch bản như thế là vượt ra ngoài các kỹ năng của tôi. Không phải điều đó là không thể đối với tôi, nhưng có lẽ sẽ mất quá nhiều thời gian và công sức cho một thứ mà tôi có thể nhận được miễn phí.
Nếu bạn quyết định viết nó cho mình, có một vài điều mà có thể giúp bạn trong nhiệm vụ đó:
Thứ nhất, tài liệu Microsoft chính thức của sys.sql_expression_dependencies.
Thứ hai, một bài viết có tên là Different Ways to Find SQL Server Object Dependencies được viết bởi 13 năm kinh nghiệm DBA, và cuối cùng nhưng không kém phần quan trọng, a related question trên trang web của Quản trị viên cơ sở dữ liệu StackExchange. Bạn có thể, tất nhiên, đi theo cách an toàn mà Gordon Linoff đề xuất trong bình luận của mình, hoặc sử dụng các từ đồng nghĩa như dữ liệu đích được đề xuất trong câu trả lời của mình, nhưng sau đó bạn sẽ phải tự sửa đổi tất cả các cột phụ thuộc theo cách thủ công, và từ những gì tôi hiểu, đó là những gì bạn muốn tránh.
Nguồn
2016-02-01 06:59:24
Bạn có thể thay đổi tên cột, sau đó thêm cột được tính với tên cột trước đó và thay đổi trình kích hoạt và thủ tục được lưu trữ khi rảnh rỗi. –
Bạn có thể thử lấy mã kịch bản từ bảng sys, thay thế và biên dịch lại nó trong một bước bằng cách sử dụng tập lệnh nhưng nếu không có nhiều đối tượng tôi muốn thực hiện bằng cách mở từng tập lệnh để đảm bảo tính chính xác – jean
Đồng thời, cũng như MS-SQL bạn có thể sử dụng 'thay đổi bảng dbo.tbBase cột thay đổi [Tên gốc] UNIQUEIDENTIFIER không rỗng GO' – jean