SQLServer导入导出教程及错误排查.docx

上传人:b****3 文档编号:10570462 上传时间:2023-05-26 格式:DOCX 页数:14 大小:247.41KB
下载 相关 举报
SQLServer导入导出教程及错误排查.docx_第1页
第1页 / 共14页
SQLServer导入导出教程及错误排查.docx_第2页
第2页 / 共14页
SQLServer导入导出教程及错误排查.docx_第3页
第3页 / 共14页
SQLServer导入导出教程及错误排查.docx_第4页
第4页 / 共14页
SQLServer导入导出教程及错误排查.docx_第5页
第5页 / 共14页
SQLServer导入导出教程及错误排查.docx_第6页
第6页 / 共14页
SQLServer导入导出教程及错误排查.docx_第7页
第7页 / 共14页
SQLServer导入导出教程及错误排查.docx_第8页
第8页 / 共14页
SQLServer导入导出教程及错误排查.docx_第9页
第9页 / 共14页
SQLServer导入导出教程及错误排查.docx_第10页
第10页 / 共14页
SQLServer导入导出教程及错误排查.docx_第11页
第11页 / 共14页
SQLServer导入导出教程及错误排查.docx_第12页
第12页 / 共14页
SQLServer导入导出教程及错误排查.docx_第13页
第13页 / 共14页
SQLServer导入导出教程及错误排查.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQLServer导入导出教程及错误排查.docx

《SQLServer导入导出教程及错误排查.docx》由会员分享,可在线阅读,更多相关《SQLServer导入导出教程及错误排查.docx(14页珍藏版)》请在冰点文库上搜索。

SQLServer导入导出教程及错误排查.docx

SQLServer导入导出教程及错误排查

1、打开本地企业管理器,先创建一个SQLServer注册来远程连接服务器端口SQLServer。

步骤如下图:

图1:

2、弹出窗口后输入内容。

"总是提示输入登陆名和密码"可选可不选,如图2。

图2:

3、注册好服务器后,点击打开。

如果是选择了"总是提示输入登陆名和密码"的话再点了确定后会提示输入用户密码,如图3。

图3:

4、进入后,选择到您的数据库,如testdb。

在上面点右键,"所有任务">>"导入数据",如图4。

图4:

 

5、进入DTS导入/导出向导,点击“下一步”按钮继续

图5:

6、选择数据源,输入数据源所在的数据库服务器名称、用户名、密码和要复制数据的源数据库,点击“下一步”按钮

图6:

7、选择“在SQLServer数据库之间复制对象和数据”方式,点“下一步”继续

图7:

8、这一步可以把"包括扩展属性"和"排序规则"两个选择上。

接着去掉左下的"使用默认选项",点击右下角的"选项"来进行配置。

图8:

9、图8中点"选项"后会弹出图9,把"复制数据库用户和数据库角色"与"复制对象级权限"两个选项去掉,

点确定回到图8接着点"下一步"进到图10。

图9:

10、设定调度方式,一般选“立即运行”就可以,然后点“下一步”继续

图10:

11、点"完成"开始执行。

图11:

12、正在进行数据导入中

图12:

13、如果一切正常,提示成功复制如图13,那就大功告成了。

图13:

SQLServer导入/导出错误排查

如果提示导入失败,出现图14情况,这时不要急着点"完成"关闭窗口。

双击中间的"出现错误"会出现详细的失败原因。

图14:

错误原因一、没安装SP3补丁

如果是出现如图15的报错原因,那么就很有可能是因为您本机的SQLServer还没有打SP3补丁。

图15:

如何查看是否已打了SP3补丁呢?

右键点击本地SQLServer属性,弹出图16窗口,查看"产品版本"一行。

像以下图显示8.00.760(SP3)说明已经打过补丁。

如果您的企业管理器显示的版本要比这个小,那就是没打SP3补丁。

请安装SQLServerSP3补丁后再重试。

