創(chuàng)建新的分發(fā)數(shù)據(jù)庫(kù)并安裝分發(fā)服務(wù)器架構(gòu)。分發(fā)數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程、架構(gòu)以及用于復(fù)制的元數(shù)據(jù)。此存儲(chǔ)過(guò)程在分發(fā)服務(wù)器的主數(shù)據(jù)庫(kù)上執(zhí)行,創(chuàng)建分發(fā)數(shù)據(jù)庫(kù)并安裝啟用復(fù)制分發(fā)所需的表和存儲(chǔ)過(guò)程。
sp_adddistributiondb [ @database = ] 'database'
[ , [ @data_folder = ] 'data_folder' ]
[ , [ @data_file = ] 'data_file' ]
[ , [ @data_file_size = ] data_file_size ]
[ , [ @log_folder = ] 'log_folder' ]
[ , [ @log_file = ] 'log_file' ]
[ , [ @log_file_size = ] log_file_size ]
[ , [ @min_distretention = ] min_distretention ]
[ , [ @max_distretention = ] max_distretention ]
[ , [ @history_retention = ] history_retention ]
[ , [ @security_mode = ] security_mode ]
[ , [ @login = ] 'login' ]
[ , [ @password = ] 'password' ]
[ , [ @createmode = ] createmode ]
[@database = ] 'database'
是要?jiǎng)?chuàng)建的分發(fā)數(shù)據(jù)庫(kù)名稱(chēng)。database 的數(shù)據(jù)類(lèi)型為 sysname,沒(méi)有默認(rèn)設(shè)置。
[@data_folder = ] 'data_folder'
是用于存儲(chǔ)分發(fā)數(shù)據(jù)庫(kù)數(shù)據(jù)文件的目錄名稱(chēng)。data_folder 的數(shù)據(jù)類(lèi)型為 nvarchar(255),默認(rèn)設(shè)置為 NULL。如果是 NULL,則使用 Microsoft® SQL Server™ 實(shí)例的數(shù)據(jù)目錄,例如"C:\Program Files\Microsoft SQL Server\Mssql\Data"。
[@data_file = ] 'data_file'
是數(shù)據(jù)庫(kù)文件名。data_file 的數(shù)據(jù)類(lèi)型為 nvarchar(255),默認(rèn)設(shè)置為 database。如果是 NULL,則存儲(chǔ)過(guò)程使用數(shù)據(jù)庫(kù)名稱(chēng)構(gòu)造文件名。
[@data_file_size = ] data_file_size
是以兆字節(jié) (MB) 為單位的數(shù)據(jù)文件初始大小。data_file_size 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)設(shè)置為 2 MB。
[@log_folder = ] 'log_folder'
是數(shù)據(jù)庫(kù)日志文件目錄名。log_folder 的數(shù)據(jù)類(lèi)型為 nvarchar(255),默認(rèn)設(shè)置為 NULL。如果是 NULL,則使用 SQL Server 實(shí)例的數(shù)據(jù)目錄,例如 C:\Program Files\Microsoft SQL Server\Mssql\Data。
[@log_file = ] 'log_file'
是日志文件名。log_file 的數(shù)據(jù)類(lèi)型為 nvarchar(255),默認(rèn)設(shè)置為 NULL。如果是 NULL,則存儲(chǔ)過(guò)程使用數(shù)據(jù)庫(kù)名稱(chēng)構(gòu)造文件名。
[@log_file_size = ] log_file_size
是初始日志文件大?。ㄒ?MB 為單位)。log_file_size 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)設(shè)置為 0 MB,表示使用 SQL Server 允許的最小日志文件大小所創(chuàng)建的文件大小。
[@min_distretention = ] min_distretention
是事務(wù)從分發(fā)數(shù)據(jù)庫(kù)中刪除前的最小保持期(以小時(shí)為單位)。min_distretention 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)設(shè)置為 0 小時(shí)。
[@max_distretention = ] max_distretention
是事務(wù)被刪除前的最大保持期(以小時(shí)為單位)。max_distretention 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)設(shè)置為 72 小時(shí)。將還沒(méi)有接收到早于最大分發(fā)保持期的復(fù)制命令的訂閱標(biāo)記為非活動(dòng),且需要重新初始化。對(duì)每個(gè)非活動(dòng)的訂閱發(fā)出 RAISERROR 21011。
[@history_retention = ] history_retention
是保留歷史記錄的小時(shí)數(shù)。history_retention 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)設(shè)置為 48 小時(shí)。
[@security_mode = ] security_mode
是要在創(chuàng)建分發(fā)數(shù)據(jù)庫(kù)對(duì)象時(shí)使用的安全模式。security_mode 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)設(shè)置為 0。0 指定 SQL Server 身份驗(yàn)證,而 1 指定 Windows 身份驗(yàn)證。
[@login = ] 'login'
是連接到分發(fā)服務(wù)器時(shí)所使用的登錄名,連接后可以運(yùn)行 instdist.sql 創(chuàng)建分發(fā)數(shù)據(jù)庫(kù)對(duì)象。如果將 security_mode 設(shè)置為 0,則這是必需的。login 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)設(shè)置為 sa。
[@password = ] 'password'
是連接到分發(fā)服務(wù)器運(yùn)行 instdist.sql 時(shí)所使用的密碼。如果將 security_mode 設(shè)置為 0,則這是必需的。password 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)設(shè)置為 NULL。
[@createmode = ] createmode
createmode 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)設(shè)置為 0,可以是下列值之一。
值 | 描述 |
---|---|
0(默認(rèn)值) | CREATE DATABASE,使用分發(fā)數(shù)據(jù)庫(kù)模型文件 (distmdl.mdf) 的復(fù)本附加分發(fā)數(shù)據(jù)庫(kù)。 |
1 | CREATE DATABASE 或使用現(xiàn)有的數(shù)據(jù)庫(kù),然后應(yīng)用 instdist.sql 文件在分發(fā)數(shù)據(jù)庫(kù)中創(chuàng)建復(fù)制對(duì)象。 |
2 | 僅限內(nèi)部使用。 |
0(成功)或 1(失?。?/P>
sp_adddistributiondb 用于所有類(lèi)型的復(fù)制。但是,此存儲(chǔ)過(guò)程只在分發(fā)服務(wù)器上運(yùn)行。
在運(yùn)行 sp_adddistributiondb 之前運(yùn)行 sp_adddistributor。
只有 sysadmin 固定服務(wù)器角色成員才能執(zhí)行 sp_adddistributiondb。
相關(guān)文章