Open Azure Data Studio and execute these commands:
Solucionando problemas que os clientes não sabem que têm, de uma forma que eles jamais entenderiam...
Open Azure Data Studio and execute these commands:
Create account in https://sqlbak.com/ and copy the key (You will need after)
Download sqlBak:
Run: docker run --name sqlbak_container -d -v sqlbak_volume:/opt/sqlbak pranasnet/sqlbak
Run the container with your key
Run: docker exec sqlbak_container sqlbak --register --key=YOUR_KEY_HERE -n sqlbak
Now you need to add a connection to DBMS (MySQL, PostgreSQL, MSSQL Server).
Run: docker exec 9d8a0302a4a3 sqlbak -ac -dt <dbms_type> -h <host> -u <user_name> -p <password>
After instal Docker run following commands (depends on your main OS, maybe you need add "sudo" on begin for each command):
// install SQL Server
docker pull mcr.microsoft.com/mssql/server:2017-latest
// run container
docker run --name sqlserver --hostname sqlserver -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourPasswordHere" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest
// run container with autorun on restart (add --restart always)
docker run -- restart always --name sqlserver --hostname sqlserver -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=YourPasswordHere" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest
// list services
docker ps -a
// open bash terminal inside into container
docker exec -it sqlserver "bash"
// run sqlcmd tool
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "YourPasswordHere"
// stop container
docker stop sqlserver
// remove
docker rm sqlserver
Query:
SELECT TODAY,
TO_CHAR(TODAY,'IW') "WEEK_NUM"
from (select (TO_DATE('01/01/'||TO_CHAR(2021), 'DD/MM/YYYY') - 1) + level TODAY
from DUAL
connect by LEVEL <= 366)
Result:
Query:
SELECT * FROM (SELECT WEEK_YEAR, WEEK_NUM, MIN(TODAY) START_DATE, MIN(TODAY) + 6 END_DATE
FROM (SELECT EXTRACT(YEAR FROM TODAY) WEEK_YEAR, TODAY,
TO_CHAR(TODAY,'IW') "WEEK_NUM"
from (select (TO_DATE('01/01/'||TO_CHAR(2021), 'DD/MM/YYYY') - 1) + level TODAY
from DUAL
connect by LEVEL <= 368))
GROUP BY WEEK_YEAR, WEEK_NUM
ORDER BY START_DATE)
WHERE WEEK_YEAR = 2021
AND NOT (EXTRACT(MONTH FROM START_DATE) = 1 AND WEEK_NUM > 10)
Result:
1 - Para facilitar, copiar da pasta firebird/bin os arquivos gfix.exe, gbak.exe e fbclient.dll na pasta C:\TEMP\BANCO (se não exitir, criar);
2 - Copie o banco corrompido na pasta C:\TEMP\BANCO e renomeie de *.fdb para BANCO.FDB;
3 - Execute todos os comandos abaixo. Eles devem ser executados com o prompt de comando executado como adminsitrador. Para isso, clicar no botão iniciar, pesquisar por "CMD", clicar com botão direito e escolher "Executar como Administrador").
- gfix -v -full C:\TEMP\BANCO\BANCO.FDB -USER SYSDBA -pass masterkey
- gfix -mend C:\TEMP\BANCO\BANCO.FDB -USER SYSDBA -pass masterkey
- GBAK -backup -V -ignore -garbage -limbo C:\TEMP\BANCO\BANCO.FDB C:\TEMP\BANCO\BANCO.gBK -USER SYSDBA -pass masterkey
- GBAK -c -v -z C:\TEMP\BANCO\BANCO.gbk C:\TEMP\BANCO\BANCO_RECUPERADO.fdb -USER SYSDBA -pass masterkey
Pronto! Seu banco recuperado estará na pasta como BANCO_RECUPERADO.fdb.
SE HOUVER ERROS
Se aparecer um erro: "Can't format message nn:mmm -- message text not found" se referenciando ao arquivo (diretório)\firebird.msg, copie-o da instalação do Firebird (geralmente C:\Fortes\Firebird\Firebird_2_5), cole no diretório indicado na mensagem de erro e repita o procedimento.
Em alguns casos pode haver conflito com o Interbase ou outra instância do Firebird. Assim será necessário desinstalar o Firebird e instalar novamente ou fazer todo esse procedimento numa máquina virtual limpa bastando instalar a versão do Firebird antes.
Segue queries para gerar lista de meses com data inicial e final de cada mês:
Exemplo de saída:
Depois disso basta dar um join em outra tabela que desejar e usar as datas geradas para subconsultas.
-- Criar compose nano docker-compose.yml version: '3.7' ### services: db: image: postgres volumes: - postgres_data:...