luk*_*egf 8 sql database sql-server migration osql
我试图从一个SQL服务器(源)重新创建一个数据库(MyDB )到另一个(目标).源位于我的本地计算机上,是SQL Server 2014. 目标位于远程计算机上,它是SQL Server 2012.以下是我采取的步骤:
osql -S target -d master -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
Run Code Online (Sandbox Code Playgroud)
我确实将文件MyDB.mdf放在它在Source上抱怨的位置,但不在Target上.Target上没有目录"MSSQL12.MSSQLSERVER" .我怎样才能解决这个问题?
luk*_*egf 15
对于那些对此解决方案感兴趣的人,问题是Target上没有"MSSQL12.MSSQLSERVER"目录,因为它位于不同版本的SQL Server上,即2012.我要做的是手动创建目录并启动之后工作.
| 归档时间: |
|
| 查看次数: |
22147 次 |
| 最近记录: |