To restore a deleted document, you will need to restore a backup of MSSQL databases under a working name, eg: "* _recover"
Subsequent execution of the SQL script below and its modification according to the description below.
DECLARE @databaseQsdSource NVARCHAR(255), @databaseQsdTarget NVARCHAR(255), @databaseDataSource NVARCHAR(255), @databaseDataTarget NVARCHAR(255), @databaseAttachSource NVARCHAR(255), @databaseAttachTarget NVARCHAR(255), @cisloQsdDokumentu NVARCHAR(100), @cisloQsdDatabaze NVARCHAR(100), @Param NVARCHAR(25), @sql NVARCHAR(MAX), @QSKEY char(16)
--------------- NASTAVENI ---------------
SET @databaseQsdSource = 'QsdSource' -- Source db QSD
SET @databaseQsdTarget = 'QsdTarget' -- Target db QSD
SET @databaseDataSource = 'DataSource' -- Source db DATA
SET @databaseDataTarget = 'DataTarget' -- Target db DATA
SET @databaseAttachSource = 'AttachSource' -- Source db ATTACH
SET @databaseAttachTarget = 'AttachTarget' -- Target db ATTACH
SET @cisloQsdDokumentu = 'QsdDokument' -- Number of deleted document from QSD
SET @cisloQsdDatabaze = 'QsdDatabaze' -- Number of QSD database of deleted document
-----------------------------------------
SET @Param = N'@QSKEYOUT char(16) OUTPUT'
SET @sql = N'SELECT TOP 1 @QSKEYOUT = QSKEY FROM ' + @databaseQsdSource + '.dbo.QSDMAIN inner join ' + @databaseQsdSource + '.dbo.QSDDB on DBKEY = QSDBKEY WHERE QSNUMBER = ''' + @cisloQsdDokumentu + ''' AND DBNUMBER = ''' + @cisloQsdDatabaze + ''''
EXEC sp_executesql @sql, @Param, @QSKEYOUT=@QSKEY OUTPUT
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDMAIN select * from ' + @databaseQsdSource + '.dbo.QSDMAIN where QSKEY = ''' +@QSKEY +''''
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDCHANGES select * from ' + @databaseQsdSource + '.dbo.QSDCHANGES where QCQSKEY = ''' +@QSKEY +''''
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDTEXT select * from ' + @databaseQsdSource + '.dbo.QSDTEXT X where TEKEY in (select TEKEY from ' + @databaseQsdSource + '.dbo.QSDTEXT A inner join ' + @databaseQsdSource + '.dbo.QSDCHANGES B on B.QCKEY = A.TEQCKEY where B.QCQSKEY = ''' +@QSKEY +''')'
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDATTACH select * from ' + @databaseQsdSource + '.dbo.QSDATTACH where QAQSKEY = ''' +@QSKEY +''''
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDLINKS select * from ' + @databaseQsdSource + '.dbo.QSDLINKS X where LIKEY in (select LIKEY from ' + @databaseQsdSource + '.dbo.QSDLINKS A inner join ' + @databaseQsdSource + '.dbo.QSDCHANGES B on B.QCKEY = A.LIQCKEY where B.QCQSKEY = ''' +@QSKEY +''')'
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDTEAM select * from ' + @databaseQsdSource + '.dbo.QSDTEAM where DIQSKEY = ''' +@QSKEY +''''
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDACCESS select * from ' + @databaseQsdSource + '.dbo.QSDACCESS where ACQSKEY = ''' +@QSKEY +''''
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseQsdTarget + '.dbo.QSDCOMMENTS select * from ' + @databaseQsdSource + '.dbo.QSDCOMMENTS where CMQSKEY = ''' +@QSKEY +''''
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseDataTarget + '.dbo.PALATTACH select * from ' + @databaseDataSource + '.dbo.PALATTACH where ATMAKEY2 = ''' +@QSKEY +''''
EXEC sp_executesql @sql
SET @sql = N'insert into ' + @databaseAttachTarget + '.dbo.ATTDATA select * from ' + @databaseAttachSource + '.dbo.ATTDATA where DAKEY in (select ATDATAKEY from ' + @databaseDataSource + '.dbo.PALATTACH where ATMAKEY2 = ''' +@QSKEY +''')'
EXEC sp_executesql @sql
![]() |
© Copyright 1992 - 2025 PALSTAT s.r.o. |
PALSTAT s.r.o. Bucharova 230 543 02 Vrchlabí CZECH REPUBLIC |
tel.: +420 499 422 044 tel.: +420 499 692 016 www.palstat.cz |
» Home Page » Training » References » News |
» Events » Partners » Support » Contact |
» Products » Customer portal » Remote support » Update |
» Terms and Conditions » Gallery » Map » Portal 3 |