Sql-Server-2017

使用記憶體 OLTP 功能在 sql server 2017 上移動數據庫

  • January 16, 2019

我在 sql server 2017 標準版上有一個啟用了記憶體 OLTP 功能的數據庫,我必須將它移動到另一個磁碟上,這是最好的方法嗎?有什麼可能的問題嗎?

我可以設法擺脫這個 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 文件的

將記憶體優化文件組添加到數據庫後,就無法將其刪除。您需要將“傳統”數據遷移到新數據庫,然後刪除原始數據庫,並將新數據庫重命名為舊數據庫。

為什麼要刪除記憶體優化文件組?

引用自:https://dba.stackexchange.com/questions/227284