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