国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

剖析SQL Server 2005中的報告服務架構

2024-08-31 00:51:12
字體:
來源:轉載
供稿:網友
  SQL Server報告服務(SSRS)是一個綜合性和可擴展的報告平臺,它包括一組集成化的處理組件、可編程接口和工具。在本文中,我們將詳細地討論SQL Server報告服務(SSRS)架構。

  一、 簡介

  SSRS是一個綜合性的可擴展報告平臺,它包括一組集成的處理組件、編程接口和工具。處理組件是SSRS多層架構的基礎,并且能夠彼此交互以檢索數據、處理布局、生成和把一個報告提交到一個目標。SSRS支持兩種類型的組件:

  · 處理器-確保SSRS的一致性,并提供一個基礎結構供開發人員添加新的功能(擴展)。在當前的SSRS發行版本中,處理器本身是不可擴展的。

  · 擴展-由處理器調用的程序集,執行特定的處理功能,例如數據檢索。開發人員能夠編寫定制擴展。

  圖1描述了報告服務架構圖;本文后面將更詳細地描述這些組件。該圖中的箭頭顯示在SSRS的內部和外部的各組件(外部工具,應用程序,服務和工具)之間的數據流。


圖1.SQL Server報告服務架構。

  二、 ReportServer Web和Windows服務

  Report Server被實現為web服務和Windows服務的"共同體"。這些服務共同工作以宿主、處理和提交報告。

  當SSRS Windows服務啟動時,它開始加載基本支持程序集(例如一個SQL數據提供者和接口庫),但是它不加載擴展。在這個版本中,SSRS Windows服務處理加密和解密,用作調度和提交處理器的一個宿主。調度和提交處理器使用一個PollingInterval配置來監視"事件"(例如定時訂閱)的SSRS目錄和事件表格。事件指示SSRS"醒來"并開始處理。

  類似于任何.NET web服務,SSRS web服務經由IIS激活("喚醒")并且在asp.net工作進程(aspnet_wp.exe)中執行??删幊探涌谑?喚醒"事件更容易。

  三、 可編程接口

  報告服務可編程接口接收SOAP(經由SSRS web服務)和HTTP請求(經由URL存取)。

  SSRS 2005 web服務提供三種端點:

  · http://localhost/ReportServer/ReportService.asmx的提供是為實現與SSRS2000的向后兼容性。

  · http://<server>/ReportServer/ReportService2005.asmx是SSRS 2005中新的管理端點。

  · http://<server>/ReportServer/ReportExecution2005.asmx是新的執行端點。

  一個端點名描述了相應的使用目的。例如,執行端點的設計是為了提供報告執行(處理)接口,并且相應地提供對函數(例如Render)的存取功能。Render函數把生成的報告以一個指定格式(例如HTML)的流形式返回。

  可編程接口便利了從SSRS目錄中實現信息檢索和在SSRS組件之間的信息交換。
 
  當請求一個報告時(或者通過交互方式或者通過調度和提交處理器),可編程接口初始化該報告處理器組件并開始處理一個報告。

  四、 Report PRocessor(報告處理器)

  報告處理器把一個Report Server的所有組件綁定到一起,并且負責在SSRS內部的緩沖。緩沖是指,當一個用戶打開該報告時,SSRS能夠保持處理過的報告的一個副本并且返回該副本。緩沖能夠縮短檢索一個報告要求的時間,特別如果該報告很大或經常被存取的情況下。所有的報告緩存存儲在SSRS目錄(具體地說,是存儲在ReportServerTempDB數據庫)下,并且能夠在SQL Server和Report Server重啟時仍然存在。
