教程学院
图像设计 多媒体类 机械制图 办公软件 操作系统 系统编程 网站编程 网页制作 数据库类 网络路由 网络工程 网络安全 考试认证
firefox火狐浏览器下载
酷网学院
CAD
AutoCad Cam350 ProEngineer GCcam MATLAB Unigraphics SolidWorks CAXA Solid3000 Cimatron EdgeCAM
系统
安全 防火墙 病毒 WinXP Win2003 Vista
数据库
编程
网络
精彩图库
  当前位置: 库库中文网 · 数据库类教程 · MSSQL教程 · MsSql综合技巧

从服务器导出数据库所有数据(无法用企业管理器和查询说明器)

学院最新推荐文章
教程推荐
『从服务器导出数据库所有数据(无法用企业管理器和查询说明器)』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2008-9-20 
我有远程服务器数据库的用户名和密码(非管理员,单个数据库),但是企业管理器和查询分析器无法登陆,原因是这两个工具不能设置默认登陆的库,登陆会报打不开默认库的错误。但是页面中指定了要读取的库,所以没问题。
我现在已经通过代码把所有的表都导出到excel了
但是重建这个数据库,用代码还是很麻烦
各位大侠有什么好办法吗?谢谢

这个问题第1个回答:
为啥非要设置默认的登陆的库
这个问题第2个回答:
用查询分析器登陆的时候只要求输入服务器地址,用户名和密码,但是这个用户只能访问特定的库,默认的库他都没有权限,所以无法登陆
这个问题第3个回答:
SQL code



--试试

--用SQL语句备份、还原数据库

BACKUP DATABASE test      --这里的test指的是数据库名称

   TO disk = 'c:\backup.bak'    --这里指名的数据库路径(backup.bak为备份文件名)

   WITH FORMAT,

   NAME = 'Full Backup of MyNwind'    --这个是备注,无所谓。。随便写。





RESTORE DATABASE jz1    --所被恢复的数据库名称

   FROM disk = 'c:\backup.bak     --本地硬盘路径(backup.bak为备份文件名)

GO




这个问题第4个回答:
我上不去远程的机器,备份在那里我根本拿不到。。。
这个问题第5个回答:
不同服务器数据库之间的数据操作

--创建链接服务器
exec sp_addlinkedserver  'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '用户名 ', '密码 '

--查询示例
select * from ITSV.数据库名.dbo.表名

--导入示例
select * into 表 from ITSV.数据库名.dbo.表名

--以后不再使用时删除链接服务器
exec sp_dropserver  'ITSV ', 'droplogins '

--连接远程/局域网数据(openrowset/openquery/opendatasource)
--1、openrowset

--查询示例
select * from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--生成本地表
select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)

--把本地表导入远程表
insert openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)
select *from 本地表

--更新本地表
update b
set b.列A=a.列A
from openrowset( 'SQLOLEDB ', 'sql服务器名 '; '用户名 '; '密码 ',数据库名.dbo.表名)as a inner join 本地表 b
on a.column1=b.column1

--openquery用法需要创建一个连接

--首先创建一个连接创建链接服务器
exec sp_addlinkedserver  'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 '
--查询
select *
FROM openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ')
--把本地表导入远程表
insert openquery(ITSV,  'SELECT *  FROM 数据库.dbo.表名 ')
select * from 本地表
--更新本地表
update b
set b.列B=a.列B
FROM openquery(ITSV,  'SELECT * FROM 数据库.dbo.表名 ') as a 
inner join 本地表 b on a.列A=b.列A

--3、opendatasource/openrowset
SELECT  *
FROM  opendatasource( 'SQLOLEDB ',  'Data Source=ip/ServerName;User ID=登陆名;Password=密码 ' ).test.dbo.roy_ta
--把本地表导入远程表


这个问题第6个回答:
执行创建链接服务器命令时显示:

(所影响的行数为 1 行)
(所影响的行数为 1 行)
(所影响的行数为 0 行)
(所影响的行数为 1 行)
(所影响的行数为 0 行)
(所影响的行数为 1 行)
然后查询
select * from ITSV.www_ht_com.dbo.tnews
报错:
服务器: 消息 7403,级别 16,状态 1,行 1
未能找到 OLE DB 提供程序 'SQLOLEDB  ' 的注册表项。
OLE DB 错误跟踪[Non-interface error:  Provider not registered.]。

这个问题第7个回答:
修改了一下五楼的字符串连接
发现问题还是
服务器: 消息 4064,级别 11,状态 1,行 1
无法打开用户默认数据库。登录失败。

我的权限还是只能登陆某一个库
这怎么办?
这个问题第8个回答:
结贴了,我勉强把那数据库导下来了,不知道还有没有别的办法
说一下我的方法吧
1.构造数据库
SELECT  a.name,  b.rows  FROM  sysobjects  a  WITH(NOLOCK),  sysindexes  b  WITH(NOLOCK)  WHERE  a.xtype  =  'U'  AND  b.indid  IN  (0,  1)  AND  a.id  =  b.id
然后读出各个表结构
                  cName = sTable.Columns[i].ColumnName.ToString();
                cDataType = sTable.Columns[i].DataType.Name.ToString();
                cAllowDbNull = sTable.Columns[i].AllowDBNull;
                cAutoIncrement = sTable.Columns[i].AutoIncrement;
                cDefaultValue = sTable.Columns[i].DefaultValue;
                cMaxLength = sTable.Columns[i].MaxLength;
                cUnique = sTable.Columns[i].Unique;
创建我自己的表 TABLE [dbo].......
2.插入数据
用了2.0的一个类,读出数据然后直接插入本地库,需要创建两个数据库的连接,用完记得关掉
        DesBulkOp = new SqlBulkCopy(DesConString,
        SqlBulkCopyOptions.UseInternalTransaction);
        DesBulkOp.BulkCopyTimeout = 500000000;
            DesBulkOp.DestinationTableName = sTableName;//我自己库的表名
            DesBulkOp.WriteToServer(dt);
存在问题:表字段的长度拿不到,还有类型,只有string、int、datatime,得重新去设置本地库字段的长度。
     

作者:runstone… 来源:C.S.D.N
】【关闭窗口
·上页:
·下页:
相关文章
     数据库类教程 - MsSql综合技巧
普通教程【脑袋快想爆炸了- -!】 怎么样
普通教程关于级联删除地疑难,新手提问,
普通教程怎么样动态控制列数?
普通教程数据库恢复 MS2000
普通教程当数据库中varchar字段值为null
普通教程create function 怎么才无法要返
普通教程各位帮我看看是啥疑难啊, SQL运
普通教程SQL server 2005 安装疑难 SP2更
普通教程sql update
普通教程update触发器地疑难
普通教程字符串地查询疑难
普通教程安全性--登陆--想建一个用户tes
精彩图片汇集
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部
网站文本地图
版权所有:库库中文 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2008 www.QQGB.com online services. all rights reserved. 蜀ICP备05015578
Template designed by Virus. Optimized for 1024x768 to Firefox,Opera and MS-IE6. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光