2014-02-05 102 views
0

我试图创建一个存储过程,它检索我的链接服务器的列表,构建其数据库的列表并重建具有特定碎片级别的任何表索引,一定数量的页面。在SQL Server 2008 R2中链接服务器上重建索引

我遇到的一个问题是当我实际执行重建命令。我的代码是:

SET @cmd = 'ALTER INDEX' + QUOTENAME(@index) + ' ON ' + QUOTENAME(@servername) + '.' + QUOTENAME(@dbname) + '.' + QUOTENAME(@schema) + '.' + QUOTENAME(@table) + ' REBUILD;' 

EXECUTE sp_sqlexec @cmd 

我得到的错误是:

“找不到对象” ServerName.Databasename .dbo。 INDEXNAME“因为它不存在或您没有权限”

我在错误消息正确更换的服务器,数据库和索引的名字,但四部分组成的标识符显示器。

我在想如果在链接的服务器上重建索引是可能的,如果是的话,需要什么权限。其他人试过这种事情?

感谢

+0

只要看看下面的链接,可能会回答你的问题[链接](http://serverfault.com/a/75411) –

+0

感谢纳文,但它并没有真正给我答案。我可以在我的链接服务器上创建过程并远程执行它们,但我试图避免在链接服务器上创建任何东西。 –

回答

0

编辑:

我想我已经得到了它。如果任何人有这个问题,你可以试试:

​​3210
相关问题