如何更改TEXTIMAGE_ON的文件组

时间:2016-12-15 21:24:00

标签: sql-server azure-sql-database

我正在尝试将我的数据库转换为Azure SQL V12兼容,这需要删除除PRIMARY之外的所有文件组。我已将所有PK和INDEXES迁移到主要版本。现在我只有一些指定TEXTIMAGE_ON的表不在主文件组中。这是当前的表定义:

CREATE TABLE [dbo].[HistLocation](
xxxx
) ON [PRIMARY] TEXTIMAGE_ON [HIST]

我尝试执行此链接中的步骤:https://www.jitbit.com/alexblog/153-moving-sql-table-textimage-to-a-new-filegroup/

但是当我尝试保存文件时,它说明了:

  

"不允许保存更改,您所做的更改需要删除以下表格..."

还有另外一种解决方法吗?

1 个答案:

答案 0 :(得分:-1)

我强烈建议您使用T-SQL进行更改,或者至少预览设计者在提交之前生成的脚本。但是,如果您想在设计器中执行此操作,可以通过转到工具...选项...设计器...表和数据库设计器来关闭该锁定...并取消选中"阻止保存所需的更改表重新创建"。

默认情况下,该锁定处于启用状态;它可以防止你做出一些被设计师混淆的变化。

编辑:如下面的评论中所述,除非您禁用锁定,否则无法预览更改。我的观点是,如果您希望使用表设计器处理禁用此功能的表,则应确保在提交之前始终预览更改。简而言之,选项是:

最佳流程:使用T-SQL 不是很好:禁用锁定,使用表设计器,并始终预览更改 疯狂的谈话:点击一些按钮。