如何将表移动到 SQL Server 2008 中的特定文件组
我刚刚创建了一个辅助文件组,并希望将一些表移至其中,然后将其设置为只读。
我不知道该怎么做?
我是否只使用ALTER blah blah TO MyFileGroup
?
I've just created a secondary filegroup and wish to move some tables over to it and then make it read-only.
I'm not sure how to do this?
do i just use the ALTER blah blah TO MyFileGroup
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
像这样的事情应该有帮助:
Something like this should help:
有两种方法; 一个来自 SSMS,另一个使用 TSQL。
来自 SQL Server 2008 联机丛书:
[SQL Server 2008 之前版本:要将现有表放在不同的文件组 (SSMS) 上,
更有效的方法是
信用:Brian Moran
您可以创建(或重新创建)指定的聚集索引ON 子句的新文件组,它将移动表(数据)。 但是,如果您有非聚集索引并希望它们位于其他文件组上,则必须删除并重新创建它们,同时在 ON 子句中指定新文件组。 参考。
There are two ways; one from SSMS and the other using TSQL.
From SQL Server 2008 Books Online:
[Pre SQL Server 2008: To place an existing table on a different filegroup (SSMS)
A more effective way is
Credit: Brian Moran
You can create (or recreate) the clustered index specifying the new filegroup for the ON clause and that will move the table (data). But if you have nonclustered indexes and want them on the other filegroup you must drop and recreate them also specifying the new filegroup in the ON clause. Ref.
我同意马克的观点。 重建集群效果很好,并且比任务 -> 收缩数据库 -> 文件 -> 快得多。
通过将数据迁移到另一个文件来清空文件。
单独创建索引可以控制系统上的负载,而无需从
select * into [your.new.table.] from .. ...
I agree with Marc. Rebuild cluster works well and is much faster than Tasks->Shrink Database->Files->
Empty file by migrating data to another file.
Creating indexes individualy allows controll over the load on the system without creating huge log files from
select * into [your.new.table.] from .....