2014-02-05 149 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
相關問題