Wie benutzt man eine 4-teilige Namenskonvention, um einen verknüpften server in einem Job "Updates Statistik" aufzurufen?

Ich setze einen Job auf einem Integration server ein, um ein statistisches Update auf meiner Client-database auszuführen.

Das Problem ist, dass die Aktualisierungsstatistik-Syntax mir nicht erlaubt, einen 4-teiligen Namen aufzurufen.

Ich möchte so etwas machen:

UPDATE STATISTICS [linked server].[database].[dbo].[table] WITH FULLSCAN GO 

Aber ich bekomme einen Fehler, der besagt, dass die maximale Anzahl der Präfixe überschritten wurde.

Weiß jemand, wie man das herumkommt? Ich habe wirklich nicht die Möglichkeit, diese lokal auf meine Client-database zu setzen.

ANTWORT GEFUNDEN

Vielen Dank an alle, die ihre Hüte auf diesen geworfen haben, aber ich habe eigentlich einen wirklich coolen Workaround für diesen gefunden und hoffentlich kann es jemand anderem helfen.

 EXEC [linked_server].[database].[sys].[sp_executesql] N'UPDATE STATISTICS [dbo].[table] WITH FULLSCAN' 

Dies kann für Trunkierung, Trigger-Aktivierung und Deaktivierung und andere functionen von SQL verwendet werden, die nicht über verknüpfte server zulässig sind.

Von dem, was ich verstehe, übergibt die Aussage über den verknüpften server und dann die Ausführung.

Sie würden wahrscheinlich nicht wollen, um diese Beschränkung zu umgehen, da es unklug wäre, über eine verteilte Transaktion zu tun ;-). Aber du hast Glück. Sie verwenden bereits SSIS. Nur SSIS Verbindung zum richtigen server und die UPDATE STATISTICS über diese direkte / lokale Verbindung.

Darüber hinaus, da Sie SSIS verwenden, hat es eine Aufgabe für die Aktualisierung von Statistiken:

  • Update Statistik Aufgabe (Wartungsplan)
  • Statistik aktualisieren Aufgabe