Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Publicerar ett Transact-SQL skript (.sql fil) till alla prenumeranter på en publikation. Den här lagrade proceduren körs i Publisher i publikationsdatabasen.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_addscriptexec
[ @publication = ] N'publication'
, [ @scriptfile = ] N'scriptfile'
[ , [ @skiperror = ] skiperror ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Arguments
[ @publication = ] N'publication'
Namnet på publikationen. @publication är sysname, utan standard.
[ @scriptfile = ] Inte skriptfil'
Den fullständiga vägen till SQL-skriptfilen. @scriptfile är nvarchar(4000), utan standard.
[ @skiperror = ] skiperror
Anger om Distribution Agent eller Merge Agent ska sluta när ett fel uppstår under skriptbearbetning.
@skiperror är bit, med standardvärdet .0
-
0= Agenten stannar. -
1= agenten fortsätter skriptet och ignorerar felet.
[ @publisher = ] N'utgivare'
Anger en utgivare som inte är SQL Server.
@publisher är sysname, med standardvärdet NULL.
@publisher bör inte användas när man publicerar från en SQL Server Publisher.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Remarks
sp_addscriptexec används vid transaktionell replikation och sammanslagningsreplikering.
sp_addscriptexec används inte för snapshot-replikering.
För att använda sp_addscriptexecmåste SQL Server-tjänstekontot ha läs- och skrivbehörighet på snapshot-platsen samt läsbehörigheter på platsen där eventuella skript lagras.
sqlcmd-verktyget används för att köra skriptet på Subscriber, och skriptet körs i säkerhetskontexten som används av Distribution Agent eller Merge Agent när man ansluter till prenumerationsdatabasen. När agenten körs på en tidigare version av SQL Server används osql-verktyget istället för sqlcmd-verktyget.
sp_addscriptexec är användbar för att tillämpa skript på prenumeranter och använder sqlcmd-verktyget för att applicera skriptets innehåll på prenumeranten. Eftersom prenumerationskonfigurationer kan variera kan dock skript som testas innan de postas till Publisher fortfarande orsaka fel på en prenumerant.
@skiperror tillåter Distribution Agent eller Merge Agent ignorera fel och fortsätta. Använd sqlcmd-verktyget för att testa skript innan du kör sp_addscriptexec.
Note
Hoppade fel fortsätter att loggas i agenthistoriken som referens.
Att posta sp_addscriptexec en skriptfil för publikationer med FTP för snapshot-leverans stöds endast för SQL Server-prenumeranter.
Permissions
Endast medlemmar av sysadmin-fasta serverrollen eller db_owner fasta databasrollen kan köra sp_addscriptexec.