Nee*_*rma 17 sql-server sql-server-2014-localdb
标题:Microsoft SQL Server Management Studio
服务器'(localdb)\ mssqllocaldb'附加数据库失败.(Microsoft.SqlServer.Smo)
附加信息:
数据库附加至少需要一个文件.(Microsoft.SqlServer.Smo)
我试图将此.mdf数据库文件附加到我的LocalDb实例.如果我也可以使用SQL Server也没关系.我有.ldf文件在同一目录中
Jes*_*sse 22
为了完成起见 - 吉姆的评论解决了(一半)问题并让你前进.
问题的另一半" - 如果你最终想要重命名物理数据库文件怎么办?答案可在此CodeProject帖子中找到.
脚步:
ALTER DATABASE设置新的物理文件名(数据文件和日志文件)
在SQL Server重新启动或数据库脱机并重新联机之后才会生效
ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName', FILENAME = '<Full-Path-Required>\NewDbName.mdf');ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName_log', FILENAME = '<Full-Path-Required>\NewDbName_log.ldf');ALTER DATABASE再次设置新的逻辑文件名(再次,数据和日志文件)
立即生效
ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName', NEWNAME = 'NewDbName');ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName_log', NEWNAME = 'NewDbName_log');脱机并重新联机或重新启动SQL Server
Take Offline下方Tasks.Bring Online下方Tasks.ALTER DATABASE [CurrentName] SET OFFLINE WITH ROLLBACK IMMEDIATE; (将其设置为脱机并断开任何客户端)ALTER DATABASE [CurrentName] SET ONLINE;完整代码:
-- Find "CurrentName" (without quotes) and replace with the current database name
-- Find "NewDbName" (without quotes) and replace with the new database name
USE [CurrentName];
-- Change physical file names:
ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName', FILENAME = '<Full-Path-Required>\NewDbName.mdf');
ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName_log', FILENAME = '<Full-Path-Required>\NewDbName_log.ldf');
-- Change logical names:
ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName', NEWNAME = 'NewDbName');
ALTER DATABASE [CurrentName] MODIFY FILE (NAME = 'CurrentName_log', NEWNAME = 'NewDbName_log');
-- Take offline and back online
USE [master]
GO
ALTER DATABASE [CurrentName] SET OFFLINE WITH ROLLBACK IMMEDIATE;
-- Then navigate to <Full-Path-Required> and rename the files
ALTER DATABASE [CurrentName] SET ONLINE;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14005 次 |
| 最近记录: |