gpt4 book ai didi

sql-server - SQL 服务器 : loading database file

转载 作者:行者123 更新时间:2023-12-03 22:19:20 24 4
gpt4 key购买 nike

我正在使用 SQL Server 2008。我应该能够“连接”到用户指定的数据库文件 (mdf)(使用连接字符串的 AttachDbFilename 部分)并保存所选文件的副本。我还必须处理数据库的内容。

如果我做对了,单个 mdf 文件代表一个包含表、存储过程等的完整数据库。但是,如果我在不同文件夹中有两个同名文件(一个在 SQL Server 的 DATA 文件夹中,另一个在另一个在 C:) 的根目录中,我尝试在 C: 下加载文件,我收到一条错误消息,指出已存在具有该名称的数据库。

我重命名了 C: 下的文件,但现在出现错误:

"CREATE FILE encountered operating system error 5(failed to retrieve text for this error. Reason: 15105) while attempting to open or create physical file 'C:/myDatabaseFile_log.ldf'. Could not open new database 'C:/MYDATABASEFILE.MDF'. CREATE DATABASE is aborted. An attempt attach an auto-named database for file 'C:/myDatabaseFile.mdf' failed. A database with the same name exists or specified file cannot be opened, or it is located on UNC share."

请注意:我正在尝试打开数据库而不是尝试创建它。
那我做错了什么?我是不是误会了什么?这些数据库文件如何工作(我的意思是,如何使用它们)?

最佳答案

您似乎认为数据库就像 Word 文档或文本文件,可以在应用程序实例中随意打开和关闭。这不是它的工作原理。

相反,通常只有一个数据库服务器程序实例(您可以安装多个实例,但这不像运行普通程序的两个副本)。你可以把它想得更像是你的数据库必须在这个服务器实例中注册,并且你只能为服务器注册一个具有给定名称的数据库。当您附加到 MDF 文件时,从服务器的角度来看,会创建一个新数据库(执行 CREATE DATABASE 命令)并告知将此 MDF 文件用于架构和数据。

我建议您获取 Sql Server Management Studio 并连接到在本地系统上运行的服务器。您可能会发现那里已经有一个具有您想要的名称的数据库。

关于sql-server - SQL 服务器 : loading database file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1244964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com