Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL ServerAzure
SQL Managed Instance
Přidává agenta Log Reader pro danou databázi. Tato uložená procedura se spustí v Publisheru v databázi publikace.
Důležité
Při konfiguraci Publisher s vzdáleným distributorem jsou hodnoty zadané pro všechny parametry, včetně @job_login a @job_password, odesílány distributoru jako čistý text. Před spuštěním této uložené procedury byste měli šifrovat připojení mezi vydavatelem a jeho vzdáleným distributorem. Další informace najdete v tématu Konfigurace databázového stroje SQL Serveru pro šifrování připojení.
Syntax
sys.sp_addlogreader_agent
[ [ @job_login = ] N'job_login' ]
[ , [ @job_password = ] N'job_password' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] N'publisher_login' ]
[ , [ @publisher_password = ] N'publisher_password' ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @job_security_mode = ] job_security_mode ]
[ ; ]
Arguments
[ @job_login = ] N'job_login'
Přihlášení k účtu Windows, pod kterým agent běží.
@job_login je nvarchar(257), s výchozím hodnotou NULL. Tento Windows účet se vždy používá pro připojení agentů k distributorovi. Na Azure SQL Managed Instance použijte účet SQL Server.
Poznámka:
Pro nevydavatele bez SQL Server musí být toto stejné přihlášení uvedené v sp_adddistpublisher.
[ @job_password = ] N'job_password'
Heslo k Windows účtu, pod kterým agent běží.
@job_password je sysname s výchozím nastavením NULL.
Důležité
Neukládejte autentizační informace do skriptových souborů. Pro nejlepší bezpečnost by měly být přihlašovací jména a hesla poskytována za běhu.
[ @job_name = ] N'job_name'
Název stávající pozice agenta.
@job_name je sysname s výchozím nastavením NULL. Tento parametr je specifikován pouze tehdy, když agent začne používat existující úkol místo nově vytvořeného úkolu (výchozí).
[ @publisher_security_mode = ] publisher_security_mode
Poznámka:
Microsoft Entra ID se dříve označovala jako Azure Active Directory (Azure AD).
Bezpečnostní režim, který agent používá při připojení k Publisher.
@publisher_security_mode je smallint, s výchozím hodnotou 1. Hodnota musí 0 být určena pro vydavatele mimo SQL Server. Následující hodnoty definují bezpečnostní režim:
-
0specifikuje autentizaci SQL Serveru. -
1specifikuje autentizaci Windows. -
2specifikuje ověření heslem Microsoft Entra počínaje SQL Server 2022 (16.x) CU 6. -
3specifikuje integrovanou autentizaci Microsoft Entra počínaje SQL Server 2022 (16.x) CU 6. -
4specifikuje autentizaci Microsoft Entra token počínaje SQL Server 2022 (16.x) CU 6.
[ @publisher_login = ] N'publisher_login'
Přihlášení používané při připojování k Publisher.
@publisher_login je sysname, s výchozím nastavením NULL.
@publisher_login musí být specifikován, když @publisher_security_mode je .0 Pokud @publisher_login je a NULL@publisher_security_mode je 1, pak se při připojování k Publisher používá Windows účet uvedený v @job_login.
[ @publisher_password = ] N'publisher_password'
Heslo používané při připojení k vydavateli.
@publisher_password je sysname s výchozím nastavením NULL.
Důležité
Neukládejte autentizační informace do skriptových souborů. Pro nejlepší bezpečnost by měly být přihlašovací jména a hesla poskytována za běhu.
[ @publisher = ] N'publisher'
Jméno ne-SQL Server Publisher.
@publisher je sysname s výchozím nastavením NULL.
Poznámka:
Tento parametr byste neměli specifikovat pro SQL Server Publisher.
[ @job_security_mode = ] job_security_mode
Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Remarks
sp_addlogreader_agent se používá v transakční replikaci.
Musíte spustit sp_addlogreader_agent přidání agenta Log Reader, pokud jste aktualizovali databázi, která byla povolena pro replikaci, na tuto verzi SQL Server před vytvořením publikace, která databázi využívala.
Povolení
Pouze členové role pevného správce systému nebo role db_owner pevné databáze mohou vykonávat sp_addlogreader_agent.
Examples
-- To avoid storing the login and password in the script file, the values
-- are passed into SQLCMD as scripting variables. For information about
-- how to use scripting variables on the command line and in SQL Server
-- Management Studio, see the "Executing Replication Scripts" section in
-- the topic "Programming Replication Using System Stored Procedures".
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks';
SET @publication = N'AdvWorksProductTran';
-- Windows account used to run the Log Reader and Snapshot Agents.
SET @login = $(Login);
-- This should be passed at runtime.
SET @password = $(Password);
-- Enable transactional or snapshot replication on the publication database.
EXEC sp_replicationdboption
@dbname=@publicationDB,
@optname=N'publish',
@value = N'true';
-- Execute sp_addlogreader_agent to create the agent job.
EXEC sp_addlogreader_agent
@job_login = @login,
@job_password = @password,
-- Explicitly specify the use of Windows Integrated Authentication (default)
-- when connecting to the Publisher.
@publisher_security_mode = 1;
-- Create a new transactional publication with the required properties.
EXEC sp_addpublication
@publication = @publication,
@status = N'active',
@allow_push = N'true',
@allow_pull = N'true',
@independent_agent = N'true';
-- Create a new snapshot job for the publication, using a default schedule.
EXEC sp_addpublication_snapshot
@publication = @publication,
@job_login = @login,
@job_password = @password,
-- Explicitly specify the use of Windows Integrated Authentication (default)
-- when connecting to the Publisher.
@publisher_security_mode = 1;
GO