没有工作,所以在googling这个问题之后,我发现我必须重新安装它。因此,在重新安装之后,我丢失了我的数据库,没有得到它的备份。有什么办法能把它拿回来吗?
发布于 2019-07-10 08:38:09
您是否重新安装了SSMS或实际的数据库引擎?你能加一张你所看到的图片吗?
OP - A1

你使用了和以前一样的登录方式吗?如果重新安装数据库引擎,数据库文件可能仍然存在。您能否检查默认的Data / Log文件夹以查看那里是否有任何数据库文件?如果是,您可以再次尝试附加这些数据库。这个返回什么?SELECT IS_SRVROLEMEMBER ('sysadmin')
是的,我使用了和以前一样的登录方式。我粘贴了“选择IS_SRVROLEMEMBER ('sysadmin')”并在SQL查询窗口上运行它,结果是“没有列名(1),没有其他的。如果我能找到与丢失的数据库相关的任何东西,我不知道我的数据库保存在哪里。请告诉我们我们的数据库在C驱动器中默认保存在哪里?”
Q3GB
这意味着您是实例上的sysadmin,如果存在数据库,您应该能够看到它。您可以尝试使用select physical_name from sys.master_files where database_id = 1查找系统数据库,并通过执行SELECT SERVERPROPERTY('instancedefaultdatapath') AS [DefaultFile]查找默认数据路径。
是的,我找到了两个文件: LostDatabaseName.mdf和LostDatabaseName_log.ldf。现在,我怎么才能把他们搬回SSMS呢?
您可以尝试将数据库附加到新实例。
EXEC sp_attach_db @dbname = N'LostDatabaseName',
@filename1 =
N'C:\FoldersHere\LostDatabaseName.mdf',
@filename2 =
N'C:\FoldersHere\LostDatabaseName_log.ldf'; 的例子
EXEC sp_attach_db @dbname = N'AdventureWorks2012',
@filename1 =
N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_Data.mdf',
@filename2 =
N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_log.ldf'; 我还建议不要将所有数据库文件保存在C:\驱动器上。如果您的驱动器满了,您的服务器将崩溃,并可能发生损坏。同样重要的是对数据库进行备份,并将这些备份放在不同的位置。
https://dba.stackexchange.com/questions/242515
复制相似问题