報告處理器執行下列操作:

  · 執行-檢索一個報告定義,并且通過數據處理擴展把它與檢索的數據相結合。該操作生成一個中間格式。

  · 生成-使用生成擴展把中間格式生成為一個請求的輸出格式。

  · 模型處理-這類似Report Builder生成的報告的執行操作,其中包含一個語義模型(或一個簡單的模型,它用作一個報告的一個數據源)和一個語義查詢。語義查詢是指針對一個模型的一個查詢;就象一個SQL查詢一樣,它生成一個報告的數據集。

  下面是報告處理器響應用戶請求的方式:

  · 新的交互式報告請求-中間格式被生成并被傳遞以便生成擴展;用戶接收生成的報告。

  · 請求生成緩存或快照-中間格式被生成并被存儲在數據庫中。

  · 請求緩沖的報告或快照-中間格式被從緩存(或快照)中檢索并被傳遞以便生成擴展;用戶接收生成的報告。
  五、 命令行工具

  在安裝報告服務期間,自動地安裝三個管理助理工具:

  · rs.exe-宿主腳本操作。例如,開發人員能夠創建VB.NET腳本以發布一個組報告。

  · rsconfig.exe-用于修改到Report Server數據庫的加密的連接信息。

  · rskeymgmt.exe-備份/恢復加密數據的對稱密鑰,該數據為一個Report Server所用;或如果該密鑰被丟失的話,刪除加密的數據。
注意 SSRS 2005已經放棄了rsactivate.exe工具,這個工具在以前的版本中用于在web場所下激活新的SSRS實例。在SSRS 2005中,激活是使用報告服務配置工具實現的。

  六、 報告服務擴展
  
  一個擴展是一個.NET程序集,為報告處理器所調用以執行某種處理功能。存在若干類型的擴展:數據處理,提交,生成,安全(認證和授權),SemanticQuery,ModelGeneration和EventProcessing,等等。

  對于一個被Report Server使用的擴展來說,必須把它安裝到(假定是默認的SSRS配置)"C:/Program Files/Microsoft SQL Server/MSSQL.3/Reporting Services/ReportServer/bin"目錄下,并且在"C:/Program Files/Microsoft SQL Server/MSSQL.3/Reporting Services/ReportServer/rsreportserver.config"下進行配置。

  一個擴展文件名的最后一部分通常暗示了該擴展的功能。例如,HTML生成擴展的文件名是"Microsoft.ReportingServices.HtmlRendering.dll"。

  定制擴展允許開發人員添加在SSRS中不能用的補充功能。例如,一個公司能夠實現一個把報告提交到一個電話或一個傳真的擴展。

  注意 該版本的SSRS不允許定制SemanticQuery,ModelGeneration或EventProcessing擴展。

  七、 數據處理擴展

  數據處理擴展負責從報告數據源檢索數據。詳細說來,這些任務包括打開到一個數據源的連接,分析查詢并返回字段名,傳遞參數,以及檢索和遍歷數據集等。表格1概括了包括在SSRS中以及可以用之配置的數據處理擴展。

  表格1.能夠使用SSRS進行配置的數據處理擴展

擴展描述/注意事項
SQL Server連接到并且從SQL Server數據庫引擎(從7.0到2005版本)中檢索數據。
OLE DB連接到并且從OLE DB兼容的數據源中檢索數據。
Microsoft SQL Server Analysis連接到并且從SQL Server分析服務2000和2005中檢索數據。對于分析服務2005來說,這個擴展支持Multidimensional Expressions(MDX)和Data Mining Expressions(DMX)。對于分析服務2000來說,這個擴展僅支持非參數化MDX。
Oracle 連接到并且從一個Oracle數據庫中檢索數據;這時,要求在一臺安裝有Reporting Server的計算機上安裝Oracle客戶端8i Release 3(8.1.7)。
ODBC連接到并且從ODBC兼容的數據源中檢索數據。
xml從能夠通過URL存取的任何XMLweb源(例如一個web服務器)中檢索XML數據。

  所有的擴展(它們都(除了XML)使用SSRS進行安裝)都利用了相應的.NET數據提供者。Microsoft.ReportingServices.DataExtensions庫提供包裝類,這些類負責提供到.NET數據提供者的SSRS數據處理擴展接口。

  開發人員可以創建其它定制數據處理擴展。

  八、 提交擴展

  提交擴展負責把報告提交到特定的設備或格式。在RS中的擴展包括電子郵件和文件共享提交。當用戶(或管理員)創建一個訂閱時,選擇提交方法及相應的擴展。

  表格2概括了這些(包括在SSRS中的和使用SSRS進行配置的)提交擴展。

  表格2.SSRS包括的提交擴展

