手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >将MSSQL Server 导入/导出到远程服务器教程的图文方法分享
将MSSQL Server 导入/导出到远程服务器教程的图文方法分享
摘要:1、打开本地企业管理器,先创建一个SQLServer注册来远程连接服务器端口SQLServer。步骤如下图:图1:2、弹出窗口后输入内容。"...

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

步骤如下图:

图1:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享1

2、弹出窗口后输入内容。"总是提示输入登陆名和密码"可选可不选,如图2。

图2:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享2

3、注册好服务器后,点击打开。如果是选择了"总是提示输入登陆名和密码"的话再点了确定后会提示输入用户密码,如图3。

图3:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享3

4、进入后,选择到您的数据库,如testdb。在上面点右键,"所有任务">>"导入数据",如图4。

图4:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享4

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

图5:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享5

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

图6:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享6

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

图7:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享7

8、这一步可以把"包括扩展属性"和"排序规则"两个选择上。接着去掉左下的"使用默认选项",点击右下角的"选项"来进行配置。

图8:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享8

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

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

图9:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享9

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

图10:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享10

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

图11:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享11

12、正在进行数据导入中

图12:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享12

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

图13:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享13

SQL Server 导入/导出 错误排查 如果提示导入失败,出现图14情况,这时不要急着点"完成"关闭窗口。双击中间的"出现错误"会出现详细的失败原因。 图14:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享14 错误原因一、没安装SP3补丁 如果是出现如图15的报错原因,那么就很有可能是因为您本机的SQL Server还没有打SP3补丁。 图15:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享15 如何查看是否已打了SP3补丁呢?右键点击本地SQL Server属性,弹出图16窗口,查看"产品版本"一行。

像以下图显示8.00.760(SP3)说明已经打过补丁。如果您的企业管理器显示的版本要比这个小,那就是没打SP3补丁。

请安装SQL Server SP3补丁后再重试。 图16:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享16 错误原因二、对象属性冲突 如果出现图17情况,那么应该就是您本地数据库的表/视图/存储过程的属主和服务器上数据库默认用户不一致。

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

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

图17:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享17 图18:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享18解决方法是:

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

建议创建,否则以后想从服务器上导出数据时同样会因为这个问题导出错误),再重新进行导入/导出。 打开SQL查询分析器,运行以下命令进行批量修改表属主为dbo: exec sp_MSForEachTable 'sp_changeobjectowner "?", "dbo"' 运行成功后表属主会改变成如图19: 图19:

将MSSQL Server 导入/导出到远程服务器教程的图文方法分享19 如果需要修改视图/存储过程,则麻烦了点。

下面有个方法可以实现: 一、先在master创建一个sp_MSforeachObject存储过程,命令如下: USE MASTER

GO

CREATE proc sp_MSforeachObject

@objectType int=1,

@command1 nvarchar(2000),

@replacechar nchar(1) = N'?',

@command2 nvarchar(2000) = null,

@command3 nvarchar(2000) = null,

@whereand nvarchar(2000) = null,

@precommand nvarchar(2000) = null,

@postcommand nvarchar(2000) = null

as

/* This proc returns one or more rows for each table (optionally, matching @where), with each table defaulting to its

own result set */

/* @precommand and @postcommand may be used to force a single result set via a temp table. */

/* Preprocessor won't replace within quotes so have to use str(). */

declare @mscat nvarchar(12)

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

if (@precommand is not null)

exec(@precommand)

/* Defined @isobject for save object type */

Declare @isobject varchar(256)

select @isobject= case @objectType when 1 then 'IsUserTable'

when 2 then 'IsView'

when 3 then 'IsTrigger'

when 4 then 'IsProcedure'

when 5 then 'IsDefault'

when 6 then 'IsForeignKey'

when 7 then 'IsScalarFunction'

when 8 then 'IsInlineFunction'

when 9 then 'IsPrimaryKey'

when 10 then 'IsExtendedProc'

when 11 then 'IsReplProc'

when 12 then 'IsRule'

end

/* Create the select */

/* Use @isobject variable isstead of IsUserTable string */

EXEC(N'declare hCForEach cursor global for select ''['' + REPLACE(user_name(uid), N'']'', N'']]'') + '']'' + ''.'' + ''['' +

REPLACE(object_name(id), N'']'', N'']]'') + '']'' from dbo.sysobjects o '

+ N' where OBJECTPROPERTY(o.id, N'''+@isobject+''') = 1 '+N' and o.category & ' + @mscat + N' = 0 '

+ @whereand)

declare @retval int

select @retval = @@error

if (@retval = 0)

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

if (@retval = 0 and @postcommand is not null)

exec(@postcommand)

return @retval

GO 二、再运行以下命令批量修改表、触发器、视图、存储过程的属主(需要先在master创建sp_MSforeachObject存储过程) EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=1

EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=2

EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=3

EXEc sp_MSforeachObject @command1="sp_changeobjectowner '?', 'dbo'",@objectType=4 此时再重新进行导入应该就能一切顺利了。

【将MSSQL Server 导入/导出到远程服务器教程的图文方法分享】相关文章:

SQL Server 2005 中做全文检索的方法分享

sqlserver 2005 无法在服务器上访问指定的路径或文件

SqlServer2005 链接服务器用法

SQLServer Top语句参数化方法

使用SQL Server 2008远程链接时SQL数据库不成功的解决方法

SQL Server2005异地自动备份方法

SQL Server中TRUNCATE事务回滚操作方法

sql server 2008安装过程中服务器配置出错解决办法

SQL Server 2005 定时执行SQL语句的方法

重装MS SQL Server 2000前必须彻底删除原安装文件的方法

精品推荐
分类导航