Tôi có một cơ sở dữ liệu sản xuất rất lớn và cơ sở dữ liệu môi trường thử nghiệm rất lớn trong SQL Server 2008R2. Cả hai cơ sở dữ liệu có cấu trúc bảng tương tự nhưng người dùng / đăng nhập / quyền / vai trò khác nhau.
Tôi chỉ cần làm mới một vài bảng trong cơ sở dữ liệu thử nghiệm định kỳ từ sản xuất, khoảng một tháng một lần.
Cách hiện tại tôi đang lên kế hoạch để làm điều này là
- Sử dụng tiện ích BCP để xuất các bảng tôi cần từ Sản xuất.
- Sao chép tệp xuất bcp vào máy chủ thử nghiệm
- Vô hiệu hóa các chỉ mục và các ràng buộc trên tất cả các bảng tôi đang làm mới trong Test
- Cắt bớt các bảng cơ sở dữ liệu thử nghiệm
- Tải dữ liệu trở lại vào bảng cơ sở dữ liệu thử nghiệm bằng BCP.
- xây dựng lại các chỉ mục và kích hoạt lại các ràng buộc trong Test
Tất cả điều này có vẻ hơi quá phức tạp cho một nhiệm vụ nhỏ như vậy. Có vẻ như nó sẽ tạo ra rất nhiều làm lại (trong nhật ký t) Có cách nào tốt hơn để làm điều này không?
Một cách khác tôi nghĩ làm điều này là khôi phục bản sao lưu từ Sản xuất vào môi trường thử nghiệm - nhưng vấn đề tôi gặp phải là bản sao lưu đầy đủ sẽ khá lớn và tôi không cần làm mới tất cả các bảng, chỉ một vài- -Và người dùng và bảo mật trong cơ sở dữ liệu sản xuất khác với thử nghiệm. Điều đó sẽ bị ghi đè bởi cài đặt bảo mật trong cơ sở dữ liệu sản xuất nếu tôi khôi phục toàn bộ cơ sở dữ liệu.