Puts future space allocations for a table or index on a particular segment.
sp_placeobject segname, objname
is the name of the segment on which to locate the table or index.
is the name of the table or index for which to place subsequent space allocation on the segment segname. Specify index names in the form “tablename.indexname”
This places all subsequent space allocation for the table authors on the segment named “segment3”:
sp_placeobject segment3, authors
This command places all subsequent space allocation for the employee table’s index named employee_nc on the segment named indexes:
sp_placeobject indexes, 'employee.employee_nc'
You cannot change the location of future space allocations for system tables.
Placing a table or an index on a particular segment does not affect the location of any existing table or index data. It affects only future space allocation. Changing the segment used by a table or an index can spread the data among multiple segments.
If you use sp_placeobject with a clustered index, the table moves with the index.
You can specify a segment when you create a table or an index with create table or create index. If you do not specify a segment, the data goes on the default segment.
When sp_placeobject splits a table or an index across more than one disk fragment, the diagnostic command dbcc displays messages about the data that resides on the fragments that were in use for storage before sp_placeobject executed. Ignore those messages.
You cannot use sp_placeobject on a partitioned table.
Only the table owner, Database Owner, or System Administrator can execute sp_placeobject.
Commands alter table, dbcc
System procedures sp_addsegment, sp_dropsegment, sp_extendsegment, sp_helpindex, sp_helpsegment