sqlserver导入导出遇到的系列问题与解决方案

问题1:无法连上对方的数据库
解决步骤:
× 在本机上,打开cmd窗口,用ping命令ping对方IP,结果正常;
× ping对方机器名,结果正常;
× 输入命令“telnet 对方IP 1433”,报错说无法连接到主机。
× 查看对方“服务端网络实用工具”设置,命名管道和TCP/IP都已启用,TCP/IP端口为1433;
× 检查对方SQL相关服务,发现已经启动
× 在对方计算机上打开telnet服务,关闭Windows自带防火墙。
× 在本机重新尝试telnet连接对方计算机的1433端口,依旧报错。
× 在对方计算机上打开cmd窗口,用“netstat -an”命令查看活动端口,未发现1433端口;
× 认定为未安装SQL Server 2000 SP4补丁, 安装补丁并重启SQL服务后1433端口成功打开。
× 在本机上再次telnet连接对方计算机,在屏幕左上角显示闪烁光标,表示连接成功。
× 在本机上新建SQL Server 注册,顺利完成。
  至此问题解决,提醒大家安装SQL Server后一定不要忘了打上相关的补丁。

问题2:无法完成导入
  数据库连接成功之后,进行导入数据操作。
  新手需要注意的是在进行到“DTS导入/导出向导”的“指定表复制或查询”窗口时,如果想要把源数据库的主键、索引、存储过程之类的对象一并复制过来,这里不能按默认,要选择第3项:“在SQL Server数据库之间复制对象和数据”,否则仅能导入表结构和数据。
  结果第一次操作完成后显示导入失败,此时的源服务器为公司的一台应用服务器,检查发现在该服务器上我们要导入的源数据库中有不少表和存储过程的所有者不是dbo,而是以前别的开发人员建立的名为“ABC”的用户。而同事的SQL服务器并没有与之对应的登录和用户,所以在导入操作的最后会报错。
  所以我们在“DTS导入/导出向导”的“选择要复制的对象”这个窗口要把“使用默认选项”前面的勾取消掉,然后点后边的“选项”按钮,在“安全措施选项”里把第二项“复制SQL Server登录(Windows和SQL Server登录)”选中,然后“确定”,继续进行就可以了。
  最后成功的把服务器上的数据库导入到了同事的计算机上。
  其实这个步骤也可以通过“附加数据库”来实现,由于时间关系没有进行尝试。

问题3:导入后部分表和存储过程无法使用
  数据库导入完成后,同事在调试基于该库的程序时,发现频繁报错。提示为“无法找到表ABC.Product,对象不存在”之类的错误。
  查看同事修改后的该程序的连接字符串,发现是用SA登录,而此时数据库中有部分表和存储过程的所有者是ABC,出问题的正是这些对象。
  要更改这些对象的所有者,有两个系统存储过程可以使用:

  sp_changedbowner            //更改数据库所有者
  sp_changeobjectowner       //更改单个对象的所有者

  这里我们要改得是表和存储过程,所以用第二个就可以了。
  抄一段书:

 

语法
sp_changeobjectowner [ @objname 
=  ]  ' object '  , [ @newowner  =  ]  ' owner '

参数
[@objname 
= ' object '

当前数据库中现有的表、视图或存储过程的名称。object 的数据类型为 nvarchar(
517 ),没有默认值。object 可用现有对象所有者限定,格式为 existing_owner.object。

[@newowner 
= ' owner '

即将成为对象的新所有者的安全帐户的名称。owner 的数据类型为 sysname,没有默认值。owner 必须是当前数据库中有效的 Microsoft® SQL Server™ 用户或角色或 Microsoft Windows NT® 用户或组。指定 Windows NT 用户或组时,请指定 Windows NT 用户或组在数据库中已知的名称(用 sp_grantdbaccess 添加)。

返回代码值
0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值