************************************************************* RESTORE FILELISTONLY FROM DISK = 'mydata.bak' *************************************************************????我不需要看文件,我都知道了,再说知道了也没用。 难道没人遇到过跟我一样的问题吗? 或者换一种方法,有没有人能告诉我怎样用SQL语句判断一个正在运行的数据库服务器是不是本机的数据库,感谢。
如果用ENTERPRISE MANAGER恢复,具体操作步骤如下:
1、打开ENTERPRISE MANAGER,展开到DATABASES。
2、在DATABASES上点右键,“所有任务”中选“RESTORY DATABASE”
3、在GENERAL标签页中选择“FROM DEVICE”,再点击“SELECT DEVICE”
4、在出现的窗口中点击“ADD”,再在窗口中选择“FILE NAME”,点击...按钮
5、选中您所创建的备份文件,即可成功。
如果用SQL语句,我只会通过*.mdf建立数据库,如下:
首先创建一个与原来数据库同名的数据库、LOGIN,然后将DATA文件夹中的*.mdf、*.ldf删除,将你以前备份的*.mdf考到DATA文件夹中,然后在用SQL语句:
exec sp_detach_db @db_name='dbname',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf',
exec sp_attach_single_file_db 'dbname',
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\example.mdf',
我"只知道该数据库服务器的名称",其他一概不知,更别说将文件拷贝过去了,或者说我对该数据库服务器所在的机器不享有任何权限,但我对该数据库服务器有完全的权限(包括创建,备份恢复数据库)。
我不能直接拷贝任何文件到服务器上去,但是需要将数据库文件放到该服务器上,所以只能求助于数据库服务器来完成这个功能,就是不知道能不能做到。因为要在程序中完成,所以需要使用SQL语句。
目前我知道最好的做法是用 "create database 数据库名" 创建数据库,这样一来数据库文件就会放在缺省位置,但是进行恢复不知道怎么办
如果不用move 似乎不行,而用move 需要给文件指定位置,于是问题又来了,烦啊,难道真的做不到吗?
FROM DISK = 'mydata.bak'
RESTORE FILELISTONLY
FROM DISK = 'mydata.bak'
*************************************************************????我不需要看文件,我都知道了,再说知道了也没用。
难道没人遇到过跟我一样的问题吗?
或者换一种方法,有没有人能告诉我怎样用SQL语句判断一个正在运行的数据库服务器是不是本机的数据库,感谢。