sqlserver dts 操作
- 格式:ppt
- 大小:329.50 KB
- 文档页数:17
1、打开本地企业管理器,先创建一个SQL Server注册来远程连接服务器端口SQL Server。
步骤如下图:图1:2、弹出窗口后输入内容。
"总是提示输入登陆名和密码"可选可不选,如图2。
图2:3、注册好服务器后,点击打开。
如果是选择了"总是提示输入登陆名和密码"的话再点了确定后会提示输入用户密码,如图3。
图3:4、进入后,选择到您的数据库,如testdb。
在上面点右键,"所有任务">>"导入数据",如图4。
图4:5、进入DTS导入/导出向导,点击“下一步”按钮继续6、选择数据源,输入数据源所在的数据库服务器名称、用户名、密码和要复制数据的源数据库,点击“下一步”按钮7、选择“在SQL Server数据库之间复制对象和数据”方式,点“下一步”继续图7:8、这一步可以把"包括扩展属性"和"排序规则"两个选择上。
接着去掉左下的"使用默认选项",点击右下角的"选项"来进行配置。
图8:9、图8中点"选项"后会弹出图9,把"复制数据库用户和数据库角色"与"复制对象级权限"两个选项去掉,点确定回到图8接着点"下一步"进到图10。
10、设定调度方式,一般选“立即运行”就可以,然后点“下一步”继续11、点"完成"开始执行。
图11:12、正在进行数据导入中图12:13、如果一切正常,提示成功复制如图13,那就大功告成了。
图13:如果提示导入失败,出现图14情况,这时不要急着点"完成"关闭窗口。
双击中间的"出现错误"会出现详细的失败原因。
图14:错误原因一、没安装SP3补丁如果是出现如图15的报错原因,那么就很有可能是因为您本机的SQL Server 还没有打SP3补丁。
1、安装虚拟光驱DAEMON2、载入虚拟光盘文件SQL Server 2000文件3、安装SQL Server 2000简体中文个人版4、安装SQL Server 2000组件5、安装数据库服务器(S)6、下一步7、本地计算机,下一步【备注:若碰到“以前的某个程序安装已在安装计算机上创建挂起的文件操作。
运行安全程序之前必须重启计算机”的错误,请按如下方法处理:在运行窗口输入regedit,打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager中找到PendingFileRenameOperations(为Session Manager右侧的键值,而非下拉的子目录),删除该键值(这个键值是安装程序暂挂项目,只要找到对应的应用程序清除掉就行了),关闭注册表编辑器。
重新安装SQL Server 2000即可】8、创建新的SQL Server 实例,或安装“客户端工具”(C),下一步9、随意输入姓名、公司(本人均为BLEACH),下一步10、是11、服务器和客户端工具(S),下一步12、默认,下一步13、自定义,本人将程序文件和数据文件均更改至d:\Program Files\Microsoft SQL Server,下一步14、下一步15、对每个服务使用同一账户。
自动启动SQL Server服务。
服务设置中选择“使用本地系统账户”,下一步16、选择“混合模式”,选择“空密码”,下一步17、下一步18、下一步19、下一步20、完成21、将EMS文件夹复制至任一盘(本人选择D盘)根目录下22、“开始”-所有程序-Microsoft SQL Server-服务管理器-开始/继续23、“开始”-所有程序-Microsoft SQL Server-企业管理器-Microsoft SQL Servers -SQL Server组-(local)(Windows NT)-右键“数据库”-所有任务-附加数据库-将ems/sqldata文件夹下suzhou_Data.NDF导入至“要附加数据库的MDF文件”-确定24、左键“安全性”-双击“登录”-右键“sa”-属性-常规:数据库改为suzhouexam,并删除密码-确定-确定25、控制面板-管理工具-数据源-系统DSN-添加-SQL Server-名称:ems_data,服务器输入“SQL Server服务管理器名称,本人为BLEACH”-下一步-下一步-更改默认的数据库为“suzhouexam”-下一步-完成-测试数据源-确定-确定-确定26、将“安装说明”文件夹下的emsenv.pro(D盘ems文件夹下的emsenv.pro可以删除)文件复制至C盘根目录下,用记事本打开,更改ems安装路径(本人为d:\EMS),用本地计算机名称替换“ddzhj”(本人用bleach替换),保存文件27、将ems\user\lib文件夹下所有文件拷贝至C:\WINDOWS\system32文件夹下28、启动D:\ems\启动EMS,用户名:sa,密码:空29、(附加)启动DTS后,DTS控制台-仿真重演-第一个,灵宝变#1主变过载,将灵宝变备用4负荷有功改为8,切换至DTS控制台,点击“仿真快照”。
用SQL DTS实现SQL Server到Oracle的数据迁移陈拓 chentuo@2005 年 2月 15 日 最后修改日期 2005 年 3月 27 日以下的操作以 SQL Server2000 和 Oracle 10g 为例。
一、 在Oracle数据库中建立一个新帐户如果已有可用用户,跳过这一部分。
1.用SQL*plus创建新用户l建立一个新帐户 ct,PL/SQL 脚本如下:SET ECHO OFFPROMPTPROMPT specify password for ct as parameter 1 (ct):DEFINE pass = &1PROMPTPROMPT specify default tablespeace for ct as parameter 2 (USERS):DEFINE tbs = &2PROMPTPROMPT specify temporary tablespace for CT as parameter 3 (TEMP):DEFINE ttbs = &3PROMPTPROMPT specify password for SYS as parameter 4 (sys):DEFINE pass_sys = &4PROMPTPROMPT specify log path as parameter 5 (D:\oracle\product\10.1.0\):DEFINE log_path = &5PROMPT-- The first dot in the spool command below is-- the SQL*Plus concatenation characterDEFINE spool_file = &log_path.ct_main.logSPOOL &spool_fileREM =======================================================REM 删除用户及其方案REM =======================================================DROP USER CT CASCADE;REM =======================================================REM 创建新用户,指定默认表空间和临时表空间REM =======================================================CREATE USER CT IDENTIFIED BY &pass;ALTER USER CT DEFAULT TABLESPACE &tbsQUOTA UNLIMITED ON &tbs;ALTER USER CT TEMPORARY TABLESPACE &ttbs;REM =======================================================REM 授权 CONNCET AND RESOURCE 角色REM =======================================================GRANT CONNECT TO CT;GRANT RESOURCE TO CT;REM =======================================================REM 从 sys方案授权(方案\SYS\源类型\程序包\dbms_stats)REM =======================================================CONNECT sys/&pass_sys AS SYSDBA;GRANT execute ON sys.dbms_stats TO ct;REM =======================================================REM 设置本次会话的语言和区域REM =======================================================CONNECT ct/&passALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE';ALTER SESSION SET NLS_TERRITORY=CHINA;spool offl查看相关信息用 DBA_ROLES 视图查看角色信息:SQL> conn sys/sys@oract as sysdbaSQL> select * from DBA_ROLES;用 DBA_ROLE_PRIVS 视图查看授予授予用户的角色:SQL> select * from DBA_ROLE_PRIVS where GRANTEE='CT'; 用 ROLE_SYS_PRIVS 视图查看授予角色的系统权限:SQL> select * from ROLE_SYS_PRIVS where ROLE='CONNECT';SQL> select * from ROLE_SYS_PRIVS where ROLE='RESOURCE'; 用 SESSION_ROLES 视图查看用户当前已启用的角色:SQL> conn ct/ct@oractSQL> select * from SESSION_ROLES;l将此脚本存为文件 ct_main.sqll以 SYS 或 SYSTEM 登录C:\>sqlplus sys/sys as sysdbal运行脚本 ct_main.sqlSQL> @D:\lecture\oracle\ct_main.sqll查看操作日志文件:D:\oracle\product\10.1.0\ ct_main.log2.用JDeveloper创建新用户The user name you use to create a connection must have adequate privilege to create a user, either by having been granted CREATE USER privilege or having been granted a role such as administrator that contains that privilege. If you did not create the connection with a user with the correct privileges, you will not be able to select User from the New Gallery.用于创建一个连接的用户名必须有足够的权限来创建用户,即可以是1) 选择 View | Connection Navigator2) 展开 Database 并且选择一个 database connection3) 在 connection中,右击schema 或者其中的任一项,选择 NewFrom the New Gallery, in Filter By, choose All TechnologiesFrom the New Gallery, in Categories , expand Database Tier and choose Database Objects从 Database Objects,选择 User,并且 and click OK to open the New Database User wizardIn the pages of the wizard enter parameters and select options to define the tableClick NextOn the Finish page, click Finish to create the table.二、用 Microsoft DST 将数据从SQL Server 导出到 Oracle1.启动DST开始 > 程序 > Microsoft SQL Server > 导入和导出数据:图1 启动DST2.出现“DTS导入/导出向导”界面,下一步:图2 DTS导入/导出向导3.选择数据源在数据源中选取“用于 SQLServer 的Microsoft OLE DB 提供程序”。
数据变换和转换注意事项(SQL)使用数据转换服务(DTS)转变或转换异类数据和目的服务器之间的数据之前,请考虑不同程序、提供程序以及驱动程序支持数据类型和SQL语句的方式的变化。
当使用Microsoft®SQLServer™作为数据源时,请考虑以下事项:将real数据类型转换为int数据类型也许不能返回准确的值,因为SQLServer2000只支持准确度为6位数字的real数据类型。
例如,real型数字2147480000可能生成2147480065的int值。
从一个文本文件将string(DBTYPE_WSTR)列转换为date(DBTYPE_DATE)或time(DBTYPE_TIME)列时,OLEDB 数据转换服务组件只承受一种日期或时间格式(yyyy-mm-ddhh:mm:ss.fffffffff)。
使用日期时间字符串转换,或者使用CDate函数编码MicrosoftActiveX®脚本转换正确地转换日期。
SQLServer2000不支持OLEDB类型DBTYPE_DATE 或DBTYPE_TIME。
SQLServer2000只支持DBTYPE_DATETIME。
若要通过多步骤访问数据,请防止在转换过程中使用temp表。
应使用全局temp表或在tempdb中创立永久表。
从temp表返回行的存储过程不能用作转换源。
可以使用存储过程从全局temp表或表返回行。
在转换数据任务、数据驱动的查询任务或DTS设计器中的执行SQL任务中使用临时表时,请记住:不能使用Transact-SQL语句或调用temp表的存储过程作为源。
该限制并不应用于DTS设计器的外部。
可使用通过编程方式访问SQLServertemp表的源语句或存储过程。
DTS导入/导出向导和DTS设计器当使用DTS导入导出向导和DTS设计器创立包时,请考虑以下事项:DTS用户界面允许共享任务中现有的连接,但是同一个连接不能既用在一个转换的源中又用在该转换的目的中。
sqlserver如何备份或恢复⼀个表_MSSQLServer如果只想备份或恢复单个表⽽不想备份或恢复整个数据库的话,往往有以下⽅法:1.在Sql server2000 中可以使⽤DTS来将该表的数据导出成另外的⽂件格式.当需要恢复时,可以将该⽂件中数据再通过DTS导⼊;或者建⽴DTS脚本来完成2.使⽤命令bcp:导出到filename⽂件中:Master..xp_CmdShell 'bcp 库名..表名 out D:\filename-c -Sservername -Usa -Ppassword'---导⼊:Master..xp_cmdShell 'bcp 库名..表名 in D:\filename -c -Sservername -Usa -Ppassword'=======================================select * into backname form tablename 来备份这个语句会先在数据库中建⼀个backname的表,然后将数据从tablename表中导⼊到backname中,但如果数据库中已经存backname这个表的话就会报错,⽽且这样备份也不科学.可以先判断表是否存在:存在,删除,备份。
if exists object_id("backname") thendrop table backnameselect * into backname from tablename========================================--对数据库备backup database 数据库名 to disk='c:\名称.bak'--对表备份,如上,写个Job定时去备份!---恢复内容结束---。
利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出- -熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。
在Transact-SQL语句中,我们主要使用OpenDataSource 函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。
利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明如下:一、SQL SERVER 和ACCESS的数据导入导出常规的数据导入导出:使用DTS向导迁移你的Access数据到SQL Server,你可以使用这些步骤:1在SQL SERVER企业管理器中的Tools(工具)菜单上,选择Data Transformation2Services(数据转换服务),然后选择czdImport Data(导入数据)。
3在Choose a Data Source(选择数据源)对话框中选择Microsoft Access as the Source,然后键入你的.mdb数据库(.mdb文件扩展名)的文件名或通过浏览寻找该文件。
4在Choose a Destination(选择目标)对话框中,选择Microsoft OLE DB Prov ider for SQL Server,选择数据库服务器,然后单击必要的验证方式。
5在Specify Table Copy(指定表格复制)或Query(查询)对话框中,单击Copy tables(复制表格)。
6在Select Source Tables(选择源表格)对话框中,单击Select All(全部选定)。
下一步,完成。
Transact-SQL语句进行导入导出:1. 在SQL SERVER里查询access数据:-- ======================================================SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名-------------------------------------------------------------------------------------------------2. 将access导入SQL server-- ====================================================== 在SQL SERVER 里运行:SELECT *INTO newtableFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名------------------------------------------------------------------------------------------------- 3. 将SQL SERVER表里的数据插入到Access表中-- ====================================================== 在SQL SERVER 里运行:insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名(列名1,列名2)select 列名1,列名2 from sql表实例:insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','C:\db.mdb';'admin';'', Test)select id,name from TestINSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)SELECT *FROM sqltablename-------------------------------------------------------------------------------------------------二、SQL SERVER 和EXCEL的数据导入导出1、在SQL SERVER里查询Excel数据:-- ======================================================SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 下面是个查询的示例,它通过用于Jet 的OLE DB 提供程序查询Excel 电子表格。
SQLServer⼤数据量插⼊BULKINSERTSQLSERVER ⼤数据量插⼊命令:BULK INSERT是SQLSERVER中提供的⼀条⼤数据量导⼊的命令,它运⽤DTS(SSIS)导⼊原理,可以从本地或远程服务器上批量导⼊数据库或⽂件数据。
批量插⼊是⼀个独⽴的操作,优点是效率⾮常⾼。
缺点是出现问题后不可以回滚。
BULK INSERT是⽤来将外部⽂件以⼀种特定的格式加载到数据库表的T-SQL命令。
该命令使开发⼈员能够直接将数据加载到数据库表中,⽽不需要使⽤类似于Integration Services这样的外部程序。
虽然BULK INSERT不允许包含任何复杂的逻辑或转换,但能够提供与格式化相关的选项,并告诉我们导⼊是如何实现的。
BULK INSERT有⼀个使⽤限制,就是只能将数据导⼊SQL Server。
插⼊数据下⾯的例⼦能让我们更好的理解如何使⽤BULK INSERT命令。
⾸先,我们来创建⼀个名为Sales的表,我们将要把来⾃⽂本⽂件的数据插⼊到这个表中。
本地数据操作:当我们使⽤BULK INSERT命令来插⼊数据时,创建的表有⽆触发器需要不同的配置,我们分别举例来看:【A没有触发器的表】 CREATE TABLE [dbo].[Sales] ( [SaleID] [int], [Product] [varchar](10) NULL, [SaleDate] [datetime] NULL, [SalePrice] [money] NULL )【B有触发器的表】 还是在上⾯表的基础上,我们创建触发器,⽤来打印插⼊到表中的记录的数量。
CREATE TRIGGER tr_Sales ON Sales FOR INSERT AS BEGIN PRINT CAST(@@ROWCOUNT AS VARCHAR(5)) + ' rows Inserted.' END这⾥我们选择⽂本⽂件作为源数据⽂件,⽂本⽂件中的值通过逗号分割开。
SqlServer使⽤MSDTC的设置 第⼀次写博客,⽂笔有限,写的不好还望各位⼤佬多多指教。
对于这个问题,也有很多的⼤佬写过,不过我⾃⼰去配置的时候遇到过很多的问题,所以我打算发帖尽可能写的详细。
⼀、防⽕墙设置1. msdtc 通过防⽕墙设置防⽕墙关闭状态下可以不⽤看防⽕墙设置!防⽕墙关闭状态下可以不⽤看防⽕墙设置!防⽕墙关闭状态下可以不⽤看防⽕墙设置!打开我的电脑 -> 控制⾯板 -> 系统和安全 -> Windows Defender 防⽕墙 -> 允许应⽤或功能通过 Windows Defender 防⽕墙如下图快速通道 : win + E 输⼊控制⾯板\系统和安全\Windows Defender 防⽕墙回车选择 "允许应⽤或功能通过 Windows Defender 防⽕墙"整体预览图整体预览图整体预览图详细步骤图详细步骤图详细步骤图2. 防⽕墙端⼝设置打开控制⾯板\系统和安全\Windows Defender 防⽕墙\⾼级设置例⼦:设置SQL SERVER 的出⼊站规则,如果要配置其他的端⼝的出⼊站规则,请参照下⽅图解⼊站规则设置右键⼊站规则 -> 新建规则(如下图)出站规则右键出站规则 -> 新建规则(如下图)⼆、组件设置 打开组件服务 win + r 输⼊%windir%\system32\comexp.msc 保证DTC登陆账户为:NT Authority\NetworkService三、服务 记得重启Distributed Transaction Coordinator服务四、NetBIOS查看NetBIOS win + R 输⼊cmd 在输⼊ nbtstat -n电脑名称IP操作系统DESKTOP-54DPDBN192.168.1.150Windows1(SQL Server1)DESKTOP-9K9J8VA192.168.1.200Windows2(SQL Server2)DESKTOP-K26J8BS 192.168.1.160Linux 1(SQL Server3)DESKTOP-ED42DBN 192.168.1.170 Windows3(My SQL)为了确保 ping 电脑名能 ping通需要修改Hosts ⽂件(两台电脑都需要修改hosts⽂件)如果有地⽅没有写详细⿇烦在下⽅评论区留⾔或进QQ群(588143216)⼀起交流。
【引用】常用SQL命令和ASP编程【引用】MSSQL经典语句2011-07-28 16:23:00| 分类:电脑网络| 标签:|字号大中小订阅本文引用自honeyzyf《MSSQL经典语句》1.按姓氏笔画排序:Select * From TableName Order By CustomerName CollateChinese_PRC_Stroke_ci_as2.数据库加密:select encrypt('原始密码')select pwdencrypt('原始密码')select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同encrypt('原始密码')select pwdencrypt('原始密码')select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同3.取回表中字段:declare @list varchar(1000),@sql nvarchar(1000)select @list=@list+','+ from sysobjects a,syscolumns b where a.id=b.id and ='表A'set @sql='select '+right(@list,len(@list)-1)+' from 表A'exec (@sql)4.查看硬盘分区:EXEC master..xp_fixeddrives5.比较A,B表是否相等:if (select checksum_agg(binary_checksum(*)) from A)=(select checksum_agg(binary_checksum(*)) from B)print '相等'elseprint '不相等'6.杀掉所有的事件探察器进程:DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid)FROM master.dbo.sysprocessesWHERE program_name IN('SQL profiler',N'SQL 事件探查器')EXEC sp_msforeach_worker '?'7.记录搜索:开头到N条记录Select Top N * From表-------------------------------N到M条记录(要有主索引ID)Select Top M-N * From表Where ID in (Select Top M ID From表) Orderby ID Desc----------------------------------N到结尾记录Select Top N * From表Order by ID Desc8.如何修改数据库的名称:sp_renamedb 'old_name', 'new_name'9:获取当前数据库中的所有用户表select Name from sysobjects where xtype='u' and status>=0 10:获取某一个表的所有字段select name from syscolumns where id=object_id('表名')11:查看与某一个表相关的视图、存储过程、函数select a.* from sysobjects a, syscomments b where a.id= b.id and b.text like '%表名%'12:查看当前数据库中所有存储过程select name as 存储过程名称from sysobjects where xtype='P'13:查询用户创建的所有数据库select * from master..sysdatabases D where sid not in(select sid frommaster..syslogins where name='sa')或者select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x0114:查询某一个表的字段和数据类型select column_name,data_type from information_schema.columnswhere table_name = '表名'[n].[标题]:Select * From TableName Order By CustomerName[n].[标题]:Select * From TableName Order By CustomerNamefrom:/TrackBack.aspx?PostId=585515分类: ( 一般分类) :: 评论(0) :: 静态链接网址:: 引用(0)触发器-MSSQL常用操作发表人:kendy517 | 发表时间: 2007年二月09日, 09:18不再新开文章.这里只打算讲解四部分了,也就最简单、最常用的四部分。