Hãy nghĩ rằng nói tất cả?SQL Server nào đã xây dựng trong cơ chế phải làm các truy vấn Flashback?
Trả lời
Không có. SQL Server không có tính năng tương đương.
Bây giờ nó có MVCC nó thực sự đáng ngạc nhiên rằng nó không. –
Tương đương gần nhất có thể là Database Snapshots. Bạn có thể tạo ảnh chụp nhanh cơ sở dữ liệu tại thời điểm quan tâm và sau đó báo cáo về ảnh chụp nhanh. Không giống như hồi tưởng, những khoảnh khắc mà tại đó các ảnh chụp nhanh SQL Server được chụp phải được xác định trước.
Trên máy chủ SQL 2008, bạn có thể sử dụng Thay đổi dữ liệu chụp, bằng tính năng này bạn có thể làm nhiều hơn so với đèn flash ngược lại. (Có một thủ tục lưu trữ để phục hồi cơ sở dữ liệu trên SQL server 2008 nếu bạn muốn tôi có thể cung cấp điều đó cho bạn)
Có, chúng tôi có thể sử dụng Change Data Capture và Change Tracking tính năng được xây dựng trong cơ chế trong SQL Server và rất nhiều tương tự như Flashback trong Oracle.
Khi bạn áp dụng tính năng Thay đổi dữ liệu thay đổi trên bảng cơ sở dữ liệu, gương của bảng được theo dõi được tạo với cùng cấu trúc cột của bảng ban đầu, nhưng có thêm các cột bao gồm siêu dữ liệu được sử dụng để tóm tắt bản chất sự thay đổi trong hàng của bảng cơ sở dữ liệu. Sau đó, SQL Server DBA có thể dễ dàng theo dõi hoạt động cho bảng đã ghi bằng cách sử dụng các bảng kiểm tra mới này.
Thay đổi theo dõi là giải pháp gọn nhẹ cung cấp cơ chế theo dõi thay đổi hiệu quả cho ứng dụng. Thông thường, để cho phép ứng dụng truy vấn các thay đổi đối với dữ liệu trong cơ sở dữ liệu và thông tin truy cập có liên quan đến các thay đổi, nhà phát triển ứng dụng phải triển khai cơ chế theo dõi thay đổi tùy chỉnh. Tạo các cơ chế này thường liên quan đến rất nhiều công việc và thường xuyên tham gia bằng cách sử dụng kết hợp các trình kích hoạt, cột dấu thời gian, bảng mới để lưu trữ thông tin theo dõi và các quy trình dọn dẹp tùy chỉnh.
Các loại ứng dụng khác nhau có các yêu cầu khác nhau về lượng thông tin cần thiết về thay đổi. Ứng dụng có thể sử dụng theo dõi thay đổi để trả lời các câu hỏi sau về các thay đổi đã được thực hiện cho bảng người dùng:
Hàng nào đã thay đổi cho bảng người dùng?
Chỉ thực tế là một hàng đã thay đổi là bắt buộc, không bao nhiêu lần hàng đã thay đổi hoặc giá trị của bất kỳ thay đổi trung gian nào.
Dữ liệu mới nhất có thể lấy trực tiếp từ bảng đang được theo dõi.
Hàng đã thay đổi chưa?
Thực tế là một hàng đã thay đổi và thông tin về thay đổi phải có sẵn và được ghi lại tại thời điểm thay đổi được thực hiện trong cùng một giao dịch.
Để biết thêm thông tin về cách sử dụng Thay đổi thu thập dữ liệu (CDC) và theo dõi thay đổi trong SQL Server; hãy xem Pinal Dave's Post.
Tôi biết câu hỏi này là khá cũ, nhưng với SQL Server 2016, Bàn Temporal là một tính năng: https://docs.microsoft.com/en-us/sql/relational-databases/tables/temporal-tables
Có lẽ nó có thể giúp đỡ người khác trong trường hợp họ đến chủ đề này (Tìm kiếm một cái gì đó tương tự như tính năng Oracle Flashback)
Với tem bảng poral kích hoạt, bạn có thể truy vấn bảng AS CÁC một dấu thời gian cụ thể và lấy hàng như họ đã ở chỗ dấu thời gian cụ thể, giống như bạn đang sử dụng để làm trong Oracle:
(SELECT * FROM EMPLOYEE AS OF TIMESTAMP ('13-SEP-04 8:50:58','DD-MON-YY HH24: MI: SS')
truy vấn tương đương trong SQL Server cho một bảng với SYSTEM_VERSIONING = ON sẽ là:
SELECT * FROM EMPLOYEE FOR SYSTEM_TIME AS OF '2004-09-01 08:50:58'
để kích hoạt SYSTEM_VERSIONING cho một bảng hiện có với hàng bạn có thể sử dụng đoạn mã sau:
ALTER TABLE [dbo].[TABLE] ADD [SysStartTime] datetime2(0) GENERATED ALWAYS AS ROW START HIDDEN NOT NULL CONSTRAINT DF_Inventory_SysStartTime DEFAULT '1900-01-01 00:00:00', [SysEndTime] datetime2(0) GENERATED ALWAYS AS ROW END HIDDEN NOT NULL CONSTRAINT DF_Inventory_SysEndTime DEFAULT '9999-12-31 23:59:59', PERIOD FOR SYSTEM_TIME ([SysStartTime], [SysEndTime])
ALTER TABLE [dbo].[TABLE] SET (SYSTEM_VERSIONING = ON);
Sau khi kích hoạt SYSTEM_VERSIONING, bảng Lịch sử sẽ hiển thị bên dưới chiếc bàn nơi bạn kích hoạt phiên bản:
để Hủy bỏ SYSTEM_VERSIONING từ một bảng:
ALTER TABLE [dbo].[TABLE] SET (SYSTEM_VERSIONING = OFF);
ALTER TABLE [dbo].[TABLE] DROP PERIOD FOR SYSTEM_TIME;
ALTER TABLE [dbo].[TABLE] DROP COLUMN [SysStartTime], [SysEndTime];
Để biết thêm thông bạn có thể truy cập liên kết sau (hoặc tài liệu chính thức của Microsoft được tham chiếu trước đây): http://www.sqlservercentral.com/articles/SQL+Server+2016/147087/
SQL Server 2016 giới thiệu temporal tables aka history tables cho phép nhà phát triển truy vấn dữ liệu được lưu trữ trong bảng cơ sở dữ liệu trong quá khứ.
Ý tôi là các nhà phát triển có thể cung cấp các ứng dụng cho phép người dùng để hiển thị dữ liệu lịch sử của một bảng, hoặc quan điểm của một bảng tại một thời điểm nào đó trong quá khứ
- 1. SQL tham gia xây dựng truy vấn
- 2. C# xây dựng truy vấn tham số SQL - LIKE%
- 3. Làm cách nào để xây dựng truy vấn cơ sở dữ liệu chéo trong PHP?
- 4. Truy vấn SQL Server từ PHP
- 5. Cách xây dựng lại chế độ xem trong SQL Server 2008
- 6. SQL Server: Làm thế nào để giữ các thuộc tính XML trong một truy vấn?
- 7. Làm cách nào để đánh giá truy vấn SQL Server?
- 8. Liệt kê các truy vấn đang chạy trên SQL Server
- 9. Truy vấn Tab Sql Server 2008
- 10. Truy vấn dữ liệu cấu trúc cây trong SQL Server
- 11. Truy vấn phân cấp trong SQL Server 2005
- 12. Truy vấn đệ quy SQL Server
- 13. Truy vấn tương đương trong sql server cho INFORMATION_SCHEMA
- 14. Truy vấn phụ trong SQL Server Compact Edition
- 15. Truy vấn ngày tạo bảng SQL Server
- 16. Cần trợ giúp Truy vấn SQL Server, Người mới
- 17. Truy vấn chậm liên tục trên SQL Server 2008
- 18. Ước tính thời gian truy vấn trong SQL Server
- 19. Truy vấn SQL Server để tìm tất cả các tên cơ sở dữ liệu hiện tại
- 20. Sql Truy vấn để liệt kê tất cả các khung nhìn trong cơ sở dữ liệu SQL Server 2005
- 21. Kiểu dữ liệu XML Trong truy vấn SQL Server 2008
- 22. Cách sử dụng truy vấn chọn bên trong truy vấn chèn trong SQL Server 2005
- 23. Cách tạo bảng bằng truy vấn chọn trong SQL Server?
- 24. Làm thế nào để thay đổi giá trị boolean trong truy vấn chọn SQL Server?
- 25. Hiện đang chạy truy vấn trong SQL Server
- 26. làm thế nào để xây dựng nhiều truy vấn chèn trong khuôn khổ zend
- 27. Trong SQL Server 2000, có truy vấn sysobjects sẽ truy xuất chế độ xem của người dùng chứ không phải lượt xem hệ thống không?
- 28. 'nơi không trong' truy vấn với người xây dựng truy vấn học thuyết
- 29. Cơ sở dữ liệu mặc định của SQL Server khi truy vấn - chủ
- 30. SQL Server Index - Bất kỳ cải tiến nào cho các truy vấn LIKE?
Bây giờ Sql Server có MVCC nó phải tầm thường tho, phải không? –