2016-04-13 7 views
6

Próbuję ponownie utworzyć bazę danych (MyDB) z jednego serwera SQL (Źródło) na inny (Target). Źródło znajduje się na moim komputerze lokalnym i SQL Server 2014 docelowa znajduje się na zdalnej maszynie i to SQL Server 2012. Oto kroki, jakie zrobiono:Wyszukiwanie katalogu dla pliku nie powiodło się z błędem systemu operacyjnego 3 (System nie może znaleźć określonej ścieżki).

  1. na moim komputerze lokalnym I przejdź do SQL Server Management studio, prawym przyciskiem myszy kliknij MyDB i przejdź do Zadania -> Generuj skrypty.
    1. Tutaj wybieram "Skryptuj całą bazę danych i wszystkie obiekty bazy danych".
    2. Klikam Dalej i na następnej stronie, w obszarze Zaawansowane wybieram "Schemat i dane".
    3. Generuje plik SQL (scripts.sql), który zawiera definicję MyDB.
    4. Potem należy użyć następującego polecenia osql, aby ponownie utworzyć bazę danych na Cel:

osql -S cel główny -E -i -d scripts.sql -o wyjście. log

  1. Po zakończeniu wykonywania otrzymuję ten błąd w pliku dziennika "output.log":

1> 2> 1> 2> 3> 4> 5> 6> 7> 8> Msg 5133, Poziom 16, Stan 1, Serwer Cel, Linia 2 Wyszukiwanie katalogu dla pliku "C: \ Program Pliki \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ MyDB.mdf " nie powiodło się z błędem systemu 3 (System nie może znaleźć podanej ścieżki ). Msg 1802, Level 16, State 1, Server Target, Line 2 CREATE DATABASE failed. Nie można utworzyć niektórych wymienionych nazw plików. Sprawdź powiązane błędy. 1> 2> Msg 5011, Poziom 14, Stan 5, Serwer Cel, Linia 1 Użytkownik nie ma uprawnień do zmiany bazy danych "MyDB", baza danych nie istnieje lub baza danych nie znajduje się w stanie, w którym zezwala kontrole dostępu. Msg 5069, Level 16, State 1, Server Target, Line 1 Instrukcja ALTER DATABASE nie powiodła się.

Oto kilka pierwszych wierszy „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 

mam ten Mydb.mdf pliku w miejscu to narzekających na Źródło, ale nie na TARGET. Nie ma katalogu "MSSQL12.MSSQLSERVER" na Target. Jak mogę to naprawić?

Odpowiedz

11

Dla zainteresowanych Rozwiązaniem tego problemu było to, że nie było żadnego katalogu „MSSQL12.MSSQLSERVER” na docelowa bo to w innej wersji SQL Server, a mianowicie 2012. Co miałem zrobić, to stworzyć katalogu ręcznie i zaczęło działać po tym.

+2

Pomysłów, że nie można utworzyć katalogu automagicznie ... – Wes

Powiązane problemy