QSD, obnovení smazaného dokumentu

 
ZPĚT
ver: 2023-04-04

Pro obnovení smazaného dokumentu budete potřebovat obnovení zálohy MSSQL databází pod pracovní název např: "*_obnova"
Následné spuštění SQL scriptu níže a jeho upravení dle popisku níže.
 

 

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' -- Zdrojová db QSD
SET @databaseQsdTarget = 'QsdTarget' -- Cílová db QSD
SET @databaseDataSource = 'DataSource' -- Zdrojová db DATA
SET @databaseDataTarget = 'DataTarget' -- Cílová db DATA
SET @databaseAttachSource = 'AttachSource' -- Zdrojová db ATTACH
SET @databaseAttachTarget = 'AttachTarget' -- Cílová db ATTACH
SET @cisloQsdDokumentu = 'QsdDokument' -- Číslo smazaného dokumentu QSD
SET @cisloQsdDatabaze = 'QsdDatabaze' -- Číslo QSD databáze ve které byl smazaný dokument

-----------------------------------------

 

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

https://www.palstat.cz/ - Systém řízení kvality Ubytování ve Vrchlabí