我在启用了内存中 OLTP 功能的 sql server 2017 标准版上有一个数据库,我必须将它移动到另一个磁盘上,这是最好的方法吗?有什么可能的问题吗?
我可以设法摆脱这个 OLTP 功能吗?有人说要删除并重新创建数据库?但是如何......保存数据?
我有这个脚本:
SELECT type_desc, name, physical_name from sys.database_files
USE master
EXEC sp_detach_db mydb
CREATE DATABASE mydb ON
PRIMARY ( NAME = mydbdata,
FILENAME = 'Y:\Database\SQLServer\DATA\mydbdata.mdf'),
( NAME = mydbdata2,
FILENAME = 'Y:\Database\SQLServer\DATA\mydbdata2.mdf'),
FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = mydbdata_mod1,
FILENAME = 'Y:\Database\SQLServer\DATA\mydbdata_mod1')
LOG ON ( NAME = mydbdata_log,
FILENAME = 'Z:\Database\SQLServer\DATA\mydbdata_log.ldf')
, ( NAME = mydbdata_log2,
FILENAME = 'Z:\Database\SQLServer\DATA\mydbdata_log2.ldf')
FOR ATTACH
GO
更新:这个dba.stackexchange.com/questions/52007/… 回答了如何移动的问题,没关系,但是有很多方法……尽管我对所有方法都有信心。我担心这全都与 OLTP 功能和 OLTP 文件有关
一旦将内存优化文件组添加到数据库中,就无法将其删除。您需要将“传统”数据迁移到新数据库,然后删除原始数据库,并将新数据库重命名为旧数据库。
为什么要删除内存优化文件组?