sys.sp_addscriptexec (Transact-SQL)

A következőkre vonatkozik:SQL Server

Egy Transact-SQL szkriptetet (.sql fájlt) küld ki egy kiadvány minden előfizetőjének. Ezt a tárolt eljárást a publisher a közzétételi adatbázisban hajtja végre.

Transact-SQL szintaxis konvenciók

Syntax

sys.sp_addscriptexec
    [ @publication = ] N'publication'
    , [ @scriptfile = ] N'scriptfile'
    [ , [ @skiperror = ] skiperror ]
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Arguments

[ @publication = ] N'publication'

A kiadvány neve. @publicationa sysname, alapértelmezett nélkül.

[ @scriptfile = ] N'scriptfile'

Az SQL szkript fájlhoz vezető teljes út. @scriptfilenvarchar(4000), alapértelmezett nélkül.

[ @skiperror = ] skiperror

Jelzi, hogy a Distribution Agent vagy a Merge Agent megálljon-e, ha szkript feldolgozás közben hiba adódik. @skiperrorbit, alapértelmezettként 0.

  • 0 = az ügynök megáll.
  • 1 = az ügynök folytatja a szkriptet, és figyelmen kívül hagyja a hibát.

[ @publisher = ] N'publisher'

Nem SQL Server-közzétevőt ad meg. @publisher a sysname, alapértelmezettként NULL.

@publisher nem szabad SQL Server Publisherről való publikáláskor használni.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Remarks

sp_addscriptexec tranzakciós replikációban és összevonásban használják.

sp_addscriptexec nem használják snapshot replikációra.

A használathoz sp_addscriptexecaz SQL Server szolgáltatási fióknak olvasási és írási jogokkal kell rendelkeznie a snapshot helyén, valamint olvasási jogokkal azon a helyen, ahol bármely szkriptet tárolnak.

A sqlcmd segédeszközt a Feliratkozó szkriptje futtatására használják, és a szkript a Distribution Agent vagy a Merge Agent által használt biztonsági kontextusban fut le, amikor csatlakozik az előfizetési adatbázishoz. Amikor az ügynököt egy korábbi SQL Server verzión futtatják, az osql segédeszközt használják a sqlcmd segédeszköz helyett.

sp_addscriptexec hasznos a szkriptek előfizetőre való alkalmazásában, és a sqlcmd segédeszközt használja a szkript tartalmának alkalmazására az előfizetőre. Azonban mivel az előfizetők konfigurációi eltérőek lehetnek, a Publisher-re való közzététel előtt tesztelt szkriptek még mindig hibákat okozhatnak egy előfizetőn. @skiperror lehetővé teszi, hogy Distribution Agent vagy Merge Agent figyelmen kívül hagyja a hibákat, és folytassa. Használd a sqlcmd segédprogramot szkriptek tesztelésére a futtatás sp_addscriptexecelőtt.

Note

A kihagyott hibák továbbra is rögzítésre kerülnek az ügynök történetében referenciaként.

sp_addscriptexec A kiadványok számára FTP-vel történő snapshot továbbítással történő szkriptfájl közzététele csak az SQL Server előfizetők számára támogatott.

Permissions

Csak a rendszergazdai rendszertainált fix szerver vagy db_owner fix adatbázis szerepének tagjai hajthatják végre a sp_addscriptexecjátékot.