前言
本篇不是要說高深的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. 12、static final

    Java中修饰常量用static final 用static final同时修饰的变量只能是成员变量而不能是局部变量 初始化: ①:定义时赋值 ②:静态代码块static{}中赋值 static 和 ...

  2. (39)JS运动之缓冲运动

    基本思路:使用定时器让物体向右运动,在运动的过程中再不是匀速运动,而是先快后慢,即距离越大,速度越快,距离越小,速度越小,可是到达终点的时候,必须注意要使用向上取整函数Math.ceil()和向下取整 ...

  3. (二)Activiti之——activiti数据库表介绍

    1. 数据库表的命名 Activiti的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: 'RE'表示repository. 这个前缀的表包 ...

  4. 简单易懂的Ubuntu生存战略:开启无线网卡的wifi热点,ap模式

    在ubuntu下如何把无线网卡设置成可供wifi设备上网的接入点 因为某些移动设备对wifi热点的要求有些苛刻,p2p模式的无线连接方式虽然易设置,但是实用性不高. 相对而言,创建一个虚拟无线路由器成 ...

  5. VC6.0设置注释快捷键

    第一步:工具栏上右键选择Customize(定制),选择“Add-ins and Macro Files(附加项和宏文件)”页,把SAMPLE前面打上钩. 第二步:选择“Commands(命令)”页, ...

  6. Oracle SQL Developer,Oracle 开发工具之toad、SQL Developer、PL/SQL Developer等比较

    参考: oracle 的几个开发工具比较 因Oracle几乎是中大型商业企业数据的首选,所以比较一下常用与Oracle的工具. Oracle SQL Developer 免费,一般开发使用足矣,常用. ...

  7. 作业调度框架_Quartz

    什么是Quartz Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制.Quartz允许开发人员根据时间间隔来调度作业.它实现了作业和触发 ...

  8. CentOS 安装 Hadoop

    原文地址:http://www.cnblogs.com/caca/p/centos_hadoop_install.html 下载和安装   download hadoop from http://ha ...

  9. 【Linux】在线求助man page与info page

    先来了解一下Linux有多少命令呢?在文本模式下,你可以直接按下两个[Tab]按键,看看总共有多少命令可以让你用? [knife@www ~]$ <==在这里不要输入任何字符,直接输入两次[ta ...

  10. Unix环境高级编程(三)标准I/O库

    标准I/O库是ISO C的标准,在很多操作系统上面都实现.Unix文件I/O函数都是针对文件描述符的,当打开一个文件的时候,返回该文件描述符用于后续的I/O操作.而对于标准I/O库,操作则是围绕流进行 ...