<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_我帅故我在</title><subtitle type="text">专注于：SQL Server、MySQL、性能调优、数据挖掘(DM)、商业智能(BI)。兼职SQL Server性能调优顾问。Email：gaizai@126.com MSN：bbspediy@hotmail.com</subtitle><id>http://feed.cnblogs.com/blog/u/51899/rss</id><updated>2012-05-21T08:38:44Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/51899/rss"/><entry><id>http://www.cnblogs.com/gaizai/archive/2012/04/12/2444447.html</id><title type="text">Ubuntu10下MySQL搭建Amoeba_分片</title><summary type="text">一、背景知识"Shard" 这个词英文的意思是"碎片"，而作为数据库相关的技术用语，"Sharding" 姑且称之为"分片"。Sharding 不是一个某个特定数据库软件附属的功能，而是在具体技术细节之上的抽象处理，是水平扩展(Scale Out，亦或横向扩展、向外扩展)的解决方案，其主要目的是为突破单节点数据库服务器的 I/O 能力限制，解决数据库扩展性问题。Sharding 基本上是针对开源数据库的扩展性解决方案，很少有听说商业数据库进行 Sharding 的。目前业界的趋势基本上是拥抱 Scale Out，逐</summary><published>2012-04-12T10:49:00Z</published><updated>2012-04-12T10:49:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2012/04/12/2444447.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2012/04/12/2444447.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;背景知识&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;"Shard" &lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这个词英文的意思是"碎片"，而作为数据库相关的技术用语，"Sharding" 姑且称之为"分片"。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Sharding &lt;/span&gt;&lt;span style="font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;不是一个某个特定数据库软件附属的功能，而是在具体技术细节之上的抽象处理，是水平扩展(Scale Out，亦或横向扩展、向外扩展)的解决方案，其主要目的是为突破单节点数据库服务器的 I/O 能力限制，解决数据库扩展性问题。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Sharding &lt;/span&gt;&lt;span style="font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;基本上是针对开源数据库的扩展性解决方案，很少有听说商业数据库进行 Sharding 的。目前业界的趋势基本上是拥抱 Scale Out，逐渐从 Scale Up 中解放出来。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;数据 Sharding 的策略与分区表的方式有很多类似的地方，有基于表、ID 范围、数据产生的时间或是SOA 下理念下的基于服务等众多方式可选择。而与传统的表分区方式不同的是，Sharding 策略和业务结合的更为紧密，成功的 Sharding 必须对自己的业务足够熟悉，进行众多可行性分析的基础上进行，"业务逻辑驱动"。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;配置过程&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(一)&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;测试环境&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;：192.168.1.147&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;server1&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;：192.168.1.25&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;server2&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;：192.168.1.30&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;server3&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;：192.168.1.35&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;数据库为：DBA_DB，帐号密码统一为：test/123456&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(二)&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;前期准备&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;验证Amoeba是否安装成功的命令（如下图）：/usr/local/amoeba/bin/amoeba &lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center;text-indent:21.0pt"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/sp1.jpg" width="366" height="42" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center;text-indent:21.0pt"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图1：安装成功）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;启动amoeba：&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;/usr/local/amoeba/bin/amoeba start&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/sp2.jpg" width="558" height="167" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图2：启动成功）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(三)&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;分片配置&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;修改amoeba.xml，设置登陆amoeba的帐号密码。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="user"&amp;gt;&lt;span style="color:red"&gt;testuser&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="password"&amp;gt;&lt;span style="color:red"&gt;password&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;测试使用上面帐号是否正常登陆，如果出现上面的&lt;strong&gt;图2&lt;/strong&gt;界面说明设置的帐号密码成功。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;#mysql -u testuser -p -h 192.168.1.147 -P 8066&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;修改dbServers.xml，设置数据库、登陆MySQL的帐号和密码。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="schema"&amp;gt;&lt;span style="color:red"&gt;DBA_DB&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="user"&amp;gt;&lt;span style="color:red"&gt;test&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="password"&amp;gt;&lt;span style="color:red"&gt;123456&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;修改dbServers.xml，设置数据库服务器的IP地址和服务器别名。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp; &amp;lt;dbServer name="&lt;span style="color:red"&gt;server1&lt;/span&gt;"&amp;nbsp; parent="abstractServer"&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;factoryConfig&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="ipAddress"&amp;gt;&lt;span style="color:red"&gt;192.168.1.25&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/factoryConfig&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp; &amp;lt;/dbServer&amp;gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp; &amp;lt;dbServer name="&lt;span style="color:red"&gt;server2&lt;/span&gt;"&amp;nbsp; parent="abstractServer"&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;factoryConfig&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name="ipAddress"&amp;gt;&lt;span style="color:red"&gt;192.168.1.30&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/factoryConfig&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp; &amp;lt;/dbServer&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp; &amp;lt;dbServer name="&lt;span style="color:red"&gt;server3&lt;/span&gt;"&amp;nbsp; parent="abstractServer"&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;factoryConfig&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="ipAddress"&amp;gt;&lt;span style="color:red"&gt;192.168.1.35&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/factoryConfig&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/dbServer&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;修改rule.xml，设置分片规则，设置需要分片的表、数据库名、分片的服务器、分片规则：对ID mod 3，分别分片到server1、server2、server3。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;tableRule name="&lt;span style="color:red"&gt;store&lt;/span&gt;" schema="&lt;span style="color:red"&gt;DBA_DB&lt;/span&gt;" defaultPools="&lt;span style="color:red"&gt;server1,server2,server3&lt;/span&gt;"&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;rule name="rule1" ruleResult="POOLNAME"&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;parameters&amp;gt;ID&amp;lt;/parameters&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;expression&amp;gt;&amp;lt;![CDATA[&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var division = &lt;span style="color:red"&gt;ID%3&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case division when 1 then &lt;span style="color:red"&gt;'server1'&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when 2 then &lt;span style="color:red"&gt;'server2'&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; when 0 then &lt;span style="color:red"&gt;'server3'&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end case;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]]&amp;gt;&amp;lt;/expression&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;/rule&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;6.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;重新启动amoeba，如果出现上面的&lt;strong&gt;图2&lt;/strong&gt;界面说明设置成功。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;#mysql -u testuser -p -h 192.168.1.147 -P 8066&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;7.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果你已经使用终端登陆了amoeba，那么你需要重启打开终端；如果你使用SQLyog的工具登陆了amoeba，那么你需要关闭链接，再重新链接amoeba；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(四)&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;验证sharding&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;插入下面的测试数据&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;INSERT INTO store(Id,NAME,Scheme,Destination,AddOn)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;VALUES (1,'viajar',2,'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family: 宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;我的博客&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;"&gt;',NOW());&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;INSERT INTO store(Id,NAME,Scheme,Destination,AddOn)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;VALUES (2,'viajar',2,'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family: 宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;我的博客&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;"&gt;',NOW());&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;INSERT INTO store(Id,NAME,Scheme,Destination,AddOn)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;VALUES (3,'viajar',2,'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family: 宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;我的博客&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;"&gt;',NOW());&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;INSERT INTO store(Id,NAME,Scheme,Destination,AddOn)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;VALUES (4,'viajar',2,'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family: 宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;我的博客&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;"&gt;',NOW());&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;登陆server1、server2、server3、amoeba分别验证数据的分布。&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/sp3.jpg" width="492" height="175" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（server1）&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/sp4.jpg" width="501" height="177" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（server2）&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/sp5.jpg" width="499" height="174" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（server3）&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/sp6.jpg" width="495" height="124" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（amoeba）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;注意事项&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;验证Amoeba是否安装成功的命令：/usr/local/amoeba/bin/amoeba 要全部输入，如果是进入到bin执行amoeba是不行的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;#mysql -u root -p -h 127.0.0.1 -P 8066&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;其中root和密码表示的是在amoeba.xml中配置的帐号密码。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;当tableRule中没有任何规则能命中该表，将操作tableRule配置的writePools（若没有配置则使用defaultPools）属性中的数据库节点；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;当某个表在任何tableRules都没有被路由到，将操作queryRouter配置的writePools（若没有配置则使用defaultPools）属性中的数据库节点。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;的垂直切分的意思是对表进行切分的意思。&lt;/span&gt;&lt;a href="http://docs.hexnova.com/amoeba/vertical-sharding.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;基于Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;的数据垂直切分&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;四、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;错误与疑问&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;的表分区是怎么搭建的？它存在哪些优缺点？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;在实际应用的分片策略，例如，&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;博主ID：使用AuthorID作为分片依据列；分类ID：使用ClassId作为分片依据列。这些ID都是UUID值，先对这个ID进行hash取key，再对key取模，再进行分片，Amoeba for MySQL能支持到这样的嘛？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;能不能返回HASH值？执行select hash('mypass');有错。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;对联表查询支持？性能如何？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在做分片的时候出现了一个低级错误，那就是在Insert的时候使用UUID();在Amoeba分片规则中使用了3个ID规则，导致每个数据库都进数据了，因为规则无法判断到这个ID是什么，只能到了数据库执行之后才知道，这跟调用存储过程是一样的道理。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;五、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;参考文献&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;使用指南&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/single-dbserver.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;通过Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;对一个数据库实例进行操作&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/horizental-sharding-demo.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;通过Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;对数据进行简单的分片&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://amoeba.sourceforge.net/doc/amoeba_advance_usage.htm"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;高级特性&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/rule-configuration.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;切分规则配置详解&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/vertical-sharding.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;基于Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;的数据垂直切分&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/horizental-sharding.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;基于Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;的数据水平切分&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2444447.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/04/12/2444447.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2012/04/09/2439477.html</id><title type="text">Ubuntu10下MySQL搭建Amoeba_基础</title><summary type="text">一、背景知识Amoeba 是阿里巴巴的技术陈思儒开始的一个开源项目，它是分布式数据库Proxy解决方案。Amoeba框架是基于Java SE 1.5开发的，在安装Amoeba之前需要先安装Java环境。经验证，Amoeba在Java SE 1.5和Java SE 1.6上能正常运行。(一)Amoeba包括3个产品：Amoeba From Sourceforge1. Amoeba for MySQL是Amoeba开源社区发布的一款MySQL数据库中间层代理软件，致力于数据库的切分整合、负载均衡、高可用性等；2. Amoeba for Aladdin支持所有提供jdbc驱动的数据库(Oracle、</summary><published>2012-04-09T12:00:00Z</published><updated>2012-04-09T12:00:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2012/04/09/2439477.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2012/04/09/2439477.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;背景知识&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba &lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;是阿里巴巴的技术陈思儒开始的一个开源项目，它是分布式数据库Proxy解决方案。Amoeba框架是基于Java SE 1.5开发的，在安装Amoeba之前需要先安装Java环境。经验证，Amoeba在Java SE 1.5和Java SE 1.6上能正常运行。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(一)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;包括3个产品：&lt;/span&gt;&lt;a href="http://sourceforge.net/projects/amoeba/files/"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba From Sourceforge&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;是Amoeba开源社区发布的一款MySQL数据库中间层代理软件，致力于数据库的切分整合、负载均衡、高可用性等；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for Aladdin&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;支持所有提供jdbc驱动的数据库(Oracle、SQL Server、MySQL等) ；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MongoDB&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;支持NoSQL数据库MongoDB；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(二)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;其他的MySQL分布式数据库系统的中间层软件还有MySQL Proxy，HiveDB。Amoeba for MySQL相较于其他软件有以下&lt;strong&gt;优势&lt;/strong&gt;：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;基于XML的配置文件，用SQLJEP语法编写规则，配置比较简单(MySQL Proxy需要编写大量Lua脚本才能实现)，有比较完善的使用帮助文档&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;同时支持水平切分和垂直切分(HiveDB只支持水平切分)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;目前的版本已经比较稳定，已有很多企业用于生产环境&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;支持HA机制、支持活动连接数均衡、支持权重配置&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;相较于其他软件有以下&lt;strong&gt;劣势&lt;/strong&gt;：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;不支持事务：其实，分布式事务的问题是所有数据库中间层普遍面临的问题，不是Amoeba独有的问题；目前通常的解决办法是，将事务拆分成几个单数据库内的小事务，由应用程序进行总控。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;不支持跨节点JOIN：同样，这个问题也不是Amoeba独有的，通常的解决办法是由应用程序先从一个节点取出数据，然后由应用程序去其他节点JOIN。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;不支持跨节点排序：这个问题也不是Ameoba独有的，通常的解决办法是由应用程序从多个节点中取出数据，然后进行排序。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;不适合返回大量(超过10万)数据的查询。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;不支持分库分表，只能做到分数据库实例。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;配置过程&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下面是Amoeba for MySQL的基础搭建（不包含读写分离和数据分片）：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(一)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下载JDK：&lt;/span&gt;&lt;a href="http://download.oracle.com/otn-pub/java/jdk/6u30-b12/jdk-6u30-linux-i586.bin"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;jdk-6u30-linux-i586.bin&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（解压版安装）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(二)&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;安装和验证JDK：&lt;/span&gt;&lt;a href="http://gaizai.cnblogs.com/"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Ubuntu10&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下安装JAVA JDK&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(三)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下载Amoeba for MySQL：&lt;/span&gt;&lt;a href="http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz/download"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;amoeba-mysql-binary-2.1.0-RC5.tar.gz&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(四)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;安装和验证Amoeba for MySQL：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;拷贝文件到/tmp目录：E:\&amp;gt;pscp.exe amoeba-mysql-binary-2.1.0-RC5.tar.gz chen@192.168.1.147:/tmp/&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;在&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;/usr/local&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;创建文件夹：#mkdir amoeba&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;进入文件夹：#cd amoeba&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;解压文件到&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;/usr/local/amoeba&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;#tar -zxvf /tmp/amoeba-mysql-binary-2.1.0-RC5.tar.gz&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;验证Amoeba是否安装成功的命令（如下图）：/usr/local/amoeba/bin/amoeba &lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center;text-indent:21.0pt"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/Amoebajc1.jpg" width="366" height="42" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center;text-indent:21.0pt"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图1：安装成功）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;6.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;启动amoeba：&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;/usr/local/amoeba/bin/amoeba start&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/Amoebajc2.jpg" width="558" height="167" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图2：启动成功）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;7.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;修改/usr/local/amoeba/conf/dbServers.xml文件：（需要根据自己的情况）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="schema"&amp;gt;&lt;span style="color:red"&gt;mysql&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="user"&amp;gt;&lt;span style="color:red"&gt;gaizai&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="password"&amp;gt;&lt;span style="color:red"&gt;123456&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="ipAddress"&amp;gt;&lt;span style="color:red"&gt;192.168.1.145&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;8.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;只要上面的参数对了，amoeba.xml是不需要修改的，直接输入下面的命令，密码为空（默认为空），直接回车就可以进入了：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;#mysql -u root -p -h 192.168.1.147 -P 8066&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;或者#mysql -u root -p -h 127.0.0.1 -P 8066&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果开启的amoeba的终端没有报错，恭喜你，搭建amoeba for mysql成功了！！下面是对配置的一些不错测试：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;9.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;使用SQLyog进行测试：&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/Amoebajc3.jpg" width="385" height="181" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图3：测试空密码）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;10.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;可以尝试修改amoeba.xml：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="user"&amp;gt;&lt;span style="color:red"&gt;testuser&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;&amp;lt;property name="password"&amp;gt;&lt;span style="color:red"&gt;password&lt;/span&gt;&amp;lt;/property&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;登陆应该改为：#mysql -u testuser -p -h 192.168.1.147 -P 8066，密码为password，这样一样能登陆成功。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;11.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;可以尝试使用SQLyog进行登陆&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/Amoebajc4.jpg" width="386" height="210" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图4：测试帐号密码）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;注意事项&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(一)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;验证Amoeba是否安装成功的命令：/usr/local/amoeba/bin/amoeba 要全部输入，如果是进入到bin执行amoeba是不行的。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(二)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;#mysql -u root -p -h 127.0.0.1 -P 8066&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;其中root和密码表示的是在amoeba.xml中配置的帐号密码。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(三)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;主要配置文件：#/usr/local/amoeba/conf/*.xml&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;amoeba.xml&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;用来配置Amoeba服务的基本参数，如Amoeba主机地址、端口、认证方式、用于连接的用户名、密码、线程数、超时时间、其他配置文件的位置等。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;dbServers.xml&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;用来存储和配置Amoeba所代理的数据库服务器的信息，如:主机IP、端口、用户名、密码等。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;rule.xml&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;用来配置切分规则。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;ruleFunctionMap.xml&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;用来配置切分规则中使用的用户自定义函数的处理方法。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;functionMap.xml&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;用来配置数据库函数的处理方法，Amoeba将使用该配置文件中的方法解析数据库函数。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;6.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;access_list.conf&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;用来授权或禁止某些服务器IP访问Amoeba。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;7.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;log4j.xml&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;，用来配置Amoeba输出日志的级别和方式。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(四)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;dbServers.xml&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;中的loadbalance标签选项的3个定义：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;1=ROUNDROBIN round robin&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;2=WEIGHTBASED weight based&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;3=HA high availability&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;四、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;错误与疑问&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;amoeba start&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;之后，再用终端连接上mysql，出现了下面的错误：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/Amoebajc5.jpg" width="558" height="241" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图5：错误信息）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这个错误是dbServers.xml中配置的mysql的连接存在问题，可以先使用里面的帐号测试登陆，进一步排除问题。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下面两个图是启动amoeba的不同界面，为什么会有区别呢？用于调试：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/Amoebajc6.jpg" width="558" height="173" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图6：有及时信息输出）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/MySQLAmoeba/Amoebajc7.jpg" width="537" height="76" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;（图7：回到命令行了）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Amoeba&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;的启动用户，需要是root嘛？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;如果你修改了配置，不要以为重启amoeba就可以了，如果你还是使用之前遗留的链接到MySQL的操作界面，那么你修改的文件是不会生效的，需要重新登录数据库，比如我是在IP147的机器上搭建amoeba的，如果是在本机打开终端的就需要关掉终端，重新打开，如果还是使用SQLyog的，那就需要断开，重新链接。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Amoeba Monitor Server&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;的使用？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;6.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;什么是&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;tar.gz&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;解压：$ tar zxvf FileName.tar.gz&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;压缩：$ tar zcvf FileName.tar.gz DirName&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;五、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;参考文献&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;使用指南&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://docs.hexnova.com/amoeba/single-dbserver.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;通过Amoeba&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;对一个数据库实例进行操作&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.csdn.net/yongsheng0550/article/details/6600749"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;学习研究之介绍&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.csdn.net/yongsheng0550/article/details/6605012"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;学习研究之安装&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.csdn.net/yongsheng0550/article/details/6605986"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Amoeba for MySQL&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;学习研究之配置&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/BreakMind/archive/2012/02/03/2336674.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;UBUNTU11.10&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下安装 JDK-6U30-LINUX-I586.BIN&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.douban.com/note/57861194/"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;linux&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;解压 tar&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;命令&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://baike.baidu.com/view/3146273.htm"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;tar.gz&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2439477.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/04/09/2439477.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2012/03/23/2413859.html</id><title type="text">SQL Server 数据库帐号密码生成</title><summary type="text">一、背景在某天晚上凌晨1点，我收到领导的通知：需要把我们所有的数据库的密码都需要进行一次修改，原因是我们放到Web服务器的配置文件config中明文了我们的数据库帐号和密码，而且这份配置文件可能泄露了，更糟糕的是我们的数据库是可以通过外网进行访问的。虽然有端口进行映射，但是我们的数据依然处在危险的状态，所以这个时候DBA需要争分夺秒修改数据库的帐号密码。我们的数据库服务器大概有30台，而且每台机器上跑了很多个数据库。有创建数据库帐号经验的同学你会发现：使用SSMS进行创建帐号密码是件多么痛苦的事情，需要点击很多checkbox，特别是在创建一个可以访问整个数据库实例里的所有数据库的时候（虽然我</summary><published>2012-03-23T08:35:00Z</published><updated>2012-03-23T08:35:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2012/03/23/2413859.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2012/03/23/2413859.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;背景&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在某天晚上凌晨1点，我收到领导的通知：需要把我们所有的数据库的密码都需要进行一次修改，原因是我们放到Web服务器的配置文件config中明文了我们的数据库帐号和密码，而且这份配置文件可能泄露了，更糟糕的是我们的数据库是可以通过外网进行访问的。虽然有端口进行映射，但是我们的数据依然处在危险的状态，所以这个时候DBA需要争分夺秒修改数据库的帐号密码。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;我们的数据库服务器大概有30台，而且每台机器上跑了很多个数据库。有创建数据库帐号经验的同学你会发现：使用SSMS进行创建帐号密码是件多么痛苦的事情，需要点击很多checkbox，特别是在创建一个可以访问整个数据库实例里的所有数据库的时候（虽然我们提倡每个数据库的帐号和密码都不一样，更严格的要求可能需要设置同一个数据库下需要有不同权限的帐号进行管理）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果我们对数据库的帐号进行有效管理的话，我们可以很轻松的完成这个任务，只需要一条SQL就能管理了。在这里我提倡一种安全、易维护的方案给大家：&lt;/span&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/03/07/2383897.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;数据库帐号密码安全设计&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: 微软雅黑, sans-serif; text-indent: 21pt; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;在看这篇文章之前，建议你先看看：&lt;/span&gt;&lt;strong style="font-family: 微软雅黑, sans-serif; text-indent: 21pt; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/07/14/2106617.html"&gt;SQL Server 2005控制用户权限访问表&lt;/a&gt;&lt;/u&gt;&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;设计概要&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;我们首先要明白我们出现的问题是什么：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;我们厌烦了一个个去点击checkbox；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;点击那么多次checkbox，我们不能确保所有的点击都是正确的；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;所以我们第一步要想的就是有没什么办法可以解决上面这些问题？上面的这些操作SSMS是能让用户把操作保存为脚本的，我们可以自己编写SQL脚本来完成类似的工作。为了模拟SSMS上的操作，我们需要获取到数据库实例中所包含的所有数据库，再对每个数据库创建帐号和密码。我们可以通过游标的形式循环数据库，并创建帐号和密码。最后我们需要禁用掉sa这个帐号。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;修改下面【&lt;strong&gt;通用SQL模板&lt;/strong&gt;】的@user和@password的值，拷贝到下面的代码到SSMS中执行，这样就可以生成出适合本数据库实例的SQL脚本【&lt;strong&gt;生成的脚本代码&lt;/strong&gt;】了，我们再拷贝生成的SQL代码到SSMS中执行就可以了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;执行下面的两个脚本不过秒级，所以20台服务器对你来说，简单啦。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;通用SQL模板&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;创建数据库帐号&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @dbname &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;100&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @user &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;100&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @password &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;100&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @sql &lt;span style="color:blue"&gt;varchar&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;max&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;SET&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @user &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;SET&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @password &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:red"&gt;'o23#25R@8a8A!@23#@%'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;SET&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @sql &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;USE [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;CREATE LOGIN ['&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @user &lt;span style="color:gray"&gt;+&lt;/span&gt; &lt;span style="color:red"&gt;'] WITH PASSWORD=N'''&lt;/span&gt;&lt;span style="color:gray"&gt;+&lt;/span&gt; @password &lt;span style="color:gray"&gt;+&lt;/span&gt;&lt;span style="color:red"&gt;''', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;EXEC master..sp_addsrvrolemember @loginame = N'''&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;"&gt;@user&lt;span style="color:gray"&gt;+&lt;/span&gt;&lt;span style="color:red"&gt;''', @rolename = N''sysadmin''&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO'&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;PRINT&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;@sql&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @itemCur &lt;span style="color:blue"&gt;CURSOR&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;SET&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @itemCur &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;CURSOR&lt;/span&gt; &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;SELECT&lt;/span&gt; &lt;span style="color:blue"&gt;name&lt;/span&gt; &lt;span style="color:blue"&gt;from&lt;/span&gt; &lt;span style="color:green"&gt;sys.databases&lt;/span&gt; &lt;span style="color:blue"&gt;where&lt;/span&gt; &lt;span style="color:blue"&gt;state&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt;0&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;OPEN&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @itemCur&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;FETCH&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;NEXT&lt;/span&gt; &lt;span style="color:blue"&gt;FROM&lt;/span&gt; @itemCur &lt;span style="color:blue"&gt;INTO&lt;/span&gt; @dbname&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;WHILE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:fuchsia"&gt;@@FETCH_STATUS&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;0&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;BEGIN&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;SET&lt;/span&gt; @sql &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;USE ['&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @dbname &lt;span style="color:gray"&gt;+&lt;/span&gt; &lt;span style="color:red"&gt;']&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;CREATE USER ['&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;@user&lt;span style="color:gray"&gt;+&lt;/span&gt;&lt;span style="color: red"&gt;'] FOR LOGIN ['&lt;/span&gt;&lt;span style="color:gray"&gt;+&lt;/span&gt;@user&lt;span style="color:gray"&gt;+&lt;/span&gt;&lt;span style="color:red"&gt;']&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;USE ['&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @dbname &lt;span style="color:gray"&gt;+&lt;/span&gt; &lt;span style="color:red"&gt;']&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;ALTER USER ['&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;@user&lt;span style="color:gray"&gt;+&lt;/span&gt;&lt;span style="color: red"&gt;'] WITH DEFAULT_SCHEMA=[dbo]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;USE ['&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @dbname &lt;span style="color:gray"&gt;+&lt;/span&gt; &lt;span style="color:red"&gt;']&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;EXEC sp_addrolemember N''db_owner'', N'''&lt;/span&gt;&lt;span style="font-size: 10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;+&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;@user&lt;span style="color:gray"&gt;+&lt;/span&gt;&lt;span style="color:red"&gt;'''&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO'&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;PRINT&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;@sql&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;FETCH&lt;/span&gt; &lt;span style="color:blue"&gt;NEXT&lt;/span&gt; &lt;span style="color:blue"&gt;FROM&lt;/span&gt; @itemCur &lt;span style="color:blue"&gt;INTO&lt;/span&gt; @dbname&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;END&lt;/span&gt; &lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CLOSE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @itemCur&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;DEALLOCATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @itemCur&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;禁用&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:green;"&gt;sa&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;帐号&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;SET&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @sql &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;USE [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;ALTER LOGIN [sa] DISABLE&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:red;"&gt;GO'&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;PRINT&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;@sql&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;四、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;生成的脚本代码&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;创建数据库帐号密码&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;PASSWORD&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;N&lt;span style="color:red"&gt;'o23#25R@8a8A!@23#@%'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;DEFAULT_DATABASE&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;[master]&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;CHECK_EXPIRATION&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;CHECK_POLICY&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;&lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;EXEC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; master&lt;span style="color:gray"&gt;..&lt;/span&gt;&lt;span style="color:maroon"&gt;sp_addsrvrolemember&lt;/span&gt; @loginame &lt;span style="color:gray"&gt;=&lt;/span&gt; N&lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; @rolename &lt;span style="color:gray"&gt;=&lt;/span&gt; N&lt;span style="color:red"&gt;'sysadmin'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [UfranimdA_gz]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;DEFAULT_SCHEMA&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;[dbo]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;EXEC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:maroon"&gt;sp_addrolemember&lt;/span&gt; N&lt;span style="color:red"&gt;'db_owner'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; N&lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [tempdb]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [UfranimdA_gz]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [tempdb]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;DEFAULT_SCHEMA&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;[dbo]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [tempdb]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;EXEC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:maroon"&gt;sp_addrolemember&lt;/span&gt; N&lt;span style="color:red"&gt;'db_owner'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; N&lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [model]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [UfranimdA_gz]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [model]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;DEFAULT_SCHEMA&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;[dbo]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [model]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;EXEC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:maroon"&gt;sp_addrolemember&lt;/span&gt; N&lt;span style="color:red"&gt;'db_owner'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; N&lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [msdb]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [UfranimdA_gz]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [msdb]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;DEFAULT_SCHEMA&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;[dbo]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [msdb]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;EXEC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:maroon"&gt;sp_addrolemember&lt;/span&gt; N&lt;span style="color:red"&gt;'db_owner'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; N&lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [DBA_DB]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [UfranimdA_gz]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [DBA_DB]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;DEFAULT_SCHEMA&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;[dbo]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [DBA_DB]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;EXEC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:maroon"&gt;sp_addrolemember&lt;/span&gt; N&lt;span style="color:red"&gt;'db_owner'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; N&lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [TestDB]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [UfranimdA_gz]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [TestDB]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;USER&lt;/span&gt; [UfranimdA_gz] &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;DEFAULT_SCHEMA&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;[dbo]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [TestDB]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;EXEC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:maroon"&gt;sp_addrolemember&lt;/span&gt; N&lt;span style="color:red"&gt;'db_owner'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; N&lt;span style="color:red"&gt;'UfranimdA_gz'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;LOGIN&lt;/span&gt; [sa] &lt;span style="color:blue"&gt;DISABLE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;五、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;特别说明&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这里生成的SQL脚本中包含了系统数据库：master、model、msdb、tempdb，为了方便我就没对这些数据库进行限制的，希望以后可以修正下这个脚本。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这里再次推荐大家使用同一的数据库帐号密码的管理，无论是安全还是方便维护都是大有好处的。&lt;/span&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/03/07/2383897.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;数据库帐号密码安全设计&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;，大家可以提些其它的想法。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2413859.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/03/23/2413859.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2012/03/07/2383897.html</id><title type="text">SQL Server 数据库帐号密码安全设计</title><summary type="text">一、背景作为一个DBA，或许你有很多的系统需要管理，而且不同的系统使用了不同的数据库，通常的情况下，我们都是通过sa进行设置密码的，而且在config文件里面明文的写上我们的帐号和密码，这样的设计我们是否太大方了呢？或许你会说，我们的数据库是安全的，因为我们的数据库是只有内网可以访问的，但是那台机器的安全性呢？因为能进入操作系统就能看到我们的帐号密码了。再加上有些时候我们不希望客户能看到数据库密码的。那么应该如何保证我们的数据库账号密码的安全性呢？ 二、架构设计针对上面的安全性问题，我设计了下面的方案，主要是运用加密算法进行加密，再通过分离一些职责，设置几道关卡，加强数据的安全性。下面是这个方</summary><published>2012-03-07T09:20:00Z</published><updated>2012-03-07T09:20:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2012/03/07/2383897.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2012/03/07/2383897.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;背景&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;作为一个DBA，或许你有很多的系统需要管理，而且不同的系统使用了不同的数据库，通常的情况下，我们都是通过sa进行设置密码的，而且在config文件里面明文的写上我们的帐号和密码，这样的设计我们是否太大方了呢？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;或许你会说，我们的数据库是安全的，因为我们的数据库是只有内网可以访问的，但是那台机器的安全性呢？因为能进入操作系统就能看到我们的帐号密码了。再加上有些时候我们不希望客户能看到数据库密码的。那么应该如何保证我们的数据库账号密码的安全性呢？ &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;架构设计&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;针对上面的安全性问题，我设计了下面的方案，主要是运用加密算法进行加密，再通过分离一些职责，设置几道关卡，加强数据的安全性。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下面是这个方案的总体架构图：&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E8%AE%BE%E8%AE%A1_Publish.jpg" width="541" height="511" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（架构图）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;架构解析说明&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;程序1，程序2表示我们的应用程序，在程序的config中再也没有明文的数据库帐号和密码的了，它调用一个公用的webservice，只需要传入一个唯一的key值（有DBA发布这个key值），获取数据库IP、帐号、密码；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;网页接口调用程序是我们提供的一个webservice，它使用&lt;strong&gt;只读帐号视图&lt;/strong&gt;，查询key值所对应加密后的数据库IP、帐号、密码；如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;[LinkName] &lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;表示key值；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;[En_LinkIP]&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;表示程序需要链接的数据库IP地址；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;[En_LinkSa]&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;表示数据库使用的帐号；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;[En_LinkPassword]&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;表示数据库帐号所对应的密码；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E5%8F%AA%E8%AF%BB%E8%B4%A6%E5%8F%B7%E8%A7%86%E5%9B%BE.jpg" width="510" height="144" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（只读账号视图）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;把上图获取到的数据返回给网页接口调用程序，把这些值以|符号进行串联成一个字符串，再进行二次加密（使用不同的加密算法）；再把加密后的字符串返回给程序1、程序2；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;当程序拿到这些加密后的字符串后，使用我们发布的DLL进行解密，这里的解密包括两个解密算法，把解密后的值返回给程序；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;那这些记录是怎么录入的呢？你猜对了，那就是DBA，DBA收集这些帐号和密码进行管理，只要开发人员告知数据库的相关信息（或许根本就不需要，因为部署是DBA的事情，或许开发人员根本就不需要知道这个数据库在哪里），我就使用&lt;strong&gt;单机机密程序&lt;/strong&gt;，加密我们的数据库IP、帐号、密码，并生成唯一的key值，把这个key告诉开发人员。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;把加密后的数据插入到数据库；超级管理员视图如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E8%B6%85%E7%BA%A7%E7%AE%A1%E7%90%86%E5%91%98%E8%A7%86%E5%9B%BE.jpg" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（超级管理员视图）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;四、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;特别说明&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;就安全性考虑，LinkIP的值尽量能使用端口进行设置，修改默认的1433端口；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;虽然在程序中可以获取到明文的帐号密码，但是这比明文写在config上要安全很多倍了；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;对字符串进行二次加密是为了防止数据的拦截的；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果网页接口调用程序给爆掉了，拿到的数据还是加密后的数据；而且这个帐号是只读数据的，是没有insert、update、delete的权限的；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;有这个超级管理员帐号，这个帐号可以只有为数几个人知道，与网页接口调用程序的数据库帐号是完全分离的；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;6.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;程序中可能需要在使用帐号密码的时候需要捕获一下异常，就是当我们DBA修改了帐号密码后引起的链接异常；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;7.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这个帐号表中，我们可以通过State字段进行控制这个帐号是否可用（甚至你可以直接删掉这条记录），这样当我们的业务系统泄漏了数据帐号的时候，我们可以很快速的修改帐号密码，不需要通知开发人员去修改config文件；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;8.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;只读账号视图现在只是简单的MD5加密，你完全可以设计自己算法；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;9.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;LinkName&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;是需要唯一的，所以在表设计的时候是使用了这个作为主键的；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;10.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;其实上面的设计我是为了体现出只读帐号视图和超级管理员视图的区别的；可以参考：&lt;/span&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/07/14/2106617.html"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server 2005控制用户权限访问表&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;，其实你完全可以让网页接口调用程序调用数据库的config的帐号密码也进行一次加密，让程序去解密，这样只需要做一次就够了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;五、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;代码&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;创建表&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;TABLE&lt;/span&gt; [dbo]&lt;span style="color:gray"&gt;.&lt;/span&gt;[LinkConfigTest]&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Id] [int] &lt;span style="color:blue"&gt;IDENTITY&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;1&lt;span style="color:gray"&gt;,&lt;/span&gt;1&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NOT&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [LinkName] [nvarchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NOT&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [LinkIP] [varchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [LinkSa] [varchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [LinkPassword] [varchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Description] [nvarchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;100&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [State] [int] &lt;span style="color:gray"&gt;NULL&lt;/span&gt; &lt;span style="color:blue"&gt;CONSTRAINT&lt;/span&gt; [DF_LinkConfigT_State]&amp;nbsp; &lt;span style="color:blue"&gt;DEFAULT&lt;/span&gt; &lt;span style="color:gray"&gt;((&lt;/span&gt;0&lt;span style="color:gray"&gt;)),&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [StateDescription] [nvarchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [HostName] [nvarchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [CreateTime] [datetime] &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [En_LinkIP] [varchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [En_LinkSa] [varchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [En_LinkPassword] [varchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&lt;span style="color:blue"&gt;CONSTRAINT&lt;/span&gt; [PK_LinkConfigT] &lt;span style="color:blue"&gt;PRIMARY&lt;/span&gt; &lt;span style="color:blue"&gt;KEY&lt;/span&gt; &lt;span style="color:blue"&gt;NONCLUSTERED&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [LinkName] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:blue;"&gt;WITH&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;PAD_INDEX&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;STATISTICS_NORECOMPUTE&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;IGNORE_DUP_KEY&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ALLOW_ROW_LOCKS&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ALLOW_PAGE_LOCKS&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt; [PRIMARY]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt; [PRIMARY]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;插入测试数据&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;INSERT&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [LinkConfigTest] &lt;span style="color:gray"&gt;(&lt;/span&gt;[LinkName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkPassword]&lt;span style="color:gray"&gt;,&lt;/span&gt;[Description]&lt;span style="color:gray"&gt;,&lt;/span&gt;[State]&lt;span style="color:gray"&gt;,&lt;/span&gt;[HostName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[CreateTime]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkPassword]&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;VALUES&lt;/span&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt; &lt;span style="color:red"&gt;'sd9_DB1'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'192.168.1.147,14339'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'sd158admin'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'sd158admin+-987'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:red;"&gt;内网&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;_DB1'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'SERVR9'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'2012-3-7 14:08:52'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0xddf4a1c5a5dadc7374a9ca3ed3aa9f6b'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0xe319cb7bedd3b0d400c3da3484c6a6e3'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0xdc24223e94b4c4d754cfc40230680156'&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;INSERT&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [LinkConfigTest] &lt;span style="color:gray"&gt;(&lt;/span&gt;[LinkName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkPassword]&lt;span style="color:gray"&gt;,&lt;/span&gt;[Description]&lt;span style="color:gray"&gt;,&lt;/span&gt;[State]&lt;span style="color:gray"&gt;,&lt;/span&gt;[HostName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[CreateTime]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkPassword]&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;VALUES&lt;/span&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt; &lt;span style="color:red"&gt;'sc13'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'192.168.1.25,13433'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'sc13admin'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'sc13adminasdfg'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:red;"&gt;内网&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;_DB1'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'BAREOT-4'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'2012-3-7 14:08:52'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0x0f3e6234263b544bbb7861fc3be9d4a9'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0xe969c53b6c44990ac38a92f1c6ad2d97'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0xac7663644f8de76a3da122257a6593ea'&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;INSERT&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [LinkConfigTest] &lt;span style="color:gray"&gt;(&lt;/span&gt;[LinkName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkPassword]&lt;span style="color:gray"&gt;,&lt;/span&gt;[Description]&lt;span style="color:gray"&gt;,&lt;/span&gt;[State]&lt;span style="color:gray"&gt;,&lt;/span&gt;[StateDescription]&lt;span style="color:gray"&gt;,&lt;/span&gt;[HostName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[CreateTime]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkPassword]&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;VALUES&lt;/span&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt; &lt;span style="color:red"&gt;'sd9_DB2'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'192.168.1.147,14339'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'gd14admin'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'sc13admin#$'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family: 宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;; color:red;"&gt;内网&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;_DB2'&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;0&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color: red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;; color:red;"&gt;停用&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;'&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;'SERVR9'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;'2012-3-7 14:08:52'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;; color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;'0xddf4a1c5a5dadc7374a9ca3ed3aa9f6b'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;'0x8cfaec93141b6fb3fc5de4cef40c8648'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;'0x99f2fb6b0f14d47fa725a79c62ae60c3'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;INSERT&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [LinkConfigTest] &lt;span style="color:gray"&gt;(&lt;/span&gt;[LinkName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkPassword]&lt;span style="color:gray"&gt;,&lt;/span&gt;[Description]&lt;span style="color:gray"&gt;,&lt;/span&gt;[State]&lt;span style="color:gray"&gt;,&lt;/span&gt;[HostName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[CreateTime]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkPassword]&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;VALUES&lt;/span&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt; &lt;span style="color:red"&gt;'jh16'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'192.168.1.30,16433'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'jh16admin'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'sc13admin$%as'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:red;"&gt;内网&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;_DB1'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'SERVR16'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'2012-3-7 14:08:52'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0x012f0e163b9f1d9624e56154e0159452'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0x13c540aff4fe6d61f48de0e097fd1c66'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0xb59032aaffddc07b72d9958359a5da97'&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;INSERT&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [LinkConfigTest] &lt;span style="color:gray"&gt;(&lt;/span&gt;[LinkName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[LinkPassword]&lt;span style="color:gray"&gt;,&lt;/span&gt;[Description]&lt;span style="color:gray"&gt;,&lt;/span&gt;[State]&lt;span style="color:gray"&gt;,&lt;/span&gt;[HostName]&lt;span style="color:gray"&gt;,&lt;/span&gt;[CreateTime]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkIP]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkSa]&lt;span style="color:gray"&gt;,&lt;/span&gt;[En_LinkPassword]&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;VALUES&lt;/span&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt; &lt;span style="color:red"&gt;'hb17'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'192.168.1.35,17433'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'hb17admin'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'sc13admin$%asdf'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:red;"&gt;内网&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:red;"&gt;_DB5'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;,&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'BAEF-1'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'2012-3-7 14:08:52'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0x8723f377c50a33f3cb6794978be09895'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0x4bce38f66dfba3f8779f070636a6a70d'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'0x8cab2ef5b6a6c5c48d499c5ef84c3436'&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2383897.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/03/07/2383897.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2012/02/23/2365331.html</id><title type="text">SQL Server 当表分区遇上唯一约束</title><summary type="text">一、前言我已经在高兴对服务器创建了表分区并且获得良好性能和自动化管理分区切换的时候，某一天，开发人员告诉我，某表的两个字段的数据不唯一，需要为这两个字段创建唯一索引的时候，这一切就变得不完美了。列的唯一，这个实际上是一个唯一索引。使用关键字unique建立。二、背景我有一个表TestUnique，这个表使用分区方案[Sch_TestUnique_Id]，它是以Id做为分区依据列的，这个Id也是一个聚集索引，表中其它索引是跟分区对齐的（创建其它非聚集索引的时候使用了分区方案或者不指定-默认就是分区方案），而且我我这个表很大，我需要定时的进行交换分区（SWITCH PARTITION、滑动窗口、切</summary><published>2012-02-23T10:58:00Z</published><updated>2012-02-23T10:58:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2012/02/23/2365331.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2012/02/23/2365331.html"/><content type="html">&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;前言&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;我已经在高兴对服务器创建了表分区并且获得良好性能和自动化管理分区切换的时候，某一天，开发人员告诉我，某表的两个字段的数据不唯一，需要为这两个字段创建唯一索引的时候，这一切就变得不完美了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;列的唯一，这个实际上是一个唯一索引。使用关键字unique建立。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;背景&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;我有一个表TestUnique，这个表使用分区方案[Sch_TestUnique_Id]，它是以Id做为分区依据列的，这个Id也是一个聚集索引，表中其它索引是跟分区对齐的（创建其它非聚集索引的时候使用了分区方案或者不指定-默认就是分区方案），而且我我这个表很大，我需要定时的进行交换分区（SWITCH PARTITION、滑动窗口、切换分区），表分区的相关信息可参考：&lt;strong&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/07/01/2095539.html"&gt;SQL Server 表分区实战系列（文章索引）&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;TABLE&lt;/span&gt; [dbo]&lt;span style="color:gray"&gt;.&lt;/span&gt;[TestUnique]&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Id] [int] &lt;span style="color:blue"&gt;IDENTITY&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;600000000&lt;span style="color:gray"&gt;,&lt;/span&gt;1&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NOT&lt;/span&gt; &lt;span style="color:blue"&gt;FOR&lt;/span&gt; &lt;span style="color:blue"&gt;REPLICATION&lt;/span&gt; &lt;span style="color:gray"&gt;NOT&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [SiteId] [int] &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Url] [nvarchar]&lt;span style="color:gray"&gt;(&lt;/span&gt;420&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [PublishOn] [datetime] &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [AddOn] [datetime] &lt;span style="color:gray"&gt;NULL,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&lt;span style="color:blue"&gt;CONSTRAINT&lt;/span&gt; [PK_Archive] &lt;span style="color:blue"&gt;PRIMARY&lt;/span&gt; &lt;span style="color:blue"&gt;KEY&lt;/span&gt; &lt;span style="color:blue"&gt;CLUSTERED&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Id] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:blue;"&gt;WITH&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;PAD_INDEX&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;STATISTICS_NORECOMPUTE&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;IGNORE_DUP_KEY&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ALLOW_ROW_LOCKS&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ALLOW_PAGE_LOCKS&lt;/span&gt;&amp;nbsp; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;FILLFACTOR&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; 100&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt; [Sch_TestUnique_Id]&lt;span style="color:gray"&gt;(&lt;/span&gt;[Id]&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt; [Sch_TestUnique_Id]&lt;span style="color:gray"&gt;(&lt;/span&gt;[Id]&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;现在需要创建SiteId+Url做为一个唯一索引，本来以为这个唯一索引是可以进行分区对齐的，但是却在创建索引的时候遇到错误了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;分析&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;对分区表创建索引时，SQL Server 将使用与该表相同的分区方案和分区依据列&lt;strong&gt;自动对索引进行分区&lt;/strong&gt;。因此，索引的分区方式实质上与表的分区方式相同。这将使索引与表&amp;#8220;对齐&amp;#8221;。创建唯一索引有下面三种方式：&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;方式&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:green;"&gt;1&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;UNIQUE&lt;/span&gt; &lt;span style="color:blue"&gt;NONCLUSTERED&lt;/span&gt; &lt;span style="color:blue"&gt;INDEX&lt;/span&gt; [IX_TestUnique_SiteIdUrl]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ON&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [TestUnique] &lt;span style="color:gray"&gt;(&lt;/span&gt;SiteId&lt;span style="color:gray"&gt;,&lt;/span&gt;Url&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;消息&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1908&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，级别&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;16&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，状态&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，第&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1 &lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;行&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;列&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;'Id' &lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;是索引&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;'IX_TestUnique_SiteIdUrl' &lt;/span&gt;&lt;span style="font-size:8.0pt; font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;的分区依据列。唯一索引的分区依据列必须是索引键的子集。&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;方式&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:green;"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;TABLE&lt;/span&gt; [dbo]&lt;span style="color:gray"&gt;.&lt;/span&gt;[TestUnique] &lt;span style="color:blue"&gt;ADD&lt;/span&gt;&amp;nbsp; &lt;span style="color:blue"&gt;CONSTRAINT&lt;/span&gt; [IX_TestUnique_SiteIdUrl] &lt;span style="color:blue"&gt;UNIQUE&lt;/span&gt; &lt;span style="color:blue"&gt;NONCLUSTERED&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [SiteId] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Url] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:blue;"&gt;WITH&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;SORT_IN_TEMPDB&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;IGNORE_DUP_KEY&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ONLINE&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt; [Sch_TestUnique_Id]&lt;span style="color:gray"&gt;(&lt;/span&gt;[Id]&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;消息&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1908&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，级别&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;16&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，状态&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，第&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1 &lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;行&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;列&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;'Id' &lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;是索引&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;'IX_TestUnique_SiteIdUrl' &lt;/span&gt;&lt;span style="font-size:8.0pt; font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;的分区依据列。唯一索引的分区依据列必须是索引键的子集。&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;消息&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1750&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，级别&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;16&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，状态&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;0&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;，第&lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;1 &lt;/span&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;行&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:8.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;"&gt;无法创建约束。请参阅前面的错误消息。&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;方式&lt;/span&gt;&lt;span style="font-size:10.0pt; font-family:&amp;quot;Courier New&amp;quot;;color:green;"&gt;3&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;UNIQUE&lt;/span&gt; &lt;span style="color:blue"&gt;NONCLUSTERED&lt;/span&gt; &lt;span style="color:blue"&gt;INDEX&lt;/span&gt; [IX_TestUnique_SiteIdUrl] &lt;span style="color:blue"&gt;ON&lt;/span&gt; [dbo]&lt;span style="color:gray"&gt;.&lt;/span&gt;[TestUnique] &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [SiteId] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Url] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:blue;"&gt;WITH&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;SORT_IN_TEMPDB&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;IGNORE_DUP_KEY&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ONLINE&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt; [Sch_TestUnique_Id]&lt;span style="color:gray"&gt;(&lt;/span&gt;[Id]&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;测试没有指定分区方案时是否默认使用分区方案&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;NONCLUSTERED&lt;/span&gt; &lt;span style="color:blue"&gt;INDEX&lt;/span&gt; [IX_TestUnique_SiteIdUrl] &lt;span style="color:blue"&gt;ON&lt;/span&gt; [dbo]&lt;span style="color:gray"&gt;.&lt;/span&gt;[TestUnique] &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [SiteId] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Url] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:blue;"&gt;WITH&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;SORT_IN_TEMPDB&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;IGNORE_DUP_KEY&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ONLINE&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果分区依据列不可能包含在唯一键中，则必须使用 DML 触发器，而不是强制实现唯一性。（在需要分区的表中，估计插入的数据量还是比较大的，在这个表使用触发器应该会有性能上的问题吧？）&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;测试索引键的子集&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;UNIQUE&lt;/span&gt; &lt;span style="color:blue"&gt;NONCLUSTERED&lt;/span&gt; &lt;span style="color:blue"&gt;INDEX&lt;/span&gt; [IX_TestUnique_SiteIdUrl] &lt;span style="color:blue"&gt;ON&lt;/span&gt; [dbo]&lt;span style="color:gray"&gt;.&lt;/span&gt;[TestUnique] &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;(&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Id] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [SiteId] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Url] &lt;span style="color:blue"&gt;ASC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:gray;"&gt;)&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:blue;"&gt;WITH&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;SORT_IN_TEMPDB&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;IGNORE_DUP_KEY&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:blue"&gt;ONLINE&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt; [Sch_TestUnique_Id]&lt;span style="color:gray"&gt;(&lt;/span&gt;[Id]&lt;span style="color: gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;上面这条SQL是能成功执行的，不过从业务逻辑上来看，加了唯一的Id值对唯一就没有任何意义了，但是这条SQL告诉我们：当你使用了SiteId做为分区依据列，那么你就可以创建以SiteId+Url的唯一索引。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;color:blue;"&gt;IGNORE_DUP_KEY&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;与&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;; color:blue;"&gt;IGNORE_DUP_KEY&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:blue"&gt;OFF&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;的区别：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;忽略重复键，在创建或修改唯一索引时，可以可设置一个忽略重复键的选项。如果此选项已设置为&lt;strong&gt;&amp;#8220;是&amp;#8221;（ON）&lt;/strong&gt;，当您试图通过添加影响多行的数据来创建重复键（使用 INSERT 语句）时，则不会添加包含重复项的行,不重复的记录会给插入到表中的；如果此选项设置为&lt;strong&gt;&amp;#8220;否&amp;#8221;（OFF）&lt;/strong&gt;，则整个插入操作将失败，并且将回滚所有数据。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果您预计将通过使用更多分区来扩展索引，或者将会涉及到频繁的分区切换，那么将索引与已分区表对齐将非常重要。有关详细信息，请参阅&lt;a href="http://technet.microsoft.com/zh-cn/library/ms191174.aspx"&gt;设计分区以管理数据子集&lt;/a&gt;&lt;/span&gt;。如果表与其索引对齐，SQL Server 则可以快速高效地切换分区，同时又能维护表及其索引的分区结构。&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在下列情况下，独立于基表而单独设计已分区索引（不对齐）很有用：&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin-top:0cm" type="disc"&gt;     &lt;li&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;基表未分区。&lt;/span&gt;&lt;/li&gt;     &lt;li&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;索引键是唯一的，不包含表的分区依据列。&lt;/span&gt;&lt;/li&gt;     &lt;li&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;您希望基表与使用不同联接列的多个表一起参与组合联接。&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;四、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;注意&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;索引要与其基表对齐，并不需要与基表参与相同的命名分区函数。但是，索引和基表的分区函数在实质上必须相同，即：1) 分区函数的参数具有相同的数据类型；2) 分区函数定义了相同数目的分区；3) 分区函数为分区定义了相同的边界值。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;若要启用分区切换，表的所有索引都必须对齐。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果在创建时指定了&lt;strong&gt;不同的分区方案&lt;/strong&gt;或&lt;strong&gt;单独的文件组&lt;/strong&gt;来存储索引，则 SQL Server 不会将索引与表对齐。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;五、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;总结&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果不需要进行交换分区的情况下，并且你那么幸运让唯一索引列包含了分区依据列的话，你完全可以让唯一与表分区对齐，而且不用担心交换分区的影响；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果不需要进行交换分区的情况下，唯一索引不包含分区依据列，那就让唯一索引单独使用一个文件组，这样性能也能得到一部分的提升；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果需要进行交换分区的情况下，唯一索引不包含分区依据列，那就让唯一索引单独使用一个文件组，但是你需要在进行交换分区之前：停止TCP/IP防止进数据，重启服务，删除唯一索引，交换分区，创建唯一索引，启用TCP/IP，重启服务；（貌似这不是个好方法，欢迎大家提供好的方案）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;六、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;参考文献&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://technet.microsoft.com/zh-cn/library/bb964715.aspx"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;定义了索引视图时的分区切换&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;-&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;a href="http://technet.microsoft.com/zh-cn/library/ms191160.aspx"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;使用分区切换高效传输数据&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;-&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;a href="http://technet.microsoft.com/zh-cn/library/ms187526.aspx"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;已分区索引的特殊指导原则&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（唯一索引）&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;-&amp;gt;&lt;/span&gt;&lt;/strong&gt;&lt;a href="http://technet.microsoft.com/zh-cn/library/ms191174.aspx"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;设计分区以管理数据子集&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2365331.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/02/23/2365331.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html</id><title type="text">SQL Server 2005 性能优化实战系列（文章索引）</title><summary type="text">前言性能优化是数据库方向一个很重要的技能，这也是快速提供企业级应用性能最快捷的方式，所以性能优化的高低很大程度上表现了个人技能的高低。下面的文章是我在实际项目中性能优化的一些经验，希望对那些需要实战帮助的童鞋有一点提示和帮助。希望大家拍砖。系列文章索引SQL Server 2005表分区实战系列（文章索引）SQL Server 数据库服务器高性能设置SQL Server 2005 扩展函数的基本概念SQL Server 2005 使用扩展函数进行性能优化SQL Server 2005 Url正则表达式 内存常驻完美解决方案SQL Server 2005 索引中include的魅力（具有包含性列</summary><published>2012-01-20T06:54:00Z</published><updated>2012-01-20T06:54:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html"/><content type="html">&lt;div&gt;&lt;p align="left" style="margin-top:13.5pt;margin-right:0cm; margin-bottom:9.0pt;margin-left:0cm;text-align:left;line-height:18.75pt;background:gray"&gt;&lt;span style="font-size:18.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:white;"&gt;前言&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;性能优化是数据库方向一个很重要的技能，这也是快速提供企业级应用性能最快捷的方式，所以性能优化的高低很大程度上表现了个人技能的高低。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;下面的文章是我在实际项目中性能优化的一些经验，希望对那些需要实战帮助的童鞋有一点提示和帮助。希望大家拍砖。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="margin-top:13.5pt;margin-right:0cm; margin-bottom:9.0pt;margin-left:0cm;text-align:left;line-height:18.75pt;background:gray"&gt;&lt;span style="font-size: 18pt; font-family: 微软雅黑, sans-serif; color: white; "&gt;系列文章索引&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/07/01/2095539.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server 2005表分区实战系列（文章索引）&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/11/16/1878349.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server 数据库服务器高性能设置&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/05/26/1744683.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server 2005 扩展函数的基本概念&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/05/26/1740520.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server 2005 使用扩展函数进行性能优化&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/07/31/1761581.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server 2005 Url正则表达式 内存常驻完美解决方案&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/01/11/1644358.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server 2005 索引中include的魅力（具有包含性列的索引）&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/05/13/1733857.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server 2005 全文索引的硬伤&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;p align="left" style="text-align: left; "&gt;&lt;u&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/11/26/1888505.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;SQL Server datetime数据类型设计、优化误区&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;u style="text-align: left; "&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/03/30/1700312.html"&gt;&lt;span style="font-size: 14pt; font-family: 微软雅黑, sans-serif; color: #0070c0; "&gt;空间换时间的数据库设计&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left" style="margin-top:13.5pt;margin-right:0cm; margin-bottom:9.0pt;margin-left:0cm;text-align:left;line-height:18.75pt;background:gray"&gt;&lt;span style="font-size:18.0pt;font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:white;"&gt;总结&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;性能优化包括几个方面：数据库服务器的性能参数设置；数据库表索引；数据库新特性的应用；数据库表纵向切割、横向切割，&lt;a href="http://www.searchdatabase.com.cn/showcontent_9772.htm" target="_blank"&gt;scale-up（纵向扩展）&lt;/a&gt;&lt;/span&gt;、&lt;a href="http://www.searchdatabase.com.cn/showcontent_9772.htm" target="_blank"&gt;scale-out（横向扩展）&lt;/a&gt;；表分区；数据库发布订阅；数据库的整体设计；结合程序方面的优化；等等；&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;针对这些方面我会继续写些博文进一步得讲解在实战中的应用、遇到的一些问题和经验；表分区是SQL Server 2005一个比较大的新特性，我上面也是大篇幅的讲到这个问题，也欢迎大家进去多多指教。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;一个人的能力和视野是比较有限，所以大家如果有更好的实战经验的话，欢迎拿出来分享和交流。看到一些好的博文也欢迎把地址贴出来。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2327814.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2012/01/20/2327776.html</id><title type="text">SQL Server 批量创建、删除链接服务器</title><summary type="text">一、背景我们的数据库比较多，它们提供了外网的访问，我现在想对这些数据库进行一些管理，获取这些数据库的一些信息，我们可以通过什么方式实现呢？在SQL Server2005版本之后有一个叫做链接服务器的新功能，基本的操作可以参考：SQL Server 2005链接服务器，我们就通过这个链接服务器来获取我们需要的数据，但是我们的服务器比较多，这个批量创建链接服务器和批量删除链接服务器就呼之欲出了。二、设计过程设计简述：创建如下图的表结构，LinkName保存远程链接的别名，LinkName2是创建链接方式2的一个补充字段，LinkIP代表远程服务器的地址，如果有端口的还需要加上端口。这里为什么要设计</summary><published>2012-01-20T02:47:00Z</published><updated>2012-01-20T02:47:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2012/01/20/2327776.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2012/01/20/2327776.html"/><content type="html">&lt;div&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;背景&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;我们的数据库比较多，它们提供了外网的访问，我现在想对这些数据库进行一些管理，获取这些数据库的一些信息，我们可以通过什么方式实现呢？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在SQL Server2005版本之后有一个叫做链接服务器的新功能，基本的操作可以参考：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2010/09/09/1821071.html"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server 2005链接服务器&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;，我们就通过这个链接服务器来获取我们需要的数据，但是我们的服务器比较多，这个批量创建链接服务器和批量删除链接服务器就呼之欲出了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;设计过程&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;设计简述：创建如下图的表结构，LinkName保存远程链接的别名，LinkName2是创建链接方式2的一个补充字段，LinkIP代表远程服务器的地址，如果有端口的还需要加上端口。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这里为什么要设计成LinkName与LinkName2并存呢？这是因为我们在T-SQL使用远程链接的时候是通过别名的，我在进行两种方式的切换，只要修改调换下这两个字段的名称，并且去存储过程sp_CreateLink注释方式1的代码，恢复方式2的代码；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E8%A1%A81.jpg" width="458" height="86" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图1：&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;LinkConfig&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;表，链接方式1）&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E8%A1%A82.jpg" width="455" height="89" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图2：&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;LinkConfig&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;表，链接方式2）&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E6%96%B9%E5%BC%8F1.jpg" width="476" height="168" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图3：链接方式1的属性）&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E6%96%B9%E5%BC%8F2.jpg" width="338" height="248" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图4：链接方式2的属性）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;详细代码：创建表LinkConfig、批量创建链接服务器存储过程、批量删除链接服务器存储过程。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;div&gt;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;创建表&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;TABLE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;dbo&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;.&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkConfig&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;int&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF00FF;"&gt;IDENTITY&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;,&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #808080;"&gt;NOT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkName&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;50&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkName2&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;50&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkIP&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;50&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkSa&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;50&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkPassword&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;nvarchar&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;50&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NULL&lt;/span&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;State&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;int&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NULL&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CONSTRAINT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;DF_LinkConfig_State&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DEFAULT&lt;/span&gt;&amp;nbsp;((&lt;span style="color: #800000; font-weight: bold;"&gt;0&lt;/span&gt;)),&lt;br /&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CONSTRAINT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;PK_LinkConfig&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;PRIMARY&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;KEY&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CLUSTERED&lt;/span&gt;&amp;nbsp;&lt;br /&gt;(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;Id&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ASC&lt;/span&gt;&lt;br /&gt;)&lt;span style="color: #0000FF;"&gt;WITH&lt;/span&gt;&amp;nbsp;(PAD_INDEX&amp;nbsp;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;OFF&lt;/span&gt;,&amp;nbsp;STATISTICS_NORECOMPUTE&amp;nbsp;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;OFF&lt;/span&gt;,&amp;nbsp;IGNORE_DUP_KEY&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;OFF&lt;/span&gt;,&amp;nbsp;ALLOW_ROW_LOCKS&amp;nbsp;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ON&lt;/span&gt;,&amp;nbsp;ALLOW_PAGE_LOCKS&amp;nbsp;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ON&lt;/span&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;PRIMARY&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&lt;br /&gt;)&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;PRIMARY&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;创建远程链接sp&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;=============================================&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;Author:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Viajar&amp;gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;Create&amp;nbsp;date:&amp;nbsp;&amp;lt;2012.01.05&amp;gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;Description:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;创建远程链接&amp;gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;=============================================&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;dbo&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;.&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;sp_CreateLink&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;NOCOUNT&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ON&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;创建远程链接&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkip&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linksa&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkpassword&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NVARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;4000&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CURSOR&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CURSOR&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FOR&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkName&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;,&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkIP&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;,&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkSa&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;,&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkPassword&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;dbo.LinkConfig&amp;nbsp;&lt;span style="color: #0000FF;"&gt;WHERE&lt;/span&gt;&amp;nbsp;State&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;OPEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FETCH&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NEXT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;INTO&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkip&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linksa&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkpassword&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;WHILE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000; font-weight: bold;"&gt;@@FETCH_STATUS&lt;/span&gt;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold;"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;正在处理&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;PRINT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;不存在&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;IF&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;NOT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;EXISTS&lt;/span&gt;&amp;nbsp;(&lt;span style="color: #0000FF;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;*&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;sys.servers&amp;nbsp;&lt;span style="color: #0000FF;"&gt;WHERE&lt;/span&gt;&amp;nbsp;name&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;创建链接方式1&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;master.dbo.sp_addlinkedserver&amp;nbsp;@server&amp;nbsp;=&amp;nbsp;N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;,&amp;nbsp;@srvproduct=N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;SQL&amp;nbsp;Server&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;EXEC&lt;/span&gt;(&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;设置密码&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;master.dbo.sp_addlinkedsrvlogin&amp;nbsp;@rmtsrvname&amp;nbsp;=&amp;nbsp;N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;,&amp;nbsp;@locallogin&amp;nbsp;=&amp;nbsp;NULL&amp;nbsp;,&amp;nbsp;@useself&amp;nbsp;=&amp;nbsp;N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;False&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;,&amp;nbsp;@rmtuser&amp;nbsp;=&amp;nbsp;N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #008000;"&gt;@linksa&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;,&amp;nbsp;@rmtpassword&amp;nbsp;=&amp;nbsp;N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #008000;"&gt;@linkpassword&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;''''&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;EXEC&lt;/span&gt;(&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--创建链接方式2&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;'&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;master.dbo.sp_addlinkedserver&amp;nbsp;@server&amp;nbsp;=&amp;nbsp;N'''+@linkname+''',&amp;nbsp;@srvproduct=N'''+@linkname+''',&amp;nbsp;@provider=N''SQLNCLI'',&amp;nbsp;@datasrc=N'''+@linkip+''''&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC(@sql)&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--设置密码&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;'&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;master.dbo.sp_addlinkedsrvlogin&amp;nbsp;@rmtsrvname&amp;nbsp;=&amp;nbsp;N'''+@linkname+''',&amp;nbsp;@locallogin&amp;nbsp;=&amp;nbsp;NULL&amp;nbsp;,&amp;nbsp;@useself&amp;nbsp;=&amp;nbsp;N''False'',&amp;nbsp;@rmtuser&amp;nbsp;=&amp;nbsp;N'''+@linksa+''',&amp;nbsp;@rmtpassword&amp;nbsp;=&amp;nbsp;N'''+@linkpassword+''''&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC(@sql)&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--设置属性&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SET&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;'&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;master.dbo.sp_serveroption&amp;nbsp;@server=N'''+@linkname+''',&amp;nbsp;@optname=N''rpc'',&amp;nbsp;@optvalue=N''true''&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;master.dbo.sp_serveroption&amp;nbsp;@server=N'''+@linkname+''',&amp;nbsp;@optname=N''rpc&amp;nbsp;out'',&amp;nbsp;@optvalue=N''true''&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC(@sql)&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;END&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FETCH&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NEXT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;INTO&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkip&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linksa&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkpassword&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;END&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CLOSE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DEALLOCATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;END&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;删除远程链接sp&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;=============================================&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;Author:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Viajar&amp;gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;Create&amp;nbsp;date:&amp;nbsp;&amp;lt;2012.01.05&amp;gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;Description:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;删除远程链接&amp;gt;&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;&amp;nbsp;=============================================&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;dbo&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;.&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;sp_DropLink&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;AS&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;NOCOUNT&amp;nbsp;&lt;span style="color: #0000FF;"&gt;ON&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;删除远程链接&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkip&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linksa&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkpassword&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;100&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NVARCHAR&lt;/span&gt;(&lt;span style="color: #800000; font-weight: bold;"&gt;4000&lt;/span&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CURSOR&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CURSOR&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FOR&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkName&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;,&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkIP&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;,&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkSa&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;,&lt;span style="color: #FF0000;"&gt;[&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;LinkPassword&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;]&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;dbo.LinkConfig&amp;nbsp;&lt;span style="color: #0000FF;"&gt;WHERE&lt;/span&gt;&amp;nbsp;State&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;OPEN&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FETCH&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NEXT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;INTO&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkip&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linksa&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkpassword&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;WHILE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000; font-weight: bold;"&gt;@@FETCH_STATUS&lt;/span&gt;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold;"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;正在处理&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;PRINT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #008080;"&gt;--&lt;/span&gt;&lt;span style="color: #008080;"&gt;删除链接&lt;/span&gt;&lt;span style="color: #008080;"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;SET&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF&amp;nbsp;&amp;nbsp;EXISTS&amp;nbsp;(SELECT&amp;nbsp;srv.name&amp;nbsp;FROM&amp;nbsp;sys.servers&amp;nbsp;srv&amp;nbsp;WHERE&amp;nbsp;srv.server_id&amp;nbsp;!=&amp;nbsp;0&amp;nbsp;AND&amp;nbsp;srv.name&amp;nbsp;=&amp;nbsp;N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BEGIN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXEC&amp;nbsp;master.dbo.sp_dropserver&amp;nbsp;@server=N&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;&lt;span style="color: #808080;"&gt;+&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;,&amp;nbsp;@droplogins=&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;droplogins&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;''&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;EXEC&lt;/span&gt;(&lt;span style="color: #008000;"&gt;@sql&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FETCH&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;NEXT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;FROM&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;INTO&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@linkname&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkip&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linksa&lt;/span&gt;,&lt;span style="color: #008000;"&gt;@linkpassword&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;END&lt;/span&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;CLOSE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #0000FF;"&gt;DEALLOCATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000;"&gt;@itemCur&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000FF;"&gt;END&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;注意事项&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;进行方式1与方式2的切换，需要如图1、图2的表字段名称进行修改，并且去存储过程sp_CreateLink注释方式1的代码，恢复方式2的代码；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在需要修改表记录之前需要先删除所有链接服务器（执行存储过程sp_DropLink），再创建链接服务器；（执行存储过程sp_CreateLink）；&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2327776.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2012/01/20/2327776.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2011/12/19/2293818.html</id><title type="text">SQL Server 置疑、可疑、正在恢复</title><summary type="text">一、出错情况有些时候当你重启了数据库服务，会发现有些数据库变成了正在恢复、置疑、可疑等情况，这个时候DBA就会很紧张了，下面是一些在实践中得到证明的方法。在一次重启数据库服务后，数据库显示正在恢复，过了很久还是这个状态，离线时间不能太长，所以就想起了一个方法，就是把数据库服务停止了，把数据文件mdf和ldf拷贝出来，删除了ldf文件，按照之前的经验，好像是在没有ldf的情况下可以使用mdf来恢复数据库。创建了一个同名的数据库，停止数据库服务，覆盖mdf文件，再启动数据库服务，这个时候还是处于可疑的状态。其中使用mdf来附加数据库是附加不了的，一直报错。二、解决步骤方法一：使用脚本进行数据库恢复</summary><published>2011-12-19T12:59:00Z</published><updated>2011-12-19T12:59:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2011/12/19/2293818.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2011/12/19/2293818.html"/><content type="html">&lt;div&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、出错&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Times New Roman&amp;quot;"&gt;情况&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Times New Roman&amp;quot;;"&gt;有些时候当你重启了数据库服务，会发现有些数据库变成了正在恢复、置疑、可疑等情况，这个时候DBA就会很紧张了，下面是一些在实践中得到证明的方法。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Times New Roman&amp;quot;;"&gt;在一次重启数据库服务后，数据库显示正在恢复，过了很久还是这个状态，离线时间不能太长，所以就想起了一个方法，就是把数据库服务停止了，把数据文件mdf和ldf拷贝出来，删除了ldf文件，按照之前的经验，好像是在没有ldf的情况下可以使用mdf来恢复数据库。创建了一个同名的数据库，停止数据库服务，覆盖mdf文件，再启动数据库服务，这个时候还是处于可疑的状态。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Times New Roman&amp;quot;;"&gt;其中使用mdf来附加数据库是附加不了的，一直报错。&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Times New Roman&amp;quot;"&gt;解决步骤&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;方法一：使用脚本进行数据库恢复。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:green;"&gt;--DataBaseName&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;为修复的数据名&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; MASTER&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:maroon;"&gt;SP_CONFIGURE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:red"&gt;'ALLOW UPDATES'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;1 &lt;span style="color:blue"&gt;RECONFIGURE&lt;/span&gt; &lt;span style="color:blue"&gt;WITH&lt;/span&gt; OVERRIDE&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DATABASE&lt;/span&gt; [DataBaseName] &lt;span style="color:blue"&gt;SET&lt;/span&gt; EMERGENCY&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:maroon;"&gt;sp_dboption&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:red"&gt;'DataBaseName'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:red"&gt;'single user'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:red"&gt;'true'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;DBCC&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; CHECKDB&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:red"&gt;'DataBaseName'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:red"&gt;'REPAIR_ALLOW_DATA_LOSS'&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DATABASE&lt;/span&gt; [DataBaseName] &lt;span style="color:blue"&gt;SET&lt;/span&gt; ONLINE&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:maroon;"&gt;sp_configure&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:red"&gt;'allow updates'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; 0 &lt;span style="color:blue"&gt;reconfigure&lt;/span&gt; &lt;span style="color:blue"&gt;with&lt;/span&gt; override&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:maroon;"&gt;sp_dboption&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:red"&gt;'DataBaseName'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:red"&gt;'single user'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:red"&gt;'false'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;SQL&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;讲解：&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;使用指定值强制重新配置：（1、0表示为真假）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;sp_configure 'allow updates', 1 reconfigure with override&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;设置为紧急状态：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;alter database DataBaseName set emergency &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;设置为单用户模式：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;alter database [DataBaseName] set single_user &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;或者：Sp_dboption 'DataBaseName', 'single user', 'true'&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;修复发现的错误：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;DBCC CHECKDB('DataBaseName','REPAIR_ALLOW_DATA_LOSS')&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;设置为联机、在线：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;ALTER DATABASE [DataBaseName] SET ONLINE&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;Courier New&amp;quot;;"&gt;方法二：这个方法还没尝试过，大家可以试试看。&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;CREATE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DATABASE&lt;/span&gt; DataBaseName&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;ON&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color: blue"&gt;FILENAME&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color: red"&gt;'D:\DataBase\Name.mdf'&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;color:blue;"&gt;FOR&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; ATTACH_REBUILD_LOG &lt;span style="color:gray"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;参考文献&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/sonicit/archive/2007/07/09/811696.html"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SQL SERVER 2005 &lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;数据库状态为&amp;#8220;&lt;/span&gt;&lt;span style="font-family: &amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;可疑&amp;#8221;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;的解决方法&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/ATree/archive/2010/05/16/Sqlserver2005-mdf-ldf.html"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SQL Server 2005无日志文件附加数据库&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.yesky.com/imagesnew/software/tsql/ts_dbcc_00gy.htm"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;DBCC CHECKDB&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2293818.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/12/19/2293818.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html</id><title type="text">SQL Server 维护计划实现数据库备份</title><summary type="text">一、前言SQL Server 备份和还原全攻略，里面包括了通过SSMS操作还原各种备份文件的图形指导，SQL Server 数据库最小宕机迁移方案，里面使用SQL脚本（T-SQL）完成完全备份、差异备份、完全还原、差异还原等； 有了上面的基础，我们加入了数据库的备份元素，通过维护计划来生成数据库的备份文件，这包括两种文件，数据库的完全备份与差异备份，有了这两个文件，我们可以通过SQL Server 备份和还原全攻略（图形操作）或者SQL Server 数据库最小宕机迁移方案（代码操作）的方法来还原我们的数据；二、场景设计假设我们的数据库不是很大，但是我们的数据会比较重要，大概一天一个备份就能满</summary><published>2011-11-18T09:51:00Z</published><updated>2011-11-18T09:51:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html"/><content type="html">&lt;div&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;前言&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/06/29/2093575.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;备份和还原全攻略&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;，里面包括了通过SSMS操作还原各种备份文件的图形指导，&lt;/span&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/03/30/2000175.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;数据库最小宕机迁移方案&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;，里面使用SQL脚本（T-SQL）完成完全备份、差异备份、完全还原、差异还原等；&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;有了上面的基础，我们加入了数据库的备份元素，通过维护计划来生成数据库的备份文件，这包括两种文件，数据库的完全备份与差异备份，有了这两个文件，我们可以通过&lt;/span&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/06/29/2093575.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;备份和还原全攻略&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图形操作）或者&lt;/span&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/03/30/2000175.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;数据库最小宕机迁移方案&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（代码操作）的方法来还原我们的数据；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;场景设计&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;假设我们的数据库不是很大，但是我们的数据会比较重要，大概一天一个备份就能满足我们的业务需要，那我们应该如何设计我们的备份方案呢？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;星期天晚上02:00做一次数据库的完全备份，其它时间星期一至星期六晚上02:00做一次差异备份，基本逻辑如下图所示：&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD%E6%96%87%E4%BB%B6%E7%94%9F%E6%88%90%E9%80%BB%E8%BE%91.jpg" width="519" height="412" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图：数据库备份文件生成逻辑）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Tips&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果你的数据库比较大，而且流数据（就是一些记录性的流水数据）比较多，我们的做法是把这些大表分离出一个新的数据库（纵向切割数据库），这样接下来的问题，这篇文章就可以解决了；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果无法把流数据分离出数据库，那么可以考虑表分区，分区之后再对其它表进行数据备份（主分区备份）；这些备份是无法使用差异备份了，每次都只能使用完全备份，而且还原的时候表分区是不可以用的，只能修改表名之后再创建新表，请参考：&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/10/09/2203464.html"&gt;SQL Server 维护计划备份主分区&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;如果一天一次的备份满足不了业务上的需求，那么可以考虑发布订阅方案，在两台机器上进行事务复制，可以调整复制的频率，加强数据的安全性，这个会在以后的文章中说明；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;实战操作&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;数据库 -&amp;gt; 【管理】-&amp;gt; 【维护计划】 &amp;nbsp;-&amp;gt; 【新建维护计划】；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/1.jpg" width="626" height="503" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图1）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;勾选【备份数据库(完整)】和【备份数据库(差异)】；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/2.jpg" width="628" height="503" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图2）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;设置 &lt;strong&gt;完整备份 &lt;/strong&gt;文件的路径和备份文件的扩展名；注意特定数据库的选择；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/3.jpg" width="624" height="534" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图3）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;填写 &lt;strong&gt;完整备份 &lt;/strong&gt;作业计划的名称，执行间隔勾选星期日，设置执行时间；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/4.jpg" width="854" height="619" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图4）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;5.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;设置 &lt;strong&gt;差异备份 &lt;/strong&gt;文件的路径和备份文件的扩展名；注意特定数据库的选择；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/5.jpg" width="626" height="536" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图5）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;6.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;填写 &lt;strong&gt;差异备份 &lt;/strong&gt;作业计划的名称，执行间隔勾选除星期日之外的日期，设置执行时间；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/6.jpg" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图6）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;7.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这就生成 &lt;strong&gt;完整备份 与 差异备份&lt;/strong&gt; 的子计划了，&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/7.jpg" width="690" height="326" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图7）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;8.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在完整备份的设计界面中，从左边拖拉一个【清除历史记录】的控件到右边，并双击进行下图的设置；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/8.jpg" width="422" height="276" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图8）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;9.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;从左边拖拉一个【清除维护】的控件到右边，并双击进行下图的设置，这里需要设置 &lt;strong&gt;完整备份&lt;/strong&gt; 的路径和文件的扩展名；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/9.jpg" width="477" height="552" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图9）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;10.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在步骤上加上箭头形成 &lt;strong&gt;完全备份 &lt;/strong&gt;作业的流程图；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/10.jpg" width="680" height="572" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图10）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;11.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在差异备份的设计界面中，从左边拖拉一个【清除历史记录】的控件到右边，并双击进行下图的设置；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/11.jpg" width="422" height="274" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图11）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;12.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;从左边拖拉一个【清除维护】的控件到右边，并双击进行下图的设置，这里需要设置 &lt;strong&gt;差异备份 &lt;/strong&gt;的路径和文件的扩展名；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/12.jpg" width="476" height="552" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图12）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;13.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在步骤上加上箭头形成 &lt;strong&gt;差异备份&lt;/strong&gt; 作业的流程图；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/13.jpg" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图13）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;14.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在维护计划下生成Ant_Backup，在代理中生成 &lt;strong&gt;完整备份与差异备份&lt;/strong&gt;的作业；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E5%A4%87%E4%BB%BD%E8%BF%98%E5%8E%9F/14.jpg" width="273" height="258" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图14）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;四、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;参考文献&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://jason-zhu.javaeye.com/blog/437056"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server 2005 &lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;自动备份&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.yanghengfei.com/archives/297/"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SQL Server 2005自动备份维护计划&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/leadwit/archive/2009/09/15/1567241.html"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SQL Server 2005&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;备份维护计划&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/studyzy/archive/2009/04/13/1434406.html"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;使用SQL Server维护计划实现数据库定时自动备份&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2254445.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/11/18/2254445.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/gaizai/archive/2011/10/09/2203464.html</id><title type="text">SQL Server 维护计划备份主分区</title><summary type="text">一、场景经过一段时间表分区的实践，我们先对表进行分区（形成表分区模板）；表数据搬迁模板（迁移数据到新的分区表）；分区管理自动化（自动化进行交换分区）；详情请见：SQL Server 表分区实战系列（文章索引） 再进一步延伸，我们就需要对这些做了表分区的库进行备份了，之前写过一篇博文：SQL Server 备份和还原全攻略，这里描述了MSSQL的一些备份概念，今天这里虽然没有用到，但是像差异备份在备份比较大的情况下使用就会有很好的效果。 今天我们就来说说如何使用MSSQL的维护计划来备份表分区的。假设这样一个场景：一个数据库现在已经几十G（如图1），但是占用主要空间的就是一两个表的数据（流水记录</summary><published>2011-10-09T03:52:00Z</published><updated>2011-10-09T03:52:00Z</updated><author><name>听风吹雨</name><uri>http://www.cnblogs.com/gaizai/</uri></author><link rel="alternate" href="http://www.cnblogs.com/gaizai/archive/2011/10/09/2203464.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/gaizai/archive/2011/10/09/2203464.html"/><content type="html">&lt;div&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;一、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;场景&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;经过一段时间表分区的实践，我们先对表进行分区（形成表分区模板）；表数据搬迁模板（迁移数据到新的分区表）；分区管理自动化（自动化进行交换分区）；详情请见：&lt;/span&gt;&lt;/strong&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/07/01/2095539.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;表分区实战系列（文章索引）&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;再进一步延伸，我们就需要对这些做了表分区的库进行备份了，之前写过一篇博文：&lt;/span&gt;&lt;/strong&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/06/29/2093575.html"&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;SQL Server &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;备份和还原全攻略&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;，这里描述了MSSQL的一些备份概念，今天这里虽然没有用到，但是像差异备份在备份比较大的情况下使用就会有很好的效果。&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=" font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;今天我们就来说说如何使用MSSQL的维护计划来备份表分区的。&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;假设这样一个&lt;span style="background:#D9D9D9;"&gt;场景&lt;/span&gt;：一个数据库现在已经几十G（如图1），但是占用主要空间的就是一两个表的数据（流水记录数据），其它的就是一些配置表，我们对这些配置表数据安全性要求比较高，而对流水数据比较低，那么我们有什么方案可以保证这个数据库的数据安全呢？&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/0.jpg" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;（图1）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;二、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;方案&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;方案一：对于上面的场景，我们最简单、最合理的方案就是把这两个表PostSnapshot、PostLog分离出来作为一个新的数据库A，而配置表单独作为一个数据库B，这样的好处是很多的，这样对配置数据库B的备份就简单的多了，更重要的一点就是数据库A与B的读写也分离了（频繁读取配置数据库B和频繁写记录数据库A）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;方案二：但是往往在很多情况是业务上不允许我们这样做，那还有没一个可以折中的办法呢？对的，这个折中的办法就是我今天想表述的内容了，我们先对这两个表PostSnapshot、PostLog进行表分区，剩下的配置表就依然还在主分区（Primary）里面，我们只需要备份主分区就可以达到备份配置表的目的了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;对于方案二，一个比较大的&lt;strong&gt;&lt;span style="background:#D9D9D9;"&gt;缺点&lt;/span&gt;&lt;/strong&gt;就是在还原备份的时候，这两个表PostSnapshot、PostLog是用不了的，也删除不了，只能通过修改表名之后再创建两个新表，不过这个缺点对于这些备份来说可以忽略，因为我们重要的数据可以通过主分区的备份找回来就已经满足我们这类备份的目的了。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;三、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;实践&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(一)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;使用【维护计划】-&amp;gt;【维护计划向导】，在出现的窗体中需要注意一个选项，如图2所示，需要选择【每项任务单独计划】，这样才能在作业中看到不同的任务所对应的作业，这样的好处是可以单独执行某个作业。&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/1.jpg" width="327" height="239" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图2）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(二)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;这个维护计划中包括了两个子计划：Subplan_Primary与Subplan_Primary_Save，Subplan_Primary的计划是每天晚上的1点钟，图3表述了作业的执行步骤与过程：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;1)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;首先是执行一段我们编写的T-SQL代码，如果这里不是需要进行分区备份，而是使用完整备份或者是差异备份的话，我们完全就不需要写T-SQL代码；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;2)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;接着删除备份的日志记录，只保留2周的记录；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;3)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;最后对备份的bak文件进行维护了，保留2周内的bak备份文件，2周之前的bak会自动被删除掉；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/2.jpg" width="468" height="515" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图3）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(三)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;我们的数据库模式设置为简单模式了，在这种状态下是无法对分区进行备份的，所以：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;1)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;首先要把数据库的模式设置为完整模式；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;2)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;接着使用T-SQL备份数据库的主分区；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;3)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;最后再把数据库的模式设置为简单模式；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;使用备份还原数据库，还原后的数据库是完整模式的呢？还是简单模式的呢？当然是完整模式啦。&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/3.1.jpg" width="515" height="439" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图4）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(四)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在备份主分区的代码中，我们除了图4中把DISK的路径作为参数传进去执行外，我们还可以使用拼凑SQL的方式，如图5所示；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/3.2.jpg" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图5）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(五)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;可能很多人都不太理解为什么上面的子计划已经做了一次主分区的备份了，为什么还要在添加一个子计划呢？其实这个是为了管理上的方便，因为Subplan_Primary的备份间隔是每天，只保留2周内备份（14个bak文件），所以太久之前的备份就会丢失了，为了能保留尽可能久的备份，我们添加了Subplan_Primary_Save子计划，它每周只执行一次，保留4个月内的备份（16个bak文件）；这样要比100多个bak要节省很多的空间。（我们可以考虑每周拷贝一份Subplan_Primary中bak到其它服务器进行备份，这样就可以省略掉Subplan_Primary_Save）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;Subplan_Primary&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;与Subplan_Primary_Save的区别：&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;1)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在T-SQL里面保存bak的路径是不同的；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;2)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;文件命名中的日期格式不一样；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;3)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;执行计划频率不同；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;4)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;清除任务的保留时间不同；&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;span&gt;5)&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;清除任务bak文件的路径不同；&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/4.jpg" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图6）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(六)&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;在测试过程中，为了看看维护计划中【清除维护任务】的效果，我们缩短了保留的天数，设置为5天，图7是执行作业前的bak文件列表，图8是设置为保留5天并执行作业后的bak文件列表。可以看到最久的一个bak文件被删除了。&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E4%BF%9D%E7%95%995%E5%A4%A9%E5%A4%87%E4%BB%BD_1.jpg" width="547" height="156" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图7）&lt;/span&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;font class="Apple-style-span" face="微软雅黑, sans-serif"&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/gaizai/%E6%95%B0%E6%8D%AE%E5%BA%93/%E4%BF%9D%E7%95%995%E5%A4%A9%E5%A4%87%E4%BB%BD_2.jpg" width="548" height="152" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" style="text-align:center"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;（图8）&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;四、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;部分T-SQL代码&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:green;"&gt;--1&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;设置完整模式&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DATABASE&lt;/span&gt; [Barefoot.Ant] &lt;span style="color:blue"&gt;SET&lt;/span&gt; RECOVERY &lt;span style="color:blue"&gt;FULL&lt;/span&gt; &lt;span style="color:blue"&gt;WITH&lt;/span&gt; NO_WAIT&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:green;"&gt;--2&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;备份主分区&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;DECLARE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;@FileName &lt;span style="color:blue"&gt;VARCHAR&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;200&lt;span style="color:gray"&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;&amp;nbsp;@CurrentTime &lt;span style="color:blue"&gt;VARCHAR&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;50&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;SET&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @CurrentTime &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:fuchsia"&gt;CONVERT&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:blue"&gt;CHAR&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;8&lt;span style="color:gray"&gt;),&lt;/span&gt;&lt;span style="color:fuchsia"&gt;GETDATE&lt;/span&gt;&lt;span style="color:gray"&gt;(),&lt;/span&gt;112&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;+&lt;/span&gt; &lt;span style="color:fuchsia"&gt;CAST&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;DATEPART&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;hh&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:fuchsia"&gt;GETDATE&lt;/span&gt;&lt;span style="color:gray"&gt;())&lt;/span&gt; &lt;span style="color:blue"&gt;AS&lt;/span&gt; &lt;span style="color:blue"&gt;VARCHAR&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt; &lt;span style="color:gray"&gt;+&lt;/span&gt; &lt;span style="color:fuchsia"&gt;CAST&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;&lt;span style="color:fuchsia"&gt;DATEPART&lt;/span&gt;&lt;span style="color:gray"&gt;(&lt;/span&gt;mi&lt;span style="color:gray"&gt;,&lt;/span&gt; &lt;span style="color:fuchsia"&gt;GETDATE&lt;/span&gt;&lt;span style="color:gray"&gt;())&lt;/span&gt; &lt;span style="color:blue"&gt;AS&lt;/span&gt; &lt;span style="color:blue"&gt;VARCHAR&lt;/span&gt;&lt;span style="color:gray"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;SET&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; @FileName &lt;span style="color:gray"&gt;=&lt;/span&gt; &lt;span style="color:red"&gt;'F:\DBBackup\Ant_Primary\Ant_Primary_'&lt;/span&gt; &lt;span style="color:gray"&gt;+&lt;/span&gt; @CurrentTime&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;BACKUP&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DATABASE&lt;/span&gt; [Barefoot.Ant]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;FILEGROUP&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;=&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:red;"&gt;'PRIMARY'&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;TO&lt;/span&gt; &lt;span style="color:blue"&gt;DISK&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;@FileName &lt;span style="color:blue"&gt;WITH&lt;/span&gt; FORMAT&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:green;"&gt;--3&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;设置简单模式&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;USE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; [master]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;ALTER&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DATABASE&lt;/span&gt; [Barefoot.Ant] &lt;span style="color:blue"&gt;SET&lt;/span&gt; RECOVERY SIMPLE &lt;span style="color:blue"&gt;WITH&lt;/span&gt; NO_WAIT&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:green;"&gt;--&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:宋体;Courier New&amp;quot;;Courier New&amp;quot;;Courier New&amp;quot;;color:green;"&gt;还原主分区&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;RESTORE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DATABASE&lt;/span&gt; [TestAnt]&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;FILEGROUP&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:gray;"&gt;=&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:red;"&gt;'PRIMARY'&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;FROM&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; &lt;span style="color:blue"&gt;DISK&lt;/span&gt;&lt;span style="color:gray"&gt;=&lt;/span&gt;&lt;span style="color:red"&gt;'F:\DBBackup\Ant_Primary\Ant_Primary_20110916000001.bak'&lt;/span&gt; &lt;span style="color:blue"&gt;WITH&lt;/span&gt; &lt;span style="color:blue"&gt;FILE&lt;/span&gt; &lt;span style="color:gray"&gt;=&lt;/span&gt; 1&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;MOVE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; N&lt;span style="color:red"&gt;'Barefoot.Ant'&lt;/span&gt; &lt;span style="color:blue"&gt;TO&lt;/span&gt; N&lt;span style="color:red"&gt;'F:\DBBackup\TestAnt.mdf'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;; color:blue;"&gt;MOVE&lt;/span&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt; N&lt;span style="color:red"&gt;'Barefoot.Ant_log'&lt;/span&gt; &lt;span style="color:blue"&gt;TO&lt;/span&gt; N&lt;span style="color:red"&gt;'F:\DBBackup\TestAnt_log.ldf'&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left" style="text-align:left;text-autospace:none"&gt;&lt;span style="font-size:10.0pt;font-family: &amp;quot;Courier New&amp;quot;;"&gt;RECOVERY&lt;span style="color:gray"&gt;,&lt;/span&gt;&lt;span style="color:fuchsia"&gt;REPLACE&lt;/span&gt;&lt;span style="color:gray"&gt;,&lt;/span&gt;&amp;nbsp;STATS &lt;span style="color:gray"&gt;=&lt;/span&gt; 10&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:10.0pt;font-family:&amp;quot;Courier New&amp;quot;;"&gt;GO&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;五、&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;参考文献&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://www.cnblogs.com/sjhrun2001/archive/2008/11/03/1325322.html"&gt;&lt;span&gt;使用SQL Server&lt;/span&gt;&lt;span&gt;的作业进行数据库备份&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://blog.sina.com.cn/s/blog_3eec0ced0100mho8.html"&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;&lt;span&gt;使用T-SQL&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;"&gt;进行数据库备份并检查该备份文件是否存在且作出相应处理&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://wenku.baidu.com/view/dfac85c34028915f804dc292.html"&gt;&lt;span style="font-family: 微软雅黑, sans-serif; "&gt;&lt;span&gt;用命令对sql&lt;/span&gt;&lt;span style="font-family:&amp;quot;微软雅黑&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;进行备份&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/gaizai/aggbug/2203464.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/gaizai/archive/2011/10/09/2203464.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
