Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
S'applique à : SQL Server
Publie un script Transact-SQL (.sql
fichier) sur tous les Abonnés d’une publication. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.
Conventions de la syntaxe Transact-SQL
sp_addscriptexec
[ @publication = ] N'publication'
, [ @scriptfile = ] N'scriptfile'
[ , [ @skiperror = ] skiperror ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Nom de la publication. @publication est sysname, sans valeur par défaut.
Chemin d’accès complet au fichier de script SQL. @scriptfile est nvarchar(4000), sans valeur par défaut.
Indique si l'Agent de distribution ou de fusion doit s'arrêter lorsqu'une erreur se produit au cours du traitement du script. @skiperror est bit, avec la valeur par défaut 0
.
0
= l’agent s’arrête.1
= l’agent poursuit le script et ignore l’erreur.Spécifie un serveur de publication non-SQL Server. @publisher est sysname, avec la valeur par défaut NULL
.
@publisher ne doit pas être utilisé lors de la publication à partir d’un serveur de publication SQL Server.
0
(réussite) or 1
(échec).
sp_addscriptexec
est utilisé dans la réplication transactionnelle et la réplication de fusion.
sp_addscriptexec
n’est pas utilisé pour la réplication d’instantanés.
Pour l’utiliser sp_addscriptexec
, le compte de service SQL Server doit disposer d’autorisations de lecture et d’écriture sur l’emplacement de l’instantané et des autorisations de lecture sur l’emplacement où sont stockés tous les scripts.
L’utilitaire sqlcmd est utilisé pour exécuter le script sur l’Abonné, et le script est exécuté dans le contexte de sécurité utilisé par l’Agent de distribution ou Agent de fusion lors de la connexion à la base de données d’abonnement. Lorsque l’agent est exécuté sur une version précédente de SQL Server, l’utilitaire osql est utilisé au lieu de l’utilitaire sqlcmd.
sp_addscriptexec
est utile pour appliquer des scripts aux abonnés et utilise l’utilitaire sqlcmd pour appliquer le contenu du script à l’Abonné. Toutefois, étant donné que les configurations de l’Abonné peuvent varier, les scripts testés avant la publication sur le serveur de publication peuvent encore provoquer des erreurs sur un Abonné. @skiperror permet l’Agent de distribution ou Agent de fusion ignorer les erreurs et continuer. Utilisez l’utilitaire sqlcmd pour tester les scripts avant d’exécuter sp_addscriptexec
.
Note
Les erreurs ignorées continuent d’être consignées dans l’historique de l’agent pour référence.
L’utilisation sp_addscriptexec
d’un fichier de script pour les publications utilisant FTP pour la remise d’instantanés n’est prise en charge que pour les abonnés SQL Server.
Seuls les membres du rôle serveur fixe sysadmin ou db_owner rôle de base de données fixe peuvent s’exécuter sp_addscriptexec
.
Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’hui