擴展 目的
郵件提交把一個生成的報告提交到一個郵件收件箱。允許設置提交選項-控制輸出格式以及是否該報告被提交為一個鏈接或作為一個附件。
文件共享提交把一個生成的報告提交到一個共享文件夾。允許設置提交選項-控制一個目的地文件夾路徑,一個輸出格式以及是否該報告能夠覆蓋一個更舊版本或被添加為一個新的版本。


  開發人員可以創建其它定制提交擴展。

  九、 生成擴展

  Report Server生成擴展負責把一個報告的設計和數據轉換成一種設備特定的格式。RS中包括的擴展包括HTML(3.2和4.0),Microsoft Excel,Text/CSV,XML,圖像(BMP,EMF,GIF,JPEG,PNG,TIFF,WMF),以及PDF生成。

  注意 不象 SSRS 2000,它把Excel文件生成為一個含有特定Excel元標記的MHTML文件,SSRS 2005把報告生成為Excel的本機二進制格式。

  因為最后的生成階段僅是與數據處理松耦合的,它能夠使用戶為同一個報告選擇不同的生成選項而不需要重新查詢數據源。

  另外,開發人員還能夠創建其它定制生成擴展。

  十、 安全擴展
  
  本文經常使用術語"安全擴展",好象它是一個概念。事實上,存在兩種相互聯系的擴展:

  · 認證擴展,負責建立用戶標識

  · 授權擴展,負責檢查是否一個標識能夠存取一個特定SSRS資源

  SSRS包括一個基于Windows認證的安全擴展。在建立一個用戶標識后,一個授權過程決定是否配置一個Windows用戶(或包含一個用戶的一個Windows組)以存取一個報告服務器上的一個特別資源。

  開發人員能夠創建其它定制安全擴展。一個SSRS實例僅能使用一個安全擴展。也就是說,或者使用Windows或者使用一個定制擴展,同一時刻只能使用一個。

  十一、 Report Server數據庫

  SSRS目錄下包括兩個數據庫:Report Server數據庫(默認名是ReportServer)和ReportServer臨時數據庫(默認名是ReportServerTempDB)。Report Server數據庫是一個SQL Server數據庫,它能夠存儲SSRS配置部分,報告定義,報告元數據,報告歷史,緩存政策,快照,資源,安全設置,加密的數據,調度和提交數據,以及擴展信息。

  注意 盡管用戶能夠直接存取在SSRS目錄下的數據庫并且能夠直接修改SSRS使用的對象;但在實踐中,不推薦(或不支持)這樣做,因為在SSRS目錄下的內在數據和結構不能被保證與不同版本的SSRS、服務包或補丁相兼容。

  請把Report Server數據庫當作產品數據庫之一來對待。盡管許多開發人員都習慣把RDL存儲在一個單獨的倉庫中,并因此導致經?;謴蚏DL;但是,損失快照數據能夠帶來消極的業務影響。例如,用戶可能使用快照的報告"相對靜止"數據的能力來作一些業務決定。
SSRS使用的另一個數據庫是Report Server臨時數據庫。這個數據庫負責存儲中間處理產品,例如緩沖的報告、會話和執行數據等。
注意 為了把臨時快照存儲在文件系統而不是數據庫中,管理員應該完成下列步驟。

  首先,修改RSReportServer.config,并把WebServiceUseFileShareStorage和WindowsServiceUseFileShareStorage設置為True。
