使用Server 2017中的SSMS,我需要将一组表从遗留数据库复制到同一服务器(我的本地主机)上的新数据库中。问题是,在遗留数据库中,当我编写一些表的创建脚本时,它们是在文件组上创建的:
CREATE TABLE [dbo].[Foobar](
[FoobarId] [int] IDENTITY(1,1) NOT NULL,
[OtherColumn] [varchar](100) NOT NULL) ON [AdvantagePrimary]当然,当我运行脚本时,我会得到:
指定的
无效文件组'AdvantagePrimary‘。
有~100+表和14个文件组,我正在为新的数据库编写脚本(我需要所有的模式加上表约束、索引、触发器等等)。
所以我的问题是..。是否可以同时复制表和FileGroups (使用脚本或其他方式)?这里被接受的答案(Is it possible to copy a filegroup from one database to another?)似乎说:“不,你是索尔。”我希望他错了。
我知道可能性很大,但我试了一下:
INSERT INTO NewDatabase.sys.filegroups
SELECT * FROM LegacyDatabase.sys.filegroups并得到:
不允许对系统目录进行
临时更新
有什么简单的方法吗?
发布于 2019-12-02 20:12:58
最后,我只需在目标数据库中手动创建文件组。他们只有14人,所以也不算太糟。在这里找到了关于如何做到这一点的说明:
https://codingsight.com/moving-existing-table-from-primary-filegroup-to-different-filegroup/

https://stackoverflow.com/questions/59144951
复制相似问题