Người dùng của chúng tôi muốn làm mới cơ sở dữ liệu QA từ sản xuất nhưng muốn có hai bảng (hãy gọi chúng là T1 và T2) để giữ lại dữ liệu QA gốc. Vì vậy, tôi đã sao chép hai bảng từ QA (DB1) sang cơ sở dữ liệu QA tạm thời (DB2). Sau đó làm mới DB1 từ sản xuất. Sau khi làm mới, tôi muốn ghi đè dữ liệu T1 và T2 từ DB2 sang DB1 để nó có thể chứa các giá trị QA được làm mới trước.
Tôi đã làm như sau:
Sử dụng
select * INTO D1.dbo.T1 FROM D2.dbo.T1Sau đó làm mới D1 từ prod
Sau đó cắt ngắn T1 với bước sau:
SELECT COUNT(*) AS BeforeTruncateCount FROM T1; GO TRUNCATE TABLE T1; GO SELECT COUNT(*) AS AfterTruncateCount FROM T1; GOBây giờ khi tôi quay lại sao chép dữ liệu từ D2.T1 sang D1.T1, tôi nhận được lỗi rằng đã có một đối tượng có tên là T1 trong cơ sở dữ liệu.
Tôi có nên bỏ bảng và sao chép?
Hoặc có phương pháp nào tốt hơn cho toàn bộ thủ tục?




