Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Can';SSMS中的t附加数据库_Sql Server - Fatal编程技术网

Sql server Can';SSMS中的t附加数据库

Sql server Can';SSMS中的t附加数据库,sql-server,Sql Server,对于我的家庭作业,我被告知下载一个zip文件夹,其中包含我将要处理的数据库的.mdf文件。所以我提取了文件并保存了它。然后我进入SSMS去连接数据库,我得到了这个错误 =================================== Attach database failed for Server 'DESKTOP-VDSUPUV\SQLEXPRESS'. (Microsoft.SqlServer.Smo) ------------------------------ For he

对于我的家庭作业,我被告知下载一个zip文件夹,其中包含我将要处理的数据库的
.mdf
文件。所以我提取了文件并保存了它。然后我进入SSMS去连接数据库,我得到了这个错误

===================================

Attach database failed for Server 'DESKTOP-VDSUPUV\SQLEXPRESS'.  (Microsoft.SqlServer.Smo)

------------------------------
For help, click: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=15.0.18206.0+((SSMS_Rel).191029-2112)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach+database+Server&LinkId=20476

------------------------------
Program Location:

   at Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files)
   at Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.Attach()
   at Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.SendDataToServer()

===================================

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------
Program Location:

   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType, Boolean retry)
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType, Boolean retry)
   at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries, Boolean retry)
   at Microsoft.SqlServer.Management.Smo.Server.AttachDatabaseWorker(String name, StringCollection files, String owner, AttachOptions attachOptions)
   at Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files)

===================================

Unable to open the physical file "C:\Users\Public\Documents\Databases\PR_log.ldf". Operating system error 2: "2(The system cannot find the file specified.)".
CREATE DATABASE failed. Some file names listed could not be created. Check related errors. (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=13.00.5026&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476

------------------------------
Server Name: DESKTOP-VDSUPUV\SQLEXPRESS
Error Number: 5120
Severity: 16
State: 101
Line Number: 1


------------------------------
Program Location:

   at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType, Boolean retry)

我只下载了一个.mdf文件,没有日志文件。但是,当我尝试附加时,有人告诉我,如果没有日志文件,则会自动创建一个日志文件。在这张图片中是这样的?

尝试复制到数据文件夹中安装的SQL位置


示例:C:\Program Files\Microsoft SQL Server\MSSQL11.SQLExpress\MSSQL\DATA

有两个选项可以执行此操作:

  • 附加mdf文件时,在底部窗格中,选择LDF文件并将其删除,然后选择“确定”。数据库将被附加

  • 您可以使用TSQL连接数据库
  • 使用[master]
    去
    在上创建数据库[PR]
    (FILENAME=N'C:\Users\Public\Documents\Databases\PR.mdf')
    用于附加\u重建\u日志
    去
    
    该错误准确地告诉您“无法打开物理文件”C:\Users\Public\Documents\Databases\PR\u log.ldf”的问题所在。您缺少日志文件。该文件已丢失,或者SQL Server没有访问权限。默认情况下,SQL Server无法访问多个位置。@DaleK我以为SQL Server会在没有日志文件的情况下自动创建一个新的日志文件?不起作用。我将文件移动到C:\Program Files\Microsoft SQL Server\MSSQLS11.SQLExpress\MSSQL\DATA并尝试从那里附加它,但出现了相同的错误?是否有两个文件*.mdf和*.ldf?是的,最初没有,因此正确创建了一个新文件,mdf和ldf是一对文件,我们无法手动创建它们。它们是在第一次创建数据库时产生的,如果移动数据库,则必须同时复制它们。不要只复制MDF文件。我不是手动创建的,它是自动创建的,因为没有MDF文件。我以前在没有日志的情况下附加了一个.mdf文件,它以前工作过吗?