前言
本篇不是要說高深的SSIS 技巧,而是用實例的方式,說明如何應用 Visual Studio 的「Business Intelligence Projects」來建立「Integration Service Project」,並且加入(deployment)到SQL中,最後再以 SQL Agent 來排程做定期執行的工作。

如果環境是只有安裝 SQL2008 或是先安裝了SQL ,會發現怎麼系統上也安裝了 Visual Studio 呢?沒錯~當安裝了 SQL 之後,會連帶的安裝 Business Intelligence (BI) 的開發環境。

一、SSIS介紹
Microsoft SQL Server Integration Services (SSIS) 是一個平台,用於建立高效能資料整合方案,包括資料倉儲的擷取、轉換和載入 (ETL) 封裝。

Integration Services 包含用於建立及偵錯封裝的圖形工具和精靈;用於執行工作流程功能 (例如 FTP 作業)、執行 SQL 陳述式或傳送電子郵件訊息的工作;用於擷取及載入資料的資料來源和目的地;用於清除、彙總、合併和複製資料的轉換;用於管理 Integration Services 的管理服務,即 Integration Services 服務;以及用於程式設計 Integration Services 物件模型的應用程式發展介面 (API)。

Integration Services 取代 Data Transformation Services (DTS),後者最初是當做 SQL Server 7.0 元件導入的。

二、設定說明
要完成 SSIS 的簡單應用,需要下列的步驟
1.建立新的Project
2.建立Package
3.說明怎麼將此 Package 安裝到 SQL 裡,甚至是其他台機器
4.說明怎麼利用 SQL Agent 來排定工作

1. 建立新的Project
1.1開啟 Visual Studio ,並「New Project」

1.2專案類型 Project Type 選「Business Intelligence Projects」,樣版Templates 選「Integration Service Project」

1.3預設開啟版面的樣式

1.4這個名稱最後會出現在 SSIS 的 Stored Package 裡的 Package 名稱,先把Package .dtsx刪除

1.5右鍵點選SSIS封裝,裡的SSIS匯入和匯出精靈

1.5.1第一個出現的是資料來源,伺服器名稱輸入資料來源的IP,驗證請都使用SQL Server驗證,資料庫請選自己要匯入匯出的資料庫名稱

1.5.2第二個出現的就是資料目的地,伺服器名稱輸入資料目的地的IP,驗證請都使用SQL Server驗證,資料庫請選自己要匯入匯出的資料庫名稱

1.5.3選重一或多個資料表或檢視表複製資料

1.5.4選擇自行要匯入的資料表,後選擇下方編輯對應

1.5.5把先卸除再重新建立新目的地資料表。(此做法是為了防止若有要用SQL Server Agent做定期資料匯入到目的地資料庫時會產生重覆的資料)

1.5.6若有看到此畫面 可直接下一步 這是用來提醒的

1.5.7此畫面是告知做了什麼動作

1.5.8 接下來會需要一點時間,讓系統跑一下。請耐心等待,只要不要出現錯誤就可以了 完成後關閉

1.6在Visual Studio上會看到此畫面

1.7這個名稱最後會出現在 SSIS 的 Stored Package 裡的 Package 名稱,建議改成符合功能的名稱

1.7.1跟你確定是不是要改 Package Object 的名稱

1.8若要確定是否有誤可點選上方的偵錯測試看看 是否有問題 如果沒問題就完成SSIS的設定了

到這邊為止,以上是在說明如何建立SSIS的Package

2. 建立Package
2.1首先,點選 Project 按滑鼠右鍵,選擇屬性(property)

2.1.1然後把屬性「Deployment Utility」的「CreateDeploymentUtility」設定為 True。

2.2到 SSIS 選單選「Package Configurations」去設定 Package 的參數

咦?怎麼我的畫面是向下圖而非上圖那樣有「Package Configurations」可以選呢?別擔心,只要把滑鼠點回 Data Flow tag 就會出現了,在 Solution Explorer 點 Project 是看不到選項的。

2.3開啟選項後,就「Enable package Configurations」然後「Add…」新增

2.3.1 Configuration type:這邊選 XML 格式

2.3.2 這邊的設定很重要,因為建立好的 Package 可能會運用在許多地方,不單單是本機的SQL Server,所以需要把一些參數設成可以依不同 Server 做調整。

所以左邊框就是讓你勾選,當將此 Package 安裝在 SQL 裡,哪些項目還能做更改

2.3.3 完成後,就可按下 Finish

2.3.4回到這一頁按下 Close 結束吧

2.4 Package 設定檔都設定好之後,就是要將他建立起來(建立安裝檔),選擇 Build 選單來建置。

2.5接著在專案的目錄下\ bin \ Deployment\ 會有相關的檔案

3. 說明怎麼將此 Package 安裝到 SQL 裡,甚至是其他台機器
3.1只需要執行上圖中「安裝檔」那個檔案,就會開始安裝

3.2 Package 可以以檔案形式,也可以直接 deployment 到 SQL,這個例子我選用檔案方式。

