SSIS

生成高性能数据集成解决方案的平台

SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载 (ETL) 包)的平台。

构成
Integration Services 包括用于生成和调试包的图形工具和向导;用于执行工作流函数(如 FTP 操作)、执行 SQL 语句或发送电子邮件的任务;用于提取和加载数据的数据源和目标;用于清理、聚合、合并和复制数据的转换;用于管理 Integration Services 的管理服务 Integration Services 服务;以及用于对 Integration Services 对象模型编程的应用程序编程接口 (API)。
发展
SSIS代替了以前版本的数据转换服务(DTS)。而DTS出身卑微,起初所用的资金极少、资源也不多,它最初通过POC(proof-of-concept)转换体现出来,后来就被人们叫做Data Pump。POC引起了一些微软人的兴趣,从这时才开始投入一部分资金。
SQL Server 7.0为一些需要的用户加载了第一个DTS版本。那个时候它很难操作,而且还很贵。一些DBA不得不写自定义转换软件,他们所写的这些自定义转换软件不灵活、而且还很难维护。一些工具还有局限性,如需要源和目标进程精确匹配、直接在单独数据库产品上决定,并且/或者转换性能。有些DBA还写了自定义分析和转换应用。例如有些公司只对标转平台用手工编写的平面文件分析程序、SQL脚本和转换代码,如SSIS。
SQL Server 8.0增加了更多的任务、从而增加了更多的功能。在SQL Server 8.0中还包括Execute Package、FTP、MSMQ Tasks。但是用户在用DTS处理大数据集和基于脚本工具的内在局限时也遇到了一些挫折。那时正是创建真正的企业继承工具的时候。
特色
可视化环境
熟悉了SSIS的可视化操作后,给你的感觉应该是震撼的,因为几乎你所能想得到的ETL操作都能通过简单拖拽控件加以实现。
主要得益于SSIS强大Control Flow Function以及那个灵活多样并且高效的DataFlow Task (BulkInsertTask和Execute SQL Task等可以看成特殊的DataFlowTask)。Control Flow主要负责高层的逻辑拓扑,完成对各个DataFlowTask单元的串接,而DataFlowTask除了提供简单的SQL语句的执行,两个节点之间的数据传输外,还提供了Aggregation、DataConversion,Merge、Sort等操作,实现了面向多个源和目的端的复杂数据流的整合。另外值得一提的是,SSIS同时也提供For/Foreach Loop Container来完成类似for语句的循环操作。
强大的参数设置功能
SSIS的另一个特色是的参数设置功能,这一点比DTS有了明显的进步。连接参数,源与目的关联的表名或者SQL语句的条件子句,都可以通过参数来构建,甚至参数本身可以由其他参数动态赋值(通过Expression功能),这就给用户提供了非常广阔界面编程的空间,充分发挥你的想象力,就能够在可视化界面上实现复杂逻辑功能的ETL操作。
SSIS强大的参数设置功能在一定程度上简化了SSIS的Package(Package:SSIS基本的可执行单位)程序调用。
功能
SQL Server Integration Services (SSIS) 提供一系列支持业务应用程序开发的内置任务、容器、转换和数据适配器。您无需编写一行代码,就可以创建 SSIS 解决方案来使用 ETL 和商业智能解决复杂的业务问题,管理 SQL Server 数据库以及在 SQL Server 实例之间复制 SQL Server 对象。
功能扩展
SQL Server整合服务(SSIS)是微软在SQL Server 2005中引入的数据转换服务(DTS)的替代物,它加载了大量不同的组件来导入数据和将数据转换为实际数据,而不仅仅是被动地导入。但是,这里有一个问题,即使是新的SSIS工具也无法包括所有我们需要做的工作。
微软提供了两个基本的方法来扩展SSIS的功能。其中一个方法是相对简单的,适用于没有很多的编程经验,也不想要编写复杂逻辑的用户;而另一个方法是较复杂的,它允许更有经验的程序员深入研究SSIS和更广泛的扩展SSIS。
简单方法:脚本
大多数人可能或多或少地熟悉脚本技术,并且SSIS使用VB.NET来允许程序员在SSIS包中用脚本编写行为。与自定义对象相反,脚本的范围是小而精的;它是用于我们对现有数据包允许或者已经实现的上下文进行一定修改的。
在SSIS数据包中,有两个元素我们可以用来添加脚本处理:Script Task(在Integration Services Designer应用的Control Flow窗口)以及Script Component(在Data Flow窗口)。每一个都最好在稍微有点不同的环境中使用。
Script Task是更适合用于软件包中通用目的的Flow Control——它比Script Component更全局化更强大,但是也复杂得多。它在软件包的Data Flow之外运行,并且不受Data Flow工作方式的限制,虽然Script Task一般只当一个软件包被触发的时候才运行(虽然我们可以特别地编译)。Task同样支持断点和调试,当我们编写一个带有控制逻辑或者执行某些决策的相当复杂的脚本时,这些是非常有用的。例如,Script Task可以查询Active Directory获取一些信息或者与另外一个数据知识库进行数据交互——两者都可以在运行一个包之前进行。
Script Component与Data Flow运作的方式结合得更紧密。Script Component不是在整个包运行一次,它的主要过程是为每个正在处理的数据行运行一次。Script Components也同样有3个基本的运行上下文:数据源、数据转换或者数据目的地。Component也同样比较少交互——比如,它并不支持Script Task那样的调试。Script Component的最主要用途包括诸如一行行地数据转换、编译一个自定义ODBC目标、实时错误处理或者不通过原SSIS方法处理的转换操作。
高级方法:自定义对象编程
虽然脚本在SSIS包中的功能已经强大,但是,有时候它还是没有办法完成某些任务。在某些情况下,我们必须从头开始编写(或者让某人编写)一个自定义SSIS扩展。这并不是一件容易的事情;它要求对编程有全面的理解。但是,通过自定义的对象,我们可以使用SSIS进行远比简单自动化任务复杂的事情。
比如,如果我们有一个不能支持任何现有SSIS转换的数据源(例如,有些奇怪的专有数据源),那么我们可以写入一个自定义的连接管理对象来像使用本地数据源一样使用该数据。与此类似的是,我们可以用由SSIS提供的相同的程序库来创建自定义任务、日志组件或者数据流组件。
上面每个类型的项目都是可以作为SSIS所支持语言的一个基类、属性和方法集:Visual Basic、C#、C++、J#和 Jscript. C++、C# 和VB都倾向于创造最好的结果,因为在这些上下文中它们都倾向于由开发人员和供应商两者同时广泛支持。关键在于我们所使用的语言不能是一个阻碍;它们都可以插入相同的对外编程接口中。我们同时也可以在需要的时候通过标准Windows形式创建自定义对象的用户接口
SSIS自定义对象可以创建的一个极其强大的自定义Foreach遍历器。假设你需要创建一套编程类来为一个集合中每个对象执行特定的操作,比如数据库中的表。如果你想在大量的上下文中执行这个操作而不重复编写代码,那么这是其中的一个最佳方法。特别是当你已经对一些新的数据类型创建了一个自定义的连接管理器(与上面的例子一样),并且想创建一个自定义foreach操作来处理时,这种方法是非常有用的。
典型用途
下列情况说明了 SSIS 包的典型用途。
合并来自异类数据存储区的数据
数据通常存储在很多个不同的数据存储系统中,从所有源中提取数据并将其合并到单个一致的数据集中确实有一定的难度。这种情况的出现有多个原因。例如:
许多单位要对存储在早期数据存储系统中的信息进行归档。这些数据在日常操作中可能不重要,但对于需要收集过去很长一段时间内的数据的趋势分析来说很重要。
单位的各个部门可能会使用不同的数据存储技术来存储操作数据。包可能需要先从电子表格以及关系数据库中提取数据,然后才能合并数据
数据可能存储在对相同数据使用不同架构的数据库中。包可能需要先更改列的数据类型或将多个列的数据组合到一列中,然后才能合并数据。
Integration Services 可以连接到各种各样的数据源,包括单个包中的多个源。包可以使用 .NETOLE DB 访问接口连接到关系数据库,还可以使用 ODBC 驱动程序连接到多个早期数据库。包还可以连接到平面文件Excel 文件和 Analysis Services 项目。
Integration Services 包含一些源组件,这些组件负责从包所连接的数据源中的平面文件、Excel 电子表格、XML 文档和关系数据库中的表及视图提取数据。
然后,通常要用 Integration Services 包含的转换功能对数据进行转换。数据转换为兼容格式后,就可以将其物理合并到一个数据集中。
数据在合并成功且应用转换后,通常会被加载到一个或多个目标。Integration Services 包含将数据加载到平面文件、原始文件和关系数据库时所用的目标。数据也可以加载到内存中的记录集中,供其他包元素访问。
数据仓库和数据集市中的数据通常会频繁更新,因此数据加载量通常会很大。
Integration Services 包含一个可直接将数据从平面文件大容量加载到 SQL Server 表和视图中的任务,还包含一个目标组件,该组件可以在数据转换过程的最后一步将数据大容量加载到 SQL Server 数据库中。
SSIS 包可配置为可重新启动。这意味着可以从某个预先确定的检查点(包中的某个任务或容器)重新运行包。重新启动包这一功能可节省很多时间,尤其是包需要处理来自一大批源的数据时。
可以用 SSIS 包加载数据库中的维度表和事实数据表。如果维度表的源数据存储在多个数据源中,包可以将该数据合并到一个数据集中,并在单个进程中加载维度表,而不是为每个数据源使用单独的进程。
更新数据仓库和数据集市中的数据可能很复杂,因为这两种类型的数据存储区通常都包含可能难以通过数据转换过程管理的渐变维度。由于能够动态创建用于插入和更新记录、更新相关记录以及向表添加新列的 SQL 语句,因此,渐变维度向导可自动支持渐变维度。
此外,Integration Services 包中的任务和转换可以处理 Analysis Services 多维数据集和维度。包更新了建立多维数据集所基于的数据库中的表后,您可以使用 Integration Services 任务和转换来自动处理多维数据集和维度。自动处理多维数据集和维度有助于使以下两种环境中的用户始终获得最新的数据:访问多维数据集和维度中信息的用户和访问关系数据库中数据的用户。
Integration Services 还可以在数据加载到其目标之前计算函数。如果数据仓库和数据集市存储了聚合信息,那么 SSIS 包可以计算 SUM、AVERAGE 和 COUNT 之类的函数。SSIS 转换还可以透视关系数据,并将其转换为不太规范的格式,以便更好地与数据仓库中的表结构相兼容。
清除数据和将数据标准化
无论数据是加载到联机事务处理 (OLTP)、联机分析处理 (OLAP) 数据库、Excel 电子表格还是加载到文件,都需要在加载前将数据进行清理和标准化。数据可能由于下列原因而需要更新:
数据由一个单位的多个部门提供,每个部门使用不同的约定和标准。可能需要对数据进行不同的格式处理,然后才能使用这些数据。例如,可能需要将名和姓组合到一列中。
数据是租用或购买的。可能需要将数据进行标准化和清理以满足业务标准,然后才能使用这些数据。例如,单位需要验证所有记录使用了相同的状态缩写集或相同的产品名称集。
数据是区域设置特定的。例如,数据可能使用不同的日期/时间和数值格式。如果要合并来自不同区域设置的数据,那么在加载数据前必须先将其转换到同一区域设置以避免数据损坏。
Integration Services 包含一些内置转换,可将其添加到包中以清理数据和将数据标准化、更改数据的大小写、将数据转换为不同类型或格式或者根据表达式创建新列值。例如,包可将姓列和名列连接成单个全名列,然后将字符更改为大写。
Integration Services 包还可以使用精确查找或模糊查找来找到引用表中的值,通过将列中的值替换为引用表中的值来清理数据。通常,包首先使用精确查找,如果该查找方式失败,再使用模糊查找。例如,包首先尝试通过使用产品的主键值来查找引用表中的产品名。如果此搜索无法找到产品名,包再尝试使用产品名模糊匹配方式进行搜索。
另一种转换通过将数据集中相似的值分组到一起来清理数据。有些记录可能是重复的,所以不应未经进一步计算就将其插入到数据库中。这种转换对识别此类记录很有用。例如,通过比较客户记录中的地址可以识别许多重复的客户。
商业智能置入数据转换过程
数据转换过程需要内置逻辑来动态响应其访问和处理的数据。
可能需要根据数据值对数据进行汇总、转换和分发。根据对列值的评估,该过程甚至可能需要拒绝数据。
若要满足此需求,SSIS 包中的逻辑可能需要执行以下类型的任务:
合并来自多个数据源的数据。
计算数据并应用数据转换。
根据数据值将一个数据集拆分为多个数据集。
将不同的聚合应用到一个数据集的不同子集。
将数据的子集加载到不同目标或多个目标。
Integration Services 提供了用于将商业智能置入 SSIS 包的容器、任务和转换。
容器通过枚举文件或对象和计算表达式来支持重复运行工作流。包可以计算数据并根据结果重复运行工作流。例如,如果日期在当月,则包执行某一组任务;如果不在,则包执行另一组任务。
使用输入参数的任务也可以将商业智能置入包中。例如,输入参数的值可以筛选任务检索的数据。
转换可以计算表达式,然后根据结果将数据集中的行发送到不同的目标。数据划分完成后,包可以对数据集的每个子集应用不同的转换。例如,表达式可以计算日期列,添加相应期间的销售数据,然后仅存储摘要信息。
还可以将一个数据集发送到多个目标,然后对此相同数据应用不同的转换集。例如,一组转换可以汇总此数据,而另一组转换通过查找引用表中的值并添加其他源的数据来扩展此数据。
使管理功能和数据加载自动化
管理员经常希望将管理功能自动化,例如备份和还原数据库、复制 SQL Server 数据库及其包含的对象、复制 SQL Server 对象和加载数据。Integration Services 包可以执行这些功能。
Integration Services 包含专为以下目的设计的任务:复制 SQL Server 数据库对象,例如表、视图和存储过程;复制 SQL Server 对象,例如数据库、登录和统计信息;使用 Transact-SQL 语句添加、更改和删除 SQL Server 对象和数据。
OLTP 或 OLAP 数据库环境的管理通常包括数据的加载。Integration Services 包含几个使数据大容量加载更加便利的任务。可以使用某个任务将文本文件中的数据直接加载到 SQL Server 表和视图中,还可以在对列数据应用转换后使用目标组件将数据加载到 SQL Server 表和视图。
Integration Services 包可运行其他的包。包含多个管理功能的数据转换解决方案可分为多个包,使管理和重用包更为容易。
如果需要在不同的服务器上执行相同的管理功能,可以使用包。包可以使用循环对服务器进行枚举并在多台计算机上执行相同的功能。为了支持 SQL Server 的管理,Integration Services 提供了可以遍历 SQL 管理对象 (SMO) 的对象的枚举器。例如,包可使用 SMO 枚举器对某个 SQL Server 安装中的 Jobs 集合中的每个作业执行相同的管理功能。
另外,还可以使用 SQL Server 代理作业来安排 SSIS 包
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市