sql server总是提示"在现有数据库上强制还原"

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server总是提示"在现有数据库上强制还原"相关的知识,希望对你有一定的参考价值。

前几天,我也遇到你同样的问题,我是这样解决的:我是先分离数据库,方法是进企业管理器,选中数据库,再在下面选中所要还原的数据库名,右键,选择“分离数据膏”。这样你原来的数据库这没了,然后我再在企业管理器,数据库,右键,“数据附加”,接下来,我选中数据库存放的路径(一般是在数据盘的program
file\Microsoft
SQL
server\MSSQL\Data),选择所要还原的数据文件(MDF文件)。最后,我顺利地还原了。
其实,可以用“在现有数据库上强制还原”,只是备份文件存放的路径一定要对,并且备份文件完整,没有破坏,应该是可以的。
参考技术A 在点最后一步"确定"还原数据库之前,点上面的"选项",在"现有数据库上强制还原"前点上对号.点下面的"确定"就好了.
但选项中的数据库物理地址一定要对呀,否侧还会出现错误!
建议你重新安装了sql吧
安装后
附加数据库
参考技术B "不要回答一句话,什么删除数据库,但是数据库怎么删,我这都是原始的了。再删我就无法运行了。",那可以先备份再删除啊。
呵呵,你这个问题我没遇到过,只能回答这么多了,祝你好运!

为啥在eclipse中执行 sql server 的查询语句总是提示语法错误,请大家帮我看看。

public void actionPerformed(ActionEvent evt)
try
String namevalue=name.getText().trim();
String sexvalue=sex.getText().trim();
String agevalue=age.getText().trim();
String majorvalue=major.getText().trim();
String sname,ssex,sage,smajor;
sname="LIKE'%"+namevalue+"%'";
ssex="LIKE'"+sexvalue+"%'";
if(agevalue.equals(""))
sage="BETWEEN 15 AND 35";
else
sage="="+agevalue;
smajor="LIKE'"+majorvalue+"%'";
command="SELECT * FROM student WHERE name"+sname+"AND sex"+ssex+"AND age"+sage+"AND major"+smajor;
rs=stmt.executeQuery(command);
resultarea.setText("");
if(!rs.next())
resultarea.setText("找不到符合此条件的记录");
else
do
String rename=rs.getString("name");
String resex=rs.getString("sex");
String reage=rs.getString("age");
String remajor=rs.getString("major");
resultarea.append(rename);
resultarea.append(resex+" ");
resultarea.append(reage+" ");
resultarea.append(remajor+"\n");
while (rs.next());

catch (Exception ex)
resultarea.append(ex.getMessage()+"\n");

这是主要的查询语句,我的程序是一个学生信息查询系统,输入学生的姓名,学号等信息来在sql server中查找配对的信息,然后输出。

出现的问题截图

是因为你的sql语句里面格式错误。
command="SELECT * FROM student WHERE name"+sname+"AND sex"+ssex+"AND age"+sage+"AND major"+smajor;
上面这句,在name后面紧接着就是like,没有空格。
And前面也没有空格。
SQL语句不予许这样模糊的定义,他找不到关键字。
参考技术A command="SELECT * FROM student WHERE name"+sname+"AND sex"+ssex+"AND age"+sage+"AND major"+smajor;
这里的sql明显写错了啊。。你在每个字段后面都差了个=,应该是这样,如果字段是字符串类型,还要加上单引号,总之就是要和SQLServer里面写的一样
SELECT * FROM student WHERE name="+sname+"AND sex="+ssex+"AND age="+sage+"AND major="+smajor
参考技术B 这个是改后的类
class Operate
private static int jishu1 = 0;
private static int jishu2 = 0;
private String a;

public Operate(String a)
this.a = a;
for (int i = 0; i < a.length(); i++)
if (a.charAt(i) == 'n')
jishu1++;

if (a.charAt(i) == 'o')
jishu2++;




public int getJiShu1()
return jishu1;


public int getJiShu2()
return jishu2;


你的错误在于private char b[]=a.toCharArray();这句。在数组b里面存放的知识a的地址而已。
相当于对于数组b根本还没有定义。所以报错
参考技术C 像这类问题 最好打印出最后你拼出的sql语句
放在数据库上执行 看错在哪里

以上是关于sql server总是提示"在现有数据库上强制还原"的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Server Management Studio 2005 中禁用“保存”提示

为啥在eclipse中执行 sql server 的查询语句总是提示语法错误,请大家帮我看看。

SQL Server 事务/并发混乱 - 你必须总是使用表提示吗?

sql server 2008 数据库提示为可疑是啥意思

SQLserver代理启动不了,总是报远程过程调用失败提示,怎么解决

VC++用ADO连接SQL Server出错,异常:“Unknown error 0x800A0E7D".提示:“数据库连接失败”.