- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server 2000导入数据时遇到的问题
SQL Server 2000导入数据时遇到的问题
问题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(成功)或 1(失败)
但是问题又来了,该数据库有大量存储过程,难道要一个一个的在查询分析器中敲语句?
逐个对象敲很难接受,上网BAIDU了一下,原来早已有高人写好存储过程,真是雪中送炭啊。
新建一个存储过程,复制如下代码,保存:
1 --作者:不详
2 --成批更改Owner
3 --用法:exec ChangeObjectOwner nmkspro,dbo
4 --即可将所有nmkspro所有者的对象改为dbo所有
5 --运行成功后将提示:注意: 更改对象名的任一部分都可能破坏脚
您可能关注的文档
- QQ个性签名大全(七)经典.doc
- QQ图标攻略.doc
- QQ手机:小企鹅的新征途.doc
- qq拼音.doc
- QQ文件及文件夹夹详细说明.doc
- QQ文件及文件夹详细说明.doc
- QQ文件夹详解.doc
- QQ炫舞衣服代码.doc
- QQ熄灭全部业务图标教程.doc
- QQ留言编码.doc
- 防护施工人员安全管理.docx
- 《2025年医疗软件行业展望:电子病历安全升级与医疗数据分析创新》.docx
- 新能源行业ESG发展态势报告:2025年资本市场认可度实证分析.docx
- 无人机测绘行业认证考试题及备考指南.docx
- 2025年新能源企业市值管理技术创新应用分析报告.docx
- 《2025年无人机作战系统任务规划技术发展对国产化技术要求分析报告》.docx
- 小水电与新能源互补供电模式在森林保护区的应用前景报告2025.docx
- 新能源产业2025:技术创新与智能交通系统融合分析报告.docx
- 2025-2026学年初中美术七年级上册(2024)人教版(2024)教学设计合集.docx
- 春季景区安全教育培训课件.pptx
原创力文档


文档评论(0)