然后,把FileShareStorageLocation設置為一個全稱路徑;默認路徑是"C:/Program Files/Microsoft SQL Server/MSSQL.3/Reporting Services/RSTempFiles"。

  不同于SQL Server的tempdb,當在ReportServerTempDB中的數據存儲時限超過SQL Server時,Report Server將會重啟。而且,Report Server能夠周期性地清除ReportServerTempDB中的到期的和孤立的數據。

  在任何時間,所有的ReportServerTempDB中的數據都能夠被以最小(或毫無)影響刪除掉。例如,這種用戶可能體驗到的最小的影響是帶來一種暫時的性能減弱(由于損失了緩存數據,而且失去了一個執行狀態)。執行狀態被存儲在表sessionData中。執行狀態結果的損失可能導致一個錯誤:"Execution 'j4j3vfblcanzv3qzcqhvml55' cannot be found (rsExecutionNotFound)"。為了解決執行狀態損失問題,用戶需要重新打開一個報告。

  提示 SSRS不能恢復數據庫中刪除的ReportServerTempDB或表。為了快速地從數據庫中對象的錯誤刪除中進行恢復,應該保留一個腳本或一個空ReportServerTempDB的備份。

  在一個向外擴展的發布中,SSRS目錄是被跨該發布中所有的報告服務器共享的。

  十二、 調度和提交處理器

  調度和提交處理器宿主在SSRS Windows服務中,負責進行事件監視。當該調度和提交處理器收到一個事件時,它與報告處理器協作共同生成一個報告。在生成一個報告后,調度和提交處理器使用提交擴展來提交該報告。

  調度和提交處理器利用SQL Server Agent作為一個調度引擎。這個調度是基于擁有該調度的Report Server的本地時間。當一個管理員創建一個新的調度時,SSRS創建一個SQL Server Agent作業以運行于請求的調度。然后,SSRS在ReportServer數據庫的Schedule表中增加一個新行。該行的ScheduleId字段是該作業的標識符。主管能夠調度訂閱、報告歷史和快照執行。

  當調度時間已到,SQL Server Agent通過執行該調度作業生成一個事件。然后,這個作業在ReportServer數據庫的事件表格中插入一個行。這個行擔當一個調度和提交處理器的事件。

  調度和提交處理器每隔PollingInterval秒檢查事件表并初始化適當的動作以響應一個事件。

  注意 這個PollingInterval是在rsreportserver.config配置文件中指定的,默認情況下,被設置為10秒。

  當SSRS Windows服務沒有運行(調度和提交處理器沒有處理事件)或SQL Server Agent沒有運行(這個代理沒有生成事件)時,調度和提交處理將會"中斷"。

  注意 當SSRS Windows服務并沒有運行而SQL Server Agent已運行時,SQL Server Agent的作業歷史將顯示:該被調度的請求("插入事件")成功運行。該作業仍然會成功,盡管被調度的操作能完成,因為調度和提交處理器并沒有運行來處理該事件。

  十三、 Report Builder(SQL Server 2005中新增)

  在以前的SSRS版本中最常用的一個特征是開發終端報告的能力。微軟在SSRS 2005中實現了這一功能。

  Report Builder是一個ClickOnce,特定的終端用戶報告創作和出版工具,它提供拖放且容易使用的報告設計功能。

  注意 你可以通過搜索http://www.microsoft.com和閱讀http://msdn.microsoft.com/msdnmag/issues/04/05/clickonce/default.aspx查找更多的有關ClickOnce應用程序的信息。
作為一個典型的ClickOnce應用程序,Report Builder是從一個瀏覽器中發布的,并在一個客戶端計算機上執行。在安裝期間,Report Builder不要求管理員權限,它運行于一個.NET代碼存取安全的封裝中。

  為了發布Report Builder,點擊報告管理器的工具欄上的"Report Builder"按鈕。作為選擇,你可以使用"http://<server>/ReportServer/ReportBuilder/ReportBuilder.application"URL來啟動Report Builder。Report Builder被發布 到"C:/Documents and Settings/<UserName>/Local settings/Apps/2.0/<obfuscated directory>"路徑下。

  在你可以使用Report Builder之前:

  · 你必須擁有適當的權限,并且成為該報告消費者角色或一個定制角色的一個成員。

  · 必須至少出版一個報告模型。

  · 一個互聯網瀏覽器必須允許你下載文件。

  使用Report Builder開發的報告能夠報告設計器所解釋。

  十四、 報告模型設計器(Report Model Designer,SQL Server 2005中新增)

  報告模型設計器負責生成Report Builder需要的報告模型。一個模型抽象了內在數據的復雜性;例如,一個模型允許把表名和表中的列名映射成一個終端用戶能夠容易理解的業務術語。

  報告模型設計器宿主在Business Intelligence Development Studio(BIDS)或Visual Studio中,由開發人員所使用。實際上,BIDS是一個僅有Business Intelligence工程而沒有任何語言工程的Visual Studio外殼。這種Business Intelligence工程之一是報告模型工程,它能夠啟動報告模型設計器并允許開發人員創建模型。

  在這個發行版本中,模型和相應的特定報告僅能夠使用SQL Server數據源:SQL Server數據庫引擎和SQL Server分析服務。然而,開發人員能夠借助鏈接服務器或分析服務統一數據模型來克服這一限制和存取其它數據源。二者都提供了一個薄的抽象層并允許存取任何OLE DB或ODBC兼容的數據源(包括Oracle)。

  十五、 Report Designer(報告設計器)

  Report Designer是一個面向開發者的綜合性的報告創作、預覽和出版工具,它宿主在Business Intelligence Development Studio 或 Visual Studio中。

  為了組織報告開發過程,Report Designer以選項卡形式提供一個報告的三個視圖:數據,布局和預覽。

  數據選項卡幫助開發人員定義數據源和設計數據集查詢。Report Designer提供三種拖放式圖形化查詢設計器以幫助進行SQL查詢。
