Hết thời gian chờ lỗi trong khi sử dụng thuật sĩ sao chép cơ sở dữ liệu


8

Microsoft khiến tôi tin rằng SQL Server 2012 Copy Database Wizard là cách tối ưu nhất để sao chép cơ sở dữ liệu SQL Server 2000 sang SQL Server 2012. Sau khi vật lộn vài giờ, tôi đã có thể vượt qua một số vấn đề và tôi đã có thể nhập nhỏ vào cơ sở dữ liệu SQL Server 2000 kích thước trung bình vào SQL Server 2012.

Tuy nhiên, trình hướng dẫn liên tục thất bại đối với cơ sở dữ liệu 30 GB với các lỗi sau:

Thông báo: Đã xảy ra lỗi khi truyền dữ liệu. Xem ngoại lệ bên trong để biết chi tiết.
StackTrace: tại Microsoft.SqlServer.Man Quản lý.Smo.Transfer.TransferData ()
tại Microsoft.SqlServer.Dts.T
Nhiệm.TransferObjectsTask.TransferObjectsTask.TransferDatabaseUsingSMOTransfer () InternalException -> Hết hạn Khoảng thời gian chờ đã trôi qua trước khi hoàn thành thao tác hoặc máy chủ không phản hồi.
TẠO cơ sở dữ liệu thất bại. Một số tên tập tin liệt kê không thể được tạo ra. Kiểm tra các lỗi liên quan.
StackTrace:
tại System.Data.SqlClient.SqlConnection.OnError (ngoại lệ SqlException, Boolean breakConnection)
tại System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning ()
tại System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResult Set BulkCopyHandler, TdsParserStateOb

Tôi đã kiểm tra hai lần, nó không phải là vấn đề filepath, quyền hoặc không gian đĩa. Tôi nghĩ rằng CREATE DATABASEbước này mất 2 phút hoặc lâu hơn và trình hướng dẫn giả định rằng hoạt động đã hết thời gian. Tôi đã tự tạo một cơ sở dữ liệu trống với cùng filepath và kích thước tệp bằng SQL, hoạt động được. Thật thú vị, một bản sao cơ sở dữ liệu 1GB đã thất bại với cùng một lỗi và đã thành công trong lần thử thứ 2.

Xin vui lòng giúp đỡ.


Xin vui lòng xem Aarons trả lời. Đó là một cách hiệu quả hơn nhiều cho cơ sở dữ liệu của bạn
Ali Razeghi

Câu trả lời:


7

Một con đường hiệu quả hơn nhiều so với việc làm rối với thuật sĩ đó sẽ là:

  1. Hãy sao lưu toàn bộ cơ sở dữ liệu 2000 của bạn.
  2. Khôi phục nó về phiên bản SQL 2005, 2008 hoặc 2008 R2, tất cả đều hỗ trợ 2000 cơ sở dữ liệu. Bạn vẫn có thể lấy phiên bản đánh giá của 2008 R2 tại đây , nếu bạn không có bất kỳ trường hợp áp dụng nào. Lưu ý rằng Express sẽ không hoạt động vì nó có giới hạn tệp dữ liệu 4GB / 10GB tùy thuộc vào phiên bản.
  3. Thay đổi mức độ tương thích thành mức trên 80 (90 hoặc 100, tùy thuộc vào việc bạn đã sử dụng 2005 hay 2008/2008 R2) bằng cách sử dụng ALTER DATABASE.
  4. Sao lưu toàn bộ cơ sở dữ liệu này sau khi nó không còn ở chế độ tương thích 80.
  5. Khôi phục bản sao lưu mới này vào phiên bản SQL Server 2012 của bạn.
  6. Thay đổi mức độ tương thích thành 110 và cập nhật số liệu thống kê.
  7. KIỂM TRA .

Tôi đã cài đặt SQL 2012, có ổn không nếu tôi cài đặt SQL 2008 R2 trên cùng một máy? Có thứ tự của vấn đề cài đặt?
Salman A

Có, bạn có thể cài đặt 2008 R2 trên cùng một máy, nhưng để đơn giản, chỉ cần cài đặt công cụ cơ sở dữ liệu, không có công cụ máy khách và tất cả những thứ đó. Bạn có thể gỡ cài đặt phiên bản 2008 R2 sau khi bạn đã chuyển tất cả cơ sở dữ liệu 2000 của mình khỏi năm 2000.
Aaron Bertrand

1
Tôi sẽ khuyên bạn không nên cài đặt các phiên bản mà bạn không cần trên máy sản xuất, nhưng không, nó không can thiệp nhưng bạn có thể nhận được một số cảnh báo về các thành phần được chia sẻ. Như một quy tắc chung, không bao giờ cài đặt bất cứ thứ gì trên prod mà bạn không cần trong prod. Nó tăng diện tích bề mặt bảo mật cho các cuộc tấn công, giới thiệu các lỗi và tăng khả năng quản lý.
Ali Razeghi

1
@Ali làm sao biết máy Salman đang nói đến là máy sản xuất? Hoặc đó không phải là máy duy nhất có sẵn?
Aaron Bertrand

Đó là lý do tại sao tôi chỉ định 'trên sản phẩm' thay vì chỉ 'không làm điều đó' và trả lời 'nhưng không, nó không can thiệp'. Theo như máy chỉ có sẵn, bạn có thể cài đặt những thứ này trên máy tính để bàn và cơ sở dữ liệu của anh ta là 30 GB như đã nêu. Máy tính có dung lượng lưu trữ miễn phí 30 GB là khá phổ biến, nhưng một lần nữa, đó chỉ là lời khuyên, không khó 'đây là câu trả lời duy nhất'. Tôi đã xem blog của anh ấy và anh ấy rất tập trung, điều đó có nghĩa là anh ấy sẽ không tham gia vào các hoạt động tốt nhất của ops nhiều như một anh chàng ops. Tôi nghĩ đó là lời khuyên tốt, tôi ngạc nhiên khi có nhiều người phát triển khi họ không cần.
Ali Razeghi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.