[转][SQL] SSIS 简单应用 数据库汇入导出设定& SQL Agent定期排程
前言
本篇不是要說高深的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定期排程的更多相关文章
- SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server
<Windows Azure Platform 系列文章目录> 注意: 1.只有SQL Server 2012 CU4及以上版本才支持本章内容 2.当你的数据库文件很大时,建议优化以下内容 ...
- ASP.net+SQL server2008简单的数据库增删改查 VS2012
工具:VS2012 数据库:SQL server 简单说明:根据老师上课给的代码,进行了简单的改正适用于VS2012环境,包括注册.登录.查询.修改.删除功能,多数参考了网上的代码 百度云源代码连接t ...
- SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误
1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...
- SQL Server:查看数据库用户权限(SQL 2005)
1. 查看 SQL 2005 用户所属数据库角色 use yourdb go select DbRole = g.name, MemberName = u.name, MemberSID = u.si ...
- Sql Server 2008 R2 数据库脚本导出方法
经常忘记怎么搞,截几张图记录一下. 1 选中要导出的数据库,右键—>任务—>生成脚本 2 3 4 查看保存的脚本
- SQL Server 2008将数据库数据导出到脚本
1.在要到处的数据库上右键 2.选择“任务” 3.选择“生成脚本” 4.选定要导出的数据库 5.在“编写数据的脚本”处选择“True” 6.接下来选定要导出的表,然后选择“完成”
- 将mysql数据库数据导出为.sql文件
打开Navicat ,在我们要到处的数据上面右击鼠标,然后弹出的快捷菜单上点击“转储SQL 文件”,在再次弹出的子菜单项中选择第一个“数据跟结构”.
- sqlserver 数据库操作导出数据sql工具
软件名称sqldbx 下载URL https://download.csdn.net/download/yanghl1998/7832861 Navicat Premium 这个工具任何类型数据库 ...
- 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 ...
随机推荐
- 对UserDict的研究
# -*- coding: utf-8 -*- #python 27 #xiaodeng #对UserDict的研究 class UserDict(): def __init__(self, dict ...
- Redis学习(7)-通用命令
keys pattern: 获取所有与pattern匹配的key,返回所有与该key匹配的keys. 通配符: *表示任意一个或多个字符串. ?表示一个字符. 例如: 查询所有的key:keys * ...
- JDBC实例--通过连接工具类DBUtil +配置文件来获取连接数据库,方便又快捷
根据前面的连接方法,还有缺点就是,如果人家要换数据库,还得改动源代码,然后还要编译什么的.这样客户修改也不容易. 做法:我们写一个配置文件,把该数据写在配置文件上面,然后通过类来加载改文件,然后读取相 ...
- linux修改 时间 时区
linux系统修改系统时间与时区 | 浏览:3486 | 更新:2014-06-18 19:36 1 2 3 4 5 6 7 分步阅读 有装过Linux系统的人,可能都会有这样的经历,就是该机器安装w ...
- Ubuntu的一些小技巧, 备忘
Ubuntu下打开Scroll Lock键盘灯 一直以为灯坏了, 后来发现在win7下工作正常... 原来是跟系统有关系的. 在Ubuntu18.04下可以通过这个命令开关Scroll Lock灯 # ...
- JavaScript-event参数传递详解
onmouseover="over(event)" onmouseout="out(event)" onclick="change(event)&qu ...
- [转载]linux 文件改名,移动
原文地址:linux 文件改名,移动作者:我的足迹 文件改名命令mv(DOS下为REN或rename),在linux中用mv命令给文件改名,例: mv /mntfloppy p相当于 ren ...
- docker创建自己的镜像并配置nginx
前言 最近在研究docker,记录一下如何创建一个属于自己的镜像 本次使用linux版本为centos7.4(centos6也可以使用docker,只不过有部分功能只有7才有) 本次创建的镜像为cen ...
- 安卓开发应该知道的Drawable、Bitmap、Canvas和Paint的关系
首先让我们理解下Android平台中的显示类是View,但是还提供了底层图形类android.graphics,今天所说的这些均为graphics底层图形接口. Bitmap - 称作位图,一般位图的 ...
- 使用ShareSDK完成第三方(QQ、微信、微博)登录和分享
这几天遇到一个需求:做第三方登录和分享.遇到了一些坑,把整个过程整理记录下来,方便他人,同时也捋一下思路. 当时考虑过把每个平台的SDK下载下来,一个一个弄,一番取舍后决定还是用ShareSDK.这里 ...