布局選項卡幫助開發人員設計一個報告的圖形化描述并且把圖形化描述與數據關聯起來。Report Designer提供一個拖放布局設計者和使用報告控件工具箱。布局設計很類似于Visual Studio為Windows和web應用程序提供的一個用戶接口設計:你可以把報告控件拖放到一個報告中,然后根據需要安排它們,設置屬性并且關聯經數據選項卡設計的數據集。

  預覽選項卡提供一個報告預覽,以便開發人員能夠據需要測試和調整報告。

  Report Designer還提供報告向導,它指導開發人員通過一系列步驟創建一個報告。然而,這個向導僅提供有限個數的布局方式供選擇;不過報告開發者能夠在向導結束后使用布局選項卡據需要修改該布局。

  最后,Report Designer允許開發人員把報告構建和發布到SSRS。

  注意 使用Report Designer開發的報告不能被Report Builder解釋或編輯。
  十六、 Report Manager(報告管理器)

  Report Manager是一個基于web的報告存取和管理工具,用于存取一個Report Server的單個實例。用戶能夠使用報告管理器執行的一些操作,包括觀察、查找和訂閱報告、管理安全(報告存取和角色)、創建文件夾和在文件夾間移動報告、管理數據源、設置報告參數,等等。用戶能夠使用報告管理器執行的動作依賴于該用戶的安全權限。調用報導管理器的默認URL是"http://<server>/reports"。包含Report Manager的二進制程序,頁面及其它內容的默認位置是"C:/Program Files/Microsoft SQL Server/MSSQL.3/Reporting Services/ReportManager"。

  盡管Report Manager提供有限的定制,但是既沒有設計也沒有提供足夠的文檔以支持定制。這使得其它公司可以使用若干定制選項,這可以結合:

  · 接受有限的Report Manager定制能力,例如修正它使用的式樣表(默認地,位于"C:/Program Files/Microsoft SQL Server/MSSQL.3/Reporting Services/ReportManager/Styles")并調整報告管理器通過站點設置(http://<server>/Reports/Pages/Settings.aspx)顯示的名字。

  · 通過使用ReportingServicesWebUserInterface程序集中的類和利用它的未公開的功能理解報告管理器內在運行機制。

  · 編寫定制管理頁面來代替報告管理器中的一個或多個管理頁面。

  · 編寫一個顯示一個公司信息的定制外觀,并最終把用戶引向報告管理器頁面。

  · 編寫一個定制報告管理應用程序來替換Report Manager。

  十七、 SQL Server Management Studio(SQL Server 2005中新增)

  SQL Server Management Studio提供一個基于Windows表單的集成環境來管理各種SQL Server組件。從SSRS角度來看,當用于管理單個SSRS實例時,該Management Studio功能類似于Report Manager。

  使用SQL Server Management Studio的優點包括針對SSRS web開發與發布的穩固的內容視圖,輕微的改進性能,能夠腳本化和"重新播放"管理任務,還有一個更具良好粒度的基于角色的安全設置。

  十八、 報告服務配置工具(SQL Server 2005中新增)

  該報告服務配置工具是一個Windows表單應用程序,它用于啟動和停止Report Server Windows服務和重新設置報告服務器。例如,管理員能夠改變Report Server的數據庫和SQL Server名字,改變SSRS的Windows服務標識,并且改變用于存取Report Server 和報告管理器的虛擬目錄。管理員應該能夠啟動報告服務配置工具,這可以通過使用"SQL Server 2005-> Configuration Tools->Reporting Services Configuration"菜單項或從SQL Server Configuration Manager中使用"SQL Server Reporting Services Properties"對話框中的"Configure"按鈕來實現。

  十九、 RSPrint客戶端控件(SQL Server 2005中新增)

  該RSPrint客戶端ActiveX控件提供在客戶端報告管理器中報告的打印功能。該控件提供一個打印對話框以便用戶初始化一個打印工作,預覽一個報告,指定要打印的頁面,以及改變面邊距。開發人員能夠在代碼中以編程方式存取這個控件以支持他們的應用程序中的報告打印功能。

  二十、 性能監視對象

  "SSRS Windows and Web Service"包括提供性能計數器(提供關于報告處理和資源使用情況的信息)的性能對象。這些對象分別稱為RS Windows服務和RS Web服務。

  注意 在SSRS 2000中,web服務性能對象稱為報告服務,而Windows服務性能對象稱為提交處理器。

  為了獲取更為完整的圖形化參考和搜集更多的信息,管理員還應該能夠監視SQL Server,ASP.NET,處理器,內存和物理或邏輯磁盤計數器。

  二十一、 總結

  在本文中,我們較細致地討論了SQL Server報告服務(SSRS)架構及各種組件。最后,表格3提供了有關SSRS組件的一個摘要。

  表格3.報告服務組件小結

組件簡短描述
可編程接口提供通過SOAP和HTTP請求存取SSRS的功能。
報告處理器便利了從數據檢索到數據生成的一組報告生成操作。報告處理器調用其它組件,例如調用數據擴展以有助于報告生成。
數據處理擴展從一個數據源檢索報告的數據。開發人員能夠開發其它定制數據處理擴展。
命令行工具三個工具,用于管理任務腳本化,在報告服務安裝期間被自動地安裝。
生成擴展把報告的中間格式(報告布局和數據的結合)轉換成一種設備特定的格式,例如HTML。開發人員能夠創建新的生成擴展。
Report Server數據庫存儲報告定義,報告元數據,報告歷史,緩沖的報告,快照,資源,安全設置,加密的數據,調度和提交數據,等等。
Report Server臨時數據庫存儲中間處理產品,緩存和數據。
Scheduling and Delivery Processor監視事件(例如基于時間的訂閱),與報告處理器協作以生成一個報告,和提交擴展協作以把調度報告提交到一個在訂閱中指定的位置。
提交擴展 把報告提交到特定的設備,例如郵件或一個文件系統。開發人員能夠創建新的提交擴展。
Report Manager提供基于web的報告存取和管理能力。調用Report Manager的默認URL是"http://<server>/reports"。
Report Model Designer為在Report Builder中的使用生成報告模型。
Report Builder提供拖放和易于使用的報告設計功能。Report Builder是一個運行于一個客戶端計算機上的特定的終端用戶報告創作和出版工具。
Report Designer允許開發人員開發復雜的報告。Report Designer是一個綜合性的報告創作和出版工具,它宿主于Business Intelligence Development Studio或Visual Studio中。
安全擴展支持用戶和組的認證和授權。開發人員能夠(不包括SQL Server Express edition)創建新的安全擴展。
SQL Server Management Studio 提供基于Windows表單的集成環境來管理SQL Server組件(包括SSRS)。從報告管理的角度來看,Management Studio的功能類似于Report Manager,但是還提供其它能力。
Reporting Services Configuration Tool管理啟動與停止Report Server Windows服務和重新設置報告服務器。這是一個Windows表單應用程序。
WMI提供者提供一個組WMI接口來管理對報告服務器的設置,并且有助于在網絡中發現SSRS實例。
性能監視對象提供SSRS Windows和web服務性能的一個視圖。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥芬河市| 萨迦县| 桃江县| 靖江市| 龙江县| 西青区| 甘泉县| 同德县| 双城市| 贵定县| 武功县| 时尚| 武平县| 鄂托克旗| 合水县| 山丹县| 和平县| 伊春市| 石河子市| 南昌市| 富裕县| 云林县| 云和县| 洛宁县| 六安市| 长宁县| 库尔勒市| 平山县| 嵊州市| 蒙城县| 梅河口市| 房产| 桓仁| 咸阳市| 天镇县| 皋兰县| 东海县| 大渡口区| 鸡泽县| 库车县| 武鸣县|