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. This include all existing partitions in the table/index and any new partitions added later if no segment is specified for a new partition. 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. You can also specify a segment at the partition level as part of a partition definition. Partitions without segment specification uses the segment specified at the table/index level. If no segment is specified for the table/index level, 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.
Only the table owner, Database Owner, or System Administrator can execute sp_placeobject.
Values in event and extrainfo columns from the sysaudits table are:
Event |
Audit option |
Command or access audited |
Information in extrainfo |
---|---|---|---|
38 |
exec_procedure |
Execution of a procedure |
|
Commands alter table, dbcc
System procedures sp_addsegment, sp_dropsegment, sp_extendsegment, sp_helpindex, sp_helpsegment