对master..sysdatabases及附加数据库的疑问。。。

quou2002 2008-02-23 12:08:49
环境:vs2005 , sql2005 express
在sql server management环境下查询select * from master..sysdatabases ,得到预期结果:4条数据库安装后默认的初始记录
在dos环境用sqlcmd查询select * from master..sysdatabases ,同样可以得到上面预期结果。
???在vs2005里面的项目里用下面语句查询
...
SqlConnection sqlCon = new SqlConnection();
sqlCon.ConnectionString = @"Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True;Connection Timeout=20";
SqlCommand sqlCmd = new SqlCommand("select * from master..sysdatabases", sqlCon);
SqlDataAdapter da = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
da.Fill(ds);
...
这里ds里居然有10条记录,跟踪一看,原来其余的都是之前在sql server management环境下手动附加而后分离了的数据库vs2005编程时利用sql语句附加的数据库

请教:各位对此问题的看法?(28分)

顺便请教各位:我对‘附加数据库’这个概念本身理解不透。附加后,计算机重启它还在吗?sql express重启它还在吗?覆盖安装sql express后它还在吗?(请大家不要说‘你可以自己测试下就知道了’,因为上面的问题,我对自己的结论不敢肯定。)例如:
我的winform应用程序安装时通过EXEC ('CREATE DATABASE 。。。FOR ATTACH')附加上某个数据库后,以后每次启动运行时是否不用再在连接字符串里附加数据库了?[Data Source=.\SQLEXPRESS;AttachDbFilename=xxx.mdf;Integrated Security=True]
而只需用[Data Source=.\SQLEXPRESS;Integrated Security=True]连接上,即可查询?(60分)
...全文
412 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanshima 2009-08-28
  • 打赏
  • 举报
回复
学习一下,呵呵
quou2002 2008-02-25
  • 打赏
  • 举报
回复
谢谢楼上各位的解答。为什么我在sql server management环境下看不到应用程序代码中已经附加的数据库?
dawugui 2008-02-23
  • 打赏
  • 举报
回复
至于第一个,有个字段可以区别,具体哪个?我忘记了.
dawugui 2008-02-23
  • 打赏
  • 举报
回复
顺便请教各位:我对‘附加数据库’这个概念本身理解不透。附加后,计算机重启它还在吗?sql express重启它还在吗?覆盖安装sql express后它还在吗?(请大家不要说‘你可以自己测试下就知道了’,因为上面的问题,我对自己的结论不敢肯定。)例如:
我的winform应用程序安装时通过EXEC ('CREATE DATABASE 。。。FOR ATTACH')附加上某个数据库后,以后每次启动运行时是否不用再在连接字符串里附加数据库了?[Data Source=.\SQLEXPRESS;AttachDbFilename=xxx.mdf;Integrated Security=True]
而只需用[Data Source=.\SQLEXPRESS;Integrated Security=True]连接上,即可查询?(60分)
---------------

附加后,计算机重启它还在吗?sql express重启它还在吗?
这两个都在.

覆盖安装sql express后它还在吗?
这个不清楚,没试过,不过个人认为也应该还在.
quou2002 2008-02-23
  • 打赏
  • 举报
回复
刚刚试了
select * from master..sysdatabases和
select * from sys.databases
一样返回4行预期值
Limpire 2008-02-23
  • 打赏
  • 举报
回复
附加数据库:

计算机重启还在

sql express重启它还在

覆盖安装sql express后它应该不在,数据库文件还在不在就不知道了,MS会不会直接铲掉?最好覆盖安装前先备份数据库文件按,然后附加
Limpire 2008-02-23
  • 打赏
  • 举报
回复
1. try
select * from master..sysdatabases
-->
select * from sys.databases

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