Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Material para ambeite Linux

Eu estou usando um ambiente linux para fazer o curso, eu já mexia com banco de dados MySQL e Firebird antes desse curso, e estou fazendo este para aprender um pouco do SQL Server e ter os certificados, todavia, agora que entrou em uma área mais especifica, que será abordada o T-SQL, eu baixei a base de . BAK para tentar subir no meu banco, mas tive problemas de rotas ao tentar restaurar o banco, teria algum arquivo .SQL referente ao curso ? Seria mais fácil para acompanhar...

4 respostas

Olá Pablo, tudo bem?

Na transcrição dos vídeos é disponibilizado os arquivos SQL com os comandos utilizados na aula

Disponibilização dos arquivos SQL com comandos utilizados nas aulas

Você poderia informar exatamente o problema que você teve ao restaurar o banco de dados? Assim posso ti auxiliar sobre este problema.

Aguardo o seu retorno!

Sobre as aulas no geral, sei que possuem os comandos .sql, mas é que seria melhor ter uma base de dados populada para trabalhar... mas eu fiz uma para poder mexer e praticar

sobre a restauração da base:

1> RESTORE DATABASE SUCOS_VENDAS FROM DISK='/SUCOS_VENDAS.BAK'
2> go
Msg 5133, Level 16, State 1, Server sql1, Line 1
Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS.mdf" failed with the operating system error 2(The system cannot find the file specified.).
Msg 3156, Level 16, State 3, Server sql1, Line 1
File 'SUCOS_VENDAS' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS.mdf'. Use WITH MOVE to identify a valid location for the file.
Msg 5133, Level 16, State 1, Server sql1, Line 1
Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS_log.ldf" failed with the operating system error 2(The system cannot find the file specified.).
Msg 3156, Level 16, State 3, Server sql1, Line 1
File 'SUCOS_VENDAS_log' cannot be restored to 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\SUCOS_VENDAS_log.ldf'. Use WITH MOVE to identify a valid location for the file.
Msg 3119, Level 16, State 1, Server sql1, Line 1
Problems were identified while planning for the RESTORE statement. Previous messages provide details.
Msg 3013, Level 16, State 1, Server sql1, Line 1
RESTORE DATABASE is terminating abnormally.
solução!

O erro retornado Pablo, ocorreu pelo fato de o SQL Server, tentar localizar o diretório padrão para armazenara os arquivos MDF e de LOG, como você utiliza outro sistema operacional, o diretório não foi localizado e o erro foi retornado.

Para que esse problema seja resolvido, no momento de executar o comando de restauração do arquivo BAK, você precisa indicar um diretório EXISTENTE onde os arquivos MDF e de LOG serão armazenados na sua máquina.

Então o comando para restaurar o arquivo indicando um diretório EXISTENTE onde os arquivos MDF e de LOG serão armazenados é:

RESTORE DATABASE Banco_de_Dados
   FROM DISK = 'diretório_do_Arquivo/arquivo.bak'
   WITH MOVE 'Banco_de_Dados' TO 'diretório_para_Salvar_Arquivo/Banco.mdf',
        MOVE 'Banco_de_Dados_Log' TO 'diretório_para_Salvar_Arquivo/Banco_log.ldf'
GO

Qualquer dúvida ó só falar!

restore database SUCOS_VENDAS from disk =  '/<caminho>/SUCOS_VENDAS.BAK'
with move 'SUCOS_VENDAS' to '/<caminho>/banco.mdf',
move 'SUCOS_VENDAS_LOG' to '/<caminho>/log.ldf',
file = 1, 
recovery

Aparentemente deu certo com esse código, tive que especificar o arquivo