Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
Публикует скрипт Transact-SQL (.sql файл) всем подписчикам публикации. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_addscriptexec
[ @publication = ] N'publication'
, [ @scriptfile = ] N'scriptfile'
[ , [ @skiperror = ] skiperror ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Аргументы
[ @publication = ] N'publication'
Имя публикации. @publication — sysname без значения по умолчанию.
[ @scriptfile = ] N'scriptfile'
Полный путь к файлу скрипта SQL. @scriptfile — nvarchar(4000), без значения по умолчанию.
[ @skiperror = ] skiperror
Показывает, должен ли агент распространителя или агент слияния останавливаться при возникновении ошибки во время обработки скрипта. @skiperror бит с значением по умолчанию0.
0= агент останавливается.1= агент продолжает скрипт и игнорирует ошибку.
[ @publisher = ] N'publisher'
Указывает издателя, отличного от SQL Server. @publisher — sysname с значением по умолчаниюNULL.
@publisher не следует использовать при публикации с издателя SQL Server.
Значения кода возврата
0 (успешно) или 1 (сбой).
Замечания
sp_addscriptexec используется в репликации транзакций и репликации слиянием.
sp_addscriptexec не используется для репликации моментальных снимков.
Чтобы использовать sp_addscriptexec, учетная запись службы SQL Server должна иметь разрешения на чтение и запись в расположении моментального снимка и разрешения на чтение в расположении, где хранятся скрипты.
Программа sqlcmd используется для выполнения скрипта на подписчике, а скрипт выполняется в контексте безопасности, используемом агент распространения или агент слияния при подключении к базе данных подписки. При запуске агента на предыдущей версии SQL Server программа osql используется вместо служебной программы sqlcmd.
sp_addscriptexec полезно применять скрипты к подписчикам и использовать служебную программу sqlcmd для применения содержимого скрипта к подписчику. Тем не менее, поскольку конфигурации подписчиков могут отличаться, скрипты, проверенные перед публикацией издателю, могут по-прежнему вызвать ошибки на подписчике. @skiperror позволяет агент распространения или агент слияния игнорировать ошибки и продолжать работу. Используйте служебную программу sqlcmd для тестирования скриптов перед выполнениемsp_addscriptexec.
Примечание.
Пропущенные ошибки продолжают регистрироваться в журнале агента для справки.
Использование sp_addscriptexec для публикации файла скрипта для публикаций с помощью FTP для доставки моментальных снимков поддерживается только для подписчиков SQL Server.
Разрешения
Могут выполняться только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.sp_addscriptexec