2016-04-13 112 views
6

我試圖從一個SQL服務器()重新創建數據庫(MyDB)到另一個( 目標)。 來源位於我的本地計算機上,是的SQL Server 2014 目標位於遠程機器上,它是SQL Server 2012的下面是我所採取的步驟:該文件的目錄查找失敗,操作系統錯誤3(系統找不到指定的路徑)

  1. 在我的本地機器我去SQL Server管理工作室,我右鍵點擊MyDB並轉到任務 - >生成腳本。
    1. 在那裏,我選擇「腳本整個數據庫和所有數據庫對象」。
    2. 我點擊下一步,在下一頁上的高級下,選擇「模式和數據」。
    3. 生成一個包含MyDB定義的SQL文件(scripts.sql)。
    4. 然後,我使用下面的osql命令上目標重新創建數據庫:

OSQL -S目標-d主-E -i scripts.sql -o輸出。日誌

  • 之後執行結束我得到這個錯誤在日誌文件 「output.log」:
  • 1> 2> 1> 2> 3> 4> 5> 6> 7> 8>消息5133,級別16,狀態1,服務器 目標,行2目錄查找文件「C:\ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ MyDB.mdf「 失敗,操作系統錯誤3(系統找不到指定的路徑 )。消息1802,級別16,狀態1,服務器目標,行2 CREATE DATABASE失敗。列出的某些文件名不能被創建。 檢查相關錯誤。 1> 2>消息5011,級別14,狀態5,服務器 目標,行1用戶沒有更改數據庫'MyDB'的權限, 數據庫不存在或者數據庫未處於允許 允許訪問檢查。消息5069,級別16,狀態1,服務器目標,行 1 ALTER DATABASE語句失敗。

    這裏是「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 
    

    我確實有它的抱怨有關來源的位置的文件MyDB.mdf,但不是在目標。在目標沒有目錄「MSSQL12.MSSQLSERVER」。我怎樣才能解決這個問題?

    回答

    11

    對於那些對此解決方案感興趣的人,問題是目標上沒有「MSSQL12.MSSQLSERVER」目錄,因爲它位於不同版本的SQL Server上,即2012.我所要做的就是創建該目錄手動,然後開始工作。

    +2

    讓我想起它無法自動創建目錄... – Wes

    相關問題