我正在将数据库从 SQL Server 2019 迁移到 SQL Server 2017。 为此,我使用源数据库中的“生成脚本”功能来分别生成架构和数据。(我可能需要将数据导入分成多个文件以避免内存错误。)
当我尝试在目标服务器中运行架构脚本时,脚本失败并显示以下响应:
Msg 5133, Level 16, State 1, Line 4
Directory lookup for the file "E:\SqlData\my-db-test.mdf" failed with the operating system error 21(The device is not ready.).
我见过的所有说明都没有提到需要将此 .mdf 文件从源服务器复制到目标,但目标服务器似乎希望该文件存在。脚本的开头如下所示:
USE [master]
GO
/****** Object: Database [my-db-test] Script Date: 2/9/2024 8:14:49 AM ******/
CREATE DATABASE [my-db-test]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'my-db-dev8b', FILENAME = N'E:\SqlData\my-db-test.mdf' , SIZE = 794624KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
LOG ON
( NAME = N'my-db-dev8b_log', FILENAME = N'E:\SqlData\my-db-test_log.ldf' , SIZE = 5971968KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )
GO
ALTER DATABASE [my-db-test] SET COMPATIBILITY_LEVEL = 140
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
我是否需要将 .mdf 和 .ldf 文件从源服务器复制到目标服务器才能运行此脚本?是否可以更改脚本以便我不需要 .ldf 文件?
我不确定为什么脚本引用 my-db-dev8b,这是数据库的旧名称。我不知道剧本中的这些旧名字是否会让事情变得复杂。
将数据库从 SQL Server 2019 迁移到 SQL Server 2017 是否需要 .mdf 和 .ldf 文件?我可以通过以某种方式手动编辑脚本来帮助我的事业吗?