Tôi đã có một thủ tục được lưu trữ đề cập đến một máy chủ được liên kết. Ở một số nơi trong suốt quy trình tôi đã có một cái gì đó như sau:
INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
Quy trình này tồn tại trong môi trường Phát triển, Môi trường thử nghiệm và Môi trường sống.
Vấn đề là mỗi bản sao của thủ tục khác nhau một cách tinh tế vì tên máy chủ khác nhau đối với từng môi trường. Điều này làm cho việc quản lý triển khai các bản cập nhật kịch bản trở nên rắc rối.
Có cách nào để làm cho thủ tục di động để mỗi môi trường có thể chạy các phiên bản giống hệt nhau của nó không?
Nếu không, tôi có thể làm gì để triển khai tập lệnh ít bị lỗi / lỗi không?
SELECT <fields> FROM <linked server>
nhưng sử dụng cùng tên cho tất cả các máy chủ để duy trì mã