La search dans le directory pour le file a échoué avec l'erreur du operating system 3 (Le système ne trouve pas le path spécifié.)

J'essaye de recréer une database (MyDB) d'un server SQL ( source ) à un autre ( cible ). La source est située sur ma machine locale et est SQL Server 2014. La cible se trouve sur une machine distante et il s'agit de SQL Server 2012. Voici les étapes que j'ai suivies:

  1. Sur ma machine locale, je vais dans le studio SQL Server Management, je fais un clic droit sur MyDB et je vais dans Tâches -> Générer des scripts.
    1. Là, je sélectionne "Script database entière et tous les objects de database".
    2. Je clique sur Suivant et sur la page suivante, sous Avancé, je sélectionne "Schéma et données".
    3. Cela génère un file SQL (scripts.sql) qui contient la définition de MyDB.
    4. Ensuite, j'utilise la command osql suivante pour recréer la database sur Target :

osql -S cible -d maître -E -i scripts.sql -o output.log

  1. Une fois l'exécution terminée, j'obtiens cette erreur dans le file journal "output.log":

1> 2> 1> 2> 3> 4> 5> 6> 7> 8> Msg 5133, niveau 16, état 1, cible du server, ligne 2 Recherche de directory pour le file "C: \ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ MyDB.mdf "a échoué avec l'erreur du operating system 3 (Le système ne peut pas find le path spécifié.). Msg 1802, niveau 16, état 1, cible de server, ligne 2 CREATE DATABASE a échoué. Certains noms de files répertoriés n'ont pas pu être créés. Vérifiez les erreurs connexes. 1> 2> Msg 5011, niveau 14, état 5, cible du server, ligne 1 L'user n'a pas l'autorisation de modifier la database 'MyDB', la database n'existe pas ou la database n'est pas active. Msg 5069, niveau 16, état 1, cible de server, instruction ligne 1 ALTER DATABASE a échoué.

Voici les premières lignes de "scripts.sql":

USE [master] GO /****** Object: Database [MyDB] Script Date: 4/12/2016 4:30:20 PM ******/ CREATE DATABASE [MyDB] CONTAINMENT = NONE ON PRIMARY ( NAME = N'MyDB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MyDB.mdf' , SIZE = 513024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 262144KB ) LOG ON ( NAME = N'MyDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MyDB_log.ldf' , SIZE = 1317504KB , MAXSIZE = 2048GB , FILEGROWTH = 131072KB ) GO ALTER DATABASE [MyDB] SET COMPATIBILITY_LEVEL = 100 GO IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC [MyDB].[dbo].[sp_fulltext_database] @action = 'enable' end GO ALTER DATABASE [MyDB] SET ANSI_NULL_DEFAULT ON 

J'ai le file MyDB.mdf à l'endroit où il se plaint sur Source , mais pas sur Target . Il n'y a pas de directory "MSSQL12.MSSQLSERVER" sur la cible . Comment puis-je réparer cela?

Pour ceux qui étaient intéressés par la solution, le problème était qu'il n'y avait pas de directory "MSSQL12.MSSQLSERVER" sur Target car il se trouvait sur une version différente de SQL Server, à savoir 2012. Ce que je devais faire était de créer le directory manuellement et il a commencé travailler après ça.