Tôi đã xác minh liên kết bên dưới là một số (@Oliver) được đăng trùng lặp với Câu hỏi của tôi. Nhưng truy vấn này trả về tập lệnh thực thi cuối cùng. Nó không liên quan đến câu hỏi của tôi.Cách lấy lại các thủ tục, hàm, bảng đã lưu bị bỏ trong SQL Server 2008
Last executed queries for a specific database
Tôi có một cơ sở dữ liệu với Sample_Training và tôi đã tạo ra một thủ tục lưu trữ trong đó và sau này tôi đã xóa nó và bây giờ tôi muốn lấy mà thủ tục lưu trữ đã bị xóa.
Tôi nhân viên trong công ty vì vậy mà tôi không có quyền hành chính
DECLARE @Date_From DATETIME = '2015-01-02'
DECLARE @Date_To DATETIME = '2015-01-05'
SELECT
CONVERT(VARCHAR(MAX), SUBSTRING([RowLog Contents 0], 33, LEN([RowLog Contents 0]))) AS [Script]
FROM
fn_dblog(NULL,NULL)
WHERE
[Operation] = 'LOP_DELETE_ROWS'
AND [Context] = 'LCX_MARK_AS_GHOST'
AND [AllocUnitName] = 'sys.sysobjvalues.clst'
AND [TRANSACTION ID] IN (SELECT DISTINCT [TRANSACTION ID]
FROM sys.fn_dblog(NULL, NULL)
WHERE Context IN ('LCX_NULL') AND Operation IN ('LOP_BEGIN_XACT')
AND [Transaction Name] = 'DROPOBJ'
AND CONVERT(NVARCHAR(11), [Begin Time]) BETWEEN @Date_From AND @Date_To)
AND SUBSTRING([RowLog Contents 0], 33, LEN([RowLog Contents 0])) <> 0
Bằng các truy vấn trên tôi có thể được lưu trữ thủ tục và bây giờ câu hỏi của tôi là làm thế nào để có được chức năng, bảng.
Vì bạn * nhân viên của một công ty *, Tôi chắc chắn rằng công ty là đủ chuyên nghiệp để có một ** nguồn kiểm soát ** hệ thống, và bạn đủ chuyên nghiệp để kiểm tra các kịch bản lệnh SQL của bạn -> chỉ cần truy xuất tập lệnh tạo ra thủ tục được lưu trữ đó từ điều khiển nguồn và chạy lại nó - xong! –
có thể trùng lặp của [Truy vấn được thực hiện lần cuối cho một cơ sở dữ liệu cụ thể] (http://stackoverflow.com/questions/13638435/last-executed-queries-for-a-specific-database) – Oliver
Trước tiên hãy kiểm tra truy vấn những gì bạn đã đề cập là trùng lặp . Nó sẽ cung cấp cho Query Execution Query. Tôi không yêu cầu truy vấn cuối cùng. Nếu bạn có SSMS chỉ cần chạy truy vấn của tôi và kiểm tra kết quả. @Oliver –