Gerei um script (usando o assistente do SSMS 2012) para produzir um script de banco de dados compatível com SQL 2008 R2. Eu executei este script em uma instância do SSMS 2008 R2 e obtive vários (30) desses possíveis erros de "aviso":
O módulo 'spMoney_Increase' depende do objeto ausente 'dbo.spMoney_Decrease'. O módulo ainda será criado; no entanto, ele não pode ser executado com êxito até que o objeto exista.
Devo me preocupar com esses erros? Observe que os erros não interromperam a execução geral e sei que tentar colocar o banco de dados de 2012 em uma instância de 2008 não é recomendado, mas você sabe como é a solicitação do cliente ...
-------- Descrição do Processo --------
No SSMS 2012 - Servidor A
- Clique com o botão direito do mouse em MY_DB > Tarefas > Gerar Scripts
- Em Set Scripting Options > Advanced > eu escolhi a configuração abaixo
Então Ok > Avançar > Concluir
no SSMS 2008 R2 - Servidor BCriei locais de pasta na unidade C que imitavam o Servidor A, então não precisei alterar os caminhos DIR no script:
CREATE DATABASE [MY_DB] ON PRIMARY ( NAME = N'MY_DB', FILENAME = N'C:\DBS\MY_DB.mdf' , SIZE = 16384KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON ( NAME = N'MY_DB_log', FILENAME = N'C:\DBS\MY_DB_log.ldf' , SIZE = 1280 KB , MAXSIZE = 2048 GB , FILEGROWTH = 10%) IR
- Executou o script e obteve o erro de "aviso" acima.
Esta é uma mensagem de aviso que aparece devido a uma dependência ausente (isso também significa que a árvore de dependência SQL pode não estar definida corretamente e, portanto, você não terá entradas corretas em sys.sql_expression_dependencies, que podem ser úteis no futuro). No entanto, isso é apenas um aviso e, desde que o objeto dependente seja criado, você não terá problemas para executar seu código.
Você também pode reenviar os itens nos quais recebe avisos e isso corrigirá a lista de dependências, mas, novamente, não é crítico.