MS SQL Server 2008数据库怎么实现数据库同步备份?
SQL Server 2008数据库【shù jù kù】🌾复制是通过发布【bù】🏷/订阅的机制进【jī zhì jìn】行多台🦃服务器【fú wù qì】🎧之间的【zhī jiān de】数据同步【tóng bù】🐦,我们把它用于数据库【shù jù kù】🌾的同步【tóng bù】🎳备份。这里的【zhè lǐ de】🉑同步【tóng bù】🐦备份指的是备【de shì bèi】份🆚服务器【fú wù qì】🎧与主服务器【fú wù qì】🎧进行实时数据【shí shù jù】同步【tóng bù】🐦,正常情况下只【kuàng xià zhī】使用【shǐ yòng】🔽主数据库【shù jù kù】🌾服务器【fú wù qì】🎧,备份服【bèi fèn fú】务器【wù qì】🎧只在主服务器【fú wù qì】🎧出现故障时投入使用【shǐ yòng】🔽。它是一🥜种优于【zhǒng yōu yú】文件备份的数据库【shù jù kù】🌾备份解【bèi fèn jiě】决🎄方案🤗。
在选择数据库【shù jù kù】同步备份解决⌛方案时🏰,我们评估了两😿种方式🕙:SQL Server 2008的数据库【shù jù kù】镜像💖和🦉SQL Server 2008数据库【shù jù kù】复制。数据库【shù jù kù】镜像💖的优点【de yōu diǎn】是系统能自动发现主服【fú】🤠务器故【wù qì gù】🍅障,并且自动切换【dòng qiē huàn】至镜像【zhì jìng xiàng】😛服【fú】务器。但缺点是配置【shì pèi zhì】🌩复杂【fù zá】🤰,镜像数🤲据库中的【kù zhōng de】数据不可见【kě jiàn】(在SQL Server Management Studio中【zhōng】,只能看💂到镜像🍴数据库【shù jù kù】处于镜【chù yú jìng】像状态,无法进【wú fǎ jìn】行任何数据库【shù jù kù】操作,最简单🌏的查询也不行【yě bú háng】。想眼见为实【wéi shí】🏫,看看镜🛳像数据库【shù jù kù】中【zhōng】的数据是【shù jù shì】否正确都不行【dōu bú háng】💁。只有将🚊镜像数🤲据库切换主数据库【shù jù kù】才可见【kě jiàn】)。如果你要使用数据库【shù jù kù】镜像💖,强烈推🕎荐【jiàn】killkill写的👸SQL Server 2005 镜像构建手册,我们就是按照【shì àn zhào】这篇文章完成【zhāng wán chéng】🤵了数据🌀库镜像💖部署测试【shì】。
最终👂,我们选【wǒ men xuǎn】择了【zé le】SQL Server 2008数据库🗑复制。
下面通过一个示例和【shì lì hé】大家一🕒起学习一下如【yī xià rú】💋何部署【hé bù shǔ】🍙SQL Server 2008数据库复制。
测试环【cè shì huán】境【jìng】:Windows Server 2008 R2 + SQL Server 2008 R2(英文版),两台服【liǎng tái fú】务器📗,一台主🚫数据库【kù】🐜服务器📗CNBlogsDB1,一台备🎺份数据库【kù】🐜服务器📗CNBlogsDB2。
复制【fù zhì】原理【lǐ】📪:我们采🐰用的是基于快【jī yú kuài】照🤨的事务复制【fù zhì】。主数据🕒库服务😋器生成快照【kuài zhào】🤨,备份库❗服务器【fú wù qì】读取并加载该🚩快照【kuài zhào】🤨,然后不【rán hòu bú】停地从主数据🕒库服务😋器复制【fù zhì】事务日【shì wù rì】志🍚。见下图【jiàn xià tú】:
图片来自SQL Server联机丛书
安装与配置步骤:
一、在两台【zài liǎng tái】服务器【fú wù qì】💻上安装🅾好👞SQL Server 2008 R2,主要安装的组件:Database Engine(含【hán】SQL Server Replication),Management Tools。
二🐕、主数据【zhǔ shù jù】库服务器【wù qì】🌂(发布服务器【wù qì】🌂)的配置【de pèi zhì】🙄:
1. 在主数据库服务器CNBlogsDB1新建示【xīn jiàn shì】例数据库CNBlogsDemo(注意Recovery mode要使用【yào shǐ yòng】🎃默认值Full,只有这【zhī yǒu zhè】个模式💎才能进🥒行事务复制【fù zhì】😆),然后建立一张【lì yī zhāng】🏋测试表【cè shì biǎo】,比如🙁:CNBlogsTest。
2. 设置存放快照的文件夹:
创建发🍭布之前,先设置【xiān shè zhì】😨一下存【yī xià cún】放快照的文件【jiàn】夹【jiá】,创建发🍭布后会【bù hòu huì】🎢在该文🌄件【jiàn】夹【jiá】生😊成快照文件【jiàn】,订阅服🈯务器需要在初始化时【shǐ huà shí】加载该快照文件【jiàn】。
选择【xuǎn zé】🚍Replication》Local Publications》属性,在出现【zài chū xiàn】🕵的窗口中选择【xuǎn zé】🚍Publishers,如下图:
点击红框处的按钮,出现设置窗口:
在🙄Default Snapshot Folder中设置快照文【kuài zhào wén】件存放【jiàn cún fàng】🚽路径。
3. 在主数据库服务器创建发布:
在Replication》Local Publications中选择New Publication,出现一🥉个向导【gè xiàng dǎo】🐁。先选择要发布的数据【de shù jù】库🍧CNBlogsDemo,然后选【rán hòu xuǎn】择发布类型Transational publication,如下图【rú xià tú】🔜:
点击Next,出现错误:
原来所【yuán lái suǒ】有要复制的表【zhì de biǎo】都需要有主键🛤,刚才建【gāng cái jiàn】CNBlogsTest表时,没有建【méi yǒu jiàn】🔠主键🛤。建一下👥主键🛤,并重新🥌启动向【qǐ dòng xiàng】导就可🔹以了。
接着选择要复制的对象:
点【diǎn】Next,Next,进入Snapshot Agent窗口,选择🕣Create a snapshot immediately and keep the snapshot available to initialize subscriptions,见下图【jiàn xià tú】📶:
Next,进入【jìn rù】♊Agent Security:
选择【xuǎn zé】🦐Security Settings,进行相应的帐🛡户设置【hù shè zhì】:
一个是设置运🤐行Snapshot Agent的【de】Windows帐户,我们这🎖里选择与【yǔ】SQL Server Agent同样的【tóng yàng de】📰帐户。
一个是【yī gè shì】设置连【shè zhì lián】📌接发布服务器的🌫SQL帐户【zhàng hù】🧢,我们这【wǒ men zhè】里就用🤔主数据库服务器的🌫sa帐户【zhàng hù】🧢。
继续:OK,Next,Next,为这个【wéi zhè gè】发布起【fā bù qǐ】🧟个名字💥:
点击🔲Finish,就开始正式创建发布【jiàn fā bù】,创建成【chuàng jiàn chéng】功就会⏰出现如👪下窗口【xià chuāng kǒu】:
这时查看快照文件夹【wén jiàn jiá】🦐,就会看【jiù huì kàn】到👚unc文件夹【wén jiàn jiá】🦐,快照文件就在✡这个文件夹【wén jiàn jiá】🦐中【zhōng】。
这里要考虑这样一个🕑问题【wèn tí】,如何让订阅服🎨务器通过网络【guò wǎng luò】访问这【fǎng wèn zhè】🍠个快照【gè kuài zhào】文件夹🈸。
我们在🔦这个问题上折腾了⏲一些时间,本来想通过共【tōng guò gòng】享文件【xiǎng wén jiàn】夹的方式【de fāng shì】,但又不想打开匿名共😢享【xiǎng】,折腾了⏲半天,没搞定🎴订阅服【dìng yuè fú】🚚务器访🛎问共享文件【xiǎng wén jiàn】夹用户验【yòng hù yàn】证的问【zhèng de wèn】题。于是采用了【yòng le】FTP的方式【de fāng shì】,所以,下面介🥑绍一下【shào yī xià】👩如何让【rú hé ràng】🍣订阅服【dìng yuè fú】🚚务器通😪过FTP访问快照文件【zhào wén jiàn】。
4. 设置快照的FTP访问
首先在【shǒu xiān zài】主数据【zhǔ shù jù】库服务🐮器上开🚫通🥇FTP服务🥑,建立一个指向快照文件夹的🕶FTP站点,设置好【shè zhì hǎo】可以远🙏程连接的🕶FTP帐户【zhàng hù】。然后在🍙这台发【zhè tái fā】😆布服务🥑器设置【qì shè zhì】一下【yī xià】FTP客户端配置【pèi zhì】。配置【pèi zhì】方法如下:
在♊Replication》Local Publications中选择刚才创🥂建的发【jiàn de fā】🍿布【bù】[CNBlogsDemo]:CNBlogsDemo_Publication,选择属【xuǎn zé shǔ】性》FTP Snapshot,如下图:
选中🐶Allow Subscribers to download snapshot files using FTP,并设置【bìng shè zhì】🌌一下【yī xià】FTP客户端连接【lián jiē】参数,订阅服【dìng yuè fú】务器📊就是通过这里【guò zhè lǐ】的设置🕤连接【lián jiē】FTP服务器📊的🥂(注【zhù】📺:Path from the FTP root folder的设置🕤要和上图一样,设置为:/ftp)。
点击🏺OK,这时会【zhè shí huì】在快照文件【wén jiàn】🥊夹中创建一个🙄ftp文件【wén jiàn】🥊夹,并在该【bìng zài gāi】👆文件【wén jiàn】🥊夹中生成快照文件【wén jiàn】🥊。
这样【zhè yàng】,发布服务器【wù qì】🤡就配置【jiù pèi zhì】好了,下面配置订阅🌌服务器【wù qì】🤡。
三🍍、备份数据库服【jù kù fú】务器【wù qì】🦏(订阅服【dìng yuè fú】务器【wù qì】🦏)的配置🎰:
进入订📣阅服务器CNBlogsDB2,创建与【chuàng jiàn yǔ】发布服务器同🍘名的数【míng de shù】据库【jù kù】CNBlogsDemo,使用完全恢复😛模式【mó shì】🆚。
在🌓Replication》Local Subscriptions中选择New Subscriptions,进入向【jìn rù xiàng】🌫导【dǎo】。
Next,进入选择【xuǎn zé】🌛发布服【fā bù fú】务器🦆的窗口【de chuāng kǒu】,选择【xuǎn zé】🌛Find SQL Server Publisher,出现服务器🦆连接窗口🍥:
这里要注意的🖊是Server Name中一定【zhōng yī dìng】✒要填写发布服🧟务器的【wù qì de】计算机🛑名【míng】🦏,如果计算机🛑名【míng】🦏连接不上,要在【yào zài】hosts文件中🌶加一个【jiā yī gè】IP地址解【dì zhǐ jiě】析。
成功连接发布服务器【fú wù qì】🌨之后,就可以看到刚😼才在主【cái zài zhǔ】数据库🍔服务器【fú wù qì】🌨上创建【shàng chuàng jiàn】的发布【de fā bù】🚉:
Next,进入"分发代理工作位置"的选择【de xuǎn zé】🔏窗口【chuāng kǒu】🐌:
我们这【wǒ men zhè】💝里选择❄pull subscriptions,把数据给拉过来,这样主【zhè yàng zhǔ】数据库服务器【fú wù qì】🏣的负担会轻些。
Next,选择订😃阅服务器上的数据库【shù jù kù】⛄,之前我们已经【men yǐ jīng】🤾建好同【jiàn hǎo tóng】名的数据库【shù jù kù】⛄,所以系统自己会找到。
Next,进入分发代理安全设置窗口:
点击红框内的按钮,进入设置窗口:
设置如上图【shàng tú】,Connect to the Distributor处设置【chù shè zhì】🤴的是发布服务【bù fú wù】器的🏣sa帐户🔗。
OK, Next, Next, Next:
关键词【guān jiàn cí】:SQLServer,MSSQL,数据库🌐,数据库🌐同步备【tóng bù bèi】份🥔
阅读本文后您有什么感想? 已有 人给出评价!
- 0
- 0
- 0
- 0
- 0
- 0