[英].mdf" failed with the operating system error 2(The system cannot find the file specified.)
[英]Directory lookup for the file failed with the operating system error 3 (The system cannot find the path specified.)
我正在尝试从一台 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> Msg 5133, Level 16, State 1, Server Target, Line 2 文件目录查找“C:\Program Files\Microsoft Z9778840A0100CB30C582876741B服务器MSSQL12.MSSQLSERVER\MSSQL\DATA\MyDB.mdf”失败,操作系统错误3(系统找不到指定的路径。)。 消息 1802,级别 16,State 1,服务器目标,第 2 行创建数据库失败。 无法创建列出的某些文件名。 检查相关错误。 1> 2> 消息 5011,级别 14,State 5,服务器目标,第 1 行用户无权更改数据库“MyDB”,数据库不存在,或数据库不在允许访问检查的 state 中。 消息 5069,级别 16,State 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
我在Source上抱怨的位置确实有文件 MyDB.mdf ,但在Target上没有。 Target上没有目录“MSSQL12.MSSQLSERVER”。 我怎样才能解决这个问题?
对于那些对此解决方案感兴趣的人,问题是Target上没有“MSSQL12.MSSQLSERVER”目录,因为它位于不同版本的SQL Server上,即2012.我要做的是手动创建目录并启动之后工作。
如果目标数据库是在 AWS RDS 上运行的 MS SQL 服务器,那么您必须更改数据和日志文件的文件位置。 RDS 默认将它们保存在用户无法访问的 D: 驱动器中。 D:\rdsdbdata\DATA
例如:
您从源数据库生成 a.sql 脚本,并且脚本的文件路径FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MyDB.mdf'
(取自问题的路径) 。 使用此脚本,在 RDS 实例中运行它之前,您必须将其更改为FILENAME = N'D:\rdsdbdata\DATA\MyDB.mdf'
然后文件系统将允许它运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.