图16:

错误原因二、对象属性冲突

如果出现图17情况,那么应该就是您本地数据库的表/视图/存储过程的属主和服务器上数据库默认用户不一致。

服务器的用户一般是:

数据库名+'_f',如我的数据库名称是testdb,则我在服务器上使用的数据库用户名就是testdb_f。

如图18,我本地的表属主是testuser,与服务器数据库用户名不一致,因此导入过程出错。

图17:

图18:

解决方法是:

应该先把本地的所有表/视图/存储过程属主都改为dbo或testdb_f(后者需要在本地创建起相应用户。

建议创建,否则以后想从服务器上导出数据时同样会因为这个问题导出错误),再重新进行导入/导出。

打开SQL查询分析器,运行以下命令进行批量修改表属主为dbo:

execsp_MSForEachTable'sp_changeobjectowner"?

","dbo"'

运行成功后表属主会改变成如图19:

图19:

如果需要修改视图/存储过程,则麻烦了点。

下面有个方法可以实现:

一、先在master创建一个sp_MSforeachObject存储过程,命令如下:

USEMASTER

GO

CREATEprocsp_MSforeachObject

@objectTypeint=1,

@command1nvarchar(2000),

@replacecharnchar

(1)=N'?

',

@command2nvarchar(2000)=null,

@command3nvarchar(2000)=null,

@whereandnvarchar(2000)=null,

@precommandnvarchar(2000)=null,

@postcommandnvarchar(2000)=null

as

/*Thisprocreturnsoneormorerowsforeachtable(optionally,matching@where),witheachtabledefaultingtoits

ownresultset*/

/*@precommandand@postcommandmaybeusedtoforceasingleresultsetviaatemptable.*/

/*Preprocessorwon'treplacewithinquotessohavetousestr().*/

declare@mscatnvarchar(12)

select@mscat=ltrim(str(convert(int,0x0002)))

if(@precommandisnotnull)

exec(@precommand)

/*Defined@isobjectforsaveobjecttype*/

Declare@isobjectvarchar(256)

select@isobject=case@objectTypewhen1then'IsUserTable'

when2then'IsView'

when3then'IsTrigger'

when4then'IsProcedure'

when5then'IsDefault'

when6then'IsForeignKey'

when7then'IsScalarFunction'

when8then'IsInlineFunction'

when9then'IsPrimaryKey'

when10then'IsExtendedProc'

when11then'IsReplProc'

when12then'IsRule'

end

/*Createtheselect*/

/*Use@isobjectvariableissteadofIsUserTablestring*/

EXEC(N'declarehCForEachcursorglobalforselect''[''+REPLACE(user_name(uid),N'']'',N'']]'')+'']''+''.''+''[''+

REPLACE(object_name(id),N'']'',N'']]'')+'']''fromdbo.sysobjectso'

+N'whereOBJECTPROPERTY(o.id,N'''+@isobject+''')=1'+N'ando.category>'+@mscat+N'=0'

+@whereand)

declare@retvalint

select@retval=@@error

if(@retval=0)

exec@retval=sp_MSforeach_worker@command1,@replacechar,@command2,@command3

if(@retval=0and@postcommandisnotnull)

exec(@postcommand)

return@retval

GO

二、再运行以下命令批量修改表、触发器、视图、存储过程的属主(需要先在master创建sp_MSforeachObject存储过程)

EXEcsp_MSforeachObject@command1="sp_changeobjectowner'?

','dbo'",@objectType=1

EXEcsp_MSforeachObject@command1="sp_changeobjectowner'?

','dbo'",@objectType=2

EXEcsp_MSforeachObject@command1="sp_changeobjectowner'?

','dbo'",@objectType=3

EXEcsp_MSforeachObject@command1="sp_changeobjectowner'?

','dbo'",@objectType=4

此时再重新进行导入应该就能一切顺利了。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2