3.3設定檔案存放的位置 (特別再說明一次,因為我前半段跟後半段在不同電腦執行,又忘記取相同的專案名稱,所以下圖中的專案目錄是 ISP1 ,如果您是跟著我前半段使用 SSIS_01 那麼這邊的目錄就會是 SSIS_01。

3.4剛剛保留可以更改的變數,在此安裝步驟就可以依每台 Server 不同的環境,設定不同的值。

3.5安裝之後,你要用 Object Explorer 的「Integration Service」去連結他

3.6安裝好的 Package 會出現在 \Stored Package\File System\Project Name。

3.7在這個 Package 裡有一些項目還可以再修改(例如輸出的檔案名稱)

3.8執行就會出現下圖的執行結果

沒有錯誤訊息出現 就OK了
如果你沒打算將此 Package 放入排程來定期處理,上述的步驟就完成了。

4. 說明怎麼利用 SQL Agent 來排定工作
接下來的設定請在SQL Server上設定

4.2設定新工作的名稱

4.3建立工作內容(Steps),Type 要選「SQL Server Integrated Service Package」 來呼叫剛剛建立的 Package。

4.4在 General 頁籤中 Package Source 選「File System」(因為我是用檔案的方式)

4.5檔案會放在 ~SQL\100\DTS\Package\專案

4.6然後到左邊「進階 Advanced」去設定當此工作完成後,該怎麼辦~當然就是給他結束囉,除非你還有下一個 Step

4.7接著在 Schedule 設定執行的時間

4.8可以在 SQL Agent 的 Job 中查看,剛剛建立的新JOB是否產生了

最後只需在排程預定的執行時間後,觀察執行的狀況,如果正常 SQL Agent 就會繼續執行
PS.如果在執上有錯誤請查看錯誤訊息看是否為權限問題

如果是請到SQL Server Configuration Managerg 上調整SQL Server Angent 的使用權限或到services.msc 上一樣找到SQL Server Angent 來調整
SQL Server Configuration Managerg

services.msc

使用 SSIS 真的還蠻容易在設定時出錯的,如果參數設定不完善,也會導致執行時錯誤

[转][SQL] SSIS 简单应用 数据库汇入导出设定& SQL Agent定期排程的更多相关文章

  1. SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server

    <Windows Azure Platform 系列文章目录> 注意: 1.只有SQL Server 2012 CU4及以上版本才支持本章内容 2.当你的数据库文件很大时,建议优化以下内容 ...

  2. ASP.net+SQL server2008简单的数据库增删改查 VS2012

    工具:VS2012 数据库:SQL server 简单说明:根据老师上课给的代码,进行了简单的改正适用于VS2012环境,包括注册.登录.查询.修改.删除功能,多数参考了网上的代码 百度云源代码连接t ...

  3. SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

    1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...

  4. SQL Server:查看数据库用户权限(SQL 2005)

    1. 查看 SQL 2005 用户所属数据库角色 use yourdb go select DbRole = g.name, MemberName = u.name, MemberSID = u.si ...

  5. Sql Server 2008 R2 数据库脚本导出方法

    经常忘记怎么搞,截几张图记录一下. 1 选中要导出的数据库,右键—>任务—>生成脚本 2 3 4 查看保存的脚本

  6. SQL Server 2008将数据库数据导出到脚本

    1.在要到处的数据库上右键 2.选择“任务” 3.选择“生成脚本” 4.选定要导出的数据库 5.在“编写数据的脚本”处选择“True” 6.接下来选定要导出的表,然后选择“完成”

  7. 将mysql数据库数据导出为.sql文件

    打开Navicat ,在我们要到处的数据上面右击鼠标,然后弹出的快捷菜单上点击“转储SQL 文件”,在再次弹出的子菜单项中选择第一个“数据跟结构”.

  8. sqlserver 数据库操作导出数据sql工具

    软件名称sqldbx 下载URL  https://download.csdn.net/download/yanghl1998/7832861 Navicat Premium  这个工具任何类型数据库 ...

  9. mysql导出csv/sql/newTable/txt的方法,mysql的导入txt/sql方法...mysql备份恢复mysqlhotcopy、二进制日志binlog、直接备份文件、备份策略、灾难恢复.....................................................

    mysql备份表结构和数据 方法一. Create table new_table_nam备份到新表:MYSQL不支持: Select * Into new_table_name from old_t ...

随机推荐

  1. 像烟瘾一样的Adobe Flash,真的戒不掉吗?

    近来对Adobe Flash来说真是段难过的日子.Hacking Team公司外泄的440GB电子邮件数据已成为黑客挖掘安全漏洞的宝藏. 光是Flash就被发现了三个不同的漏洞: l  CVE-201 ...

  2. python之函数用法iter()

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法iter() #iter() #说明:对一个对象调用 iter() 就可以得到它的迭代 ...

  3. try/except/else语句

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #Python学习手册 868 #try/except/else语句 #try语句分句形式 except: # ...

  4. 通过配置Apache实现404页面替换

    一.通用情况--修改apache配置.htaccess 一般网站报404原因都是找不到资源,是服务器(以Apache为例)报错,Apache自定义了404输出,我们的目的是使用自定义的404.html ...

  5. HDUOJ----1181 变形课

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) Total Submi ...

  6. Swift和Objective-C混编的注意啦

    文/仁伯安(授权) 原文链接:http://www.jianshu.com/p/2ed48b954612 前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更 ...

  7. 使用EditPlus技巧,提高工作效率(附英文版、自动完成文件、语法文件下载)

    http://www.cnblogs.com/JustinYoung/archive/2008/01/14/editplus-skills.html

  8. Http Analyzer Std V3.3.1.140 汉化补丁

    http://www.cnblogs.com/nicch/archive/2008/08/30/ha_httpanalyzerstdv3.html Http Analyzer Std V3.3.1.1 ...

  9. 【js】正则表达式(I)

    正则表达式是由英文词语regular expression翻译过来的,就是符合某种规则的表达式.正则表达式在软件开发中应用非常广泛,例如,找出网页中的超链接,找出网页中的email地址,找出网页中的手 ...

  10. OGG_GoldenGate数据控制进程Manager(案例)

    2014-03-03 Created By BaoXinjian