如何将 DBCC INDEXDEFRAG 执行的结果插入到表中
欲将DBCCINDEXDEFRAG执行的结果插入到表中,收到如下错误信息"用户事务下无法对dbccindexdefrag的结果操作"
--获取数据
DECLARE@errint,@srcvarchar(255),@descvarchar(255)
DECLARE@objint,@strvarchar(1000)
--使用Windows身份登录
SET@str='Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=master;DataSource='
--使用SQLServer身份登录则用此字符串,注意设置用户名和密码
--SET@str='Provider=SQLOLEDB.1;PersistSecurityInfo=False;InitialCatalog=master;DataSource=;UserID=sa;Password='
--创建对象
EXEC@err=sp_oacreate'adodb.recordset',@objOUT
IF@err<>0GOTOlberr
--获取需要的数据
EXEC@err=sp_oamethod@obj,'open',null,'DBCCINDEXDEFRAG(Northwind,Orders,CustomersOrders)',@str
IF@err<>0GOTOlberr
CREATETABLE#(Column0int,Column1int,Column2int)
INSERT#EXEC@err=sp_oamethod@obj,'getrows'
IF@err<>0GOTOlberr
EXEC@err=sp_oadestroy@obj
RETURN
lberr:
EXECsp_oageterrorinfo0,@srcOUT,@descOUT
SELECTCAST(@errasvarbinary(4))as错误号,
@srcas错误源,@descas错误描述
GO
--显示结果
SELECT*FROM#
DROPTABLE#