将数据库从 Microsoft SQL 文件夹移动到 App_Data 文件夹 (appseting.json)
Moving DataBase from Microsoft SQL folder to App_Data folder (appseting.json)
1. "WebApi": "Data Source=.;Initial Catalog=TaskDB; Integrated Security=true"
2. "WebApi": "Server=(localdb)\mssqllocaldb;AttachDBFilename=%CONTENTROOTPATH%\App_Data\TaskDB.mdf;Trusted_Connection=true;MultipleActiveResultSets=true"
我正在尝试将我的数据库从 Microsoft SQL 的主文件夹移动到项目文件夹 App_Data,但由于某种原因它不起作用。我不知道为什么我的连接字符串可能是错误的。所以 1 号工作正常,但它在 Microsoft SQL 的主文件夹中,但我猜 2 号有问题
数据库文件在SQL服务器手中是独占的。联机时不能移动数据库。使数据库离线,要求没有人连接到数据库。
首先获取数据库 offline
然后尝试移动文件。您可以使用 SSMS 和查询使数据库脱机。第一行代码终止所有活动会话然后设置数据库多用户;但在任何人都可以连接到数据库之前它必须处于离线状态,因此所有这些代码必须一起执行。
ALTER DATABASE DatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE DatabaseName SET MULTI_USER
GO
USE master
GO
ALTER DATABASE DATABASE_NAME SET OFFLINE
请注意,当您将文件移动到另一个位置时,如果您在使数据库脱机之前未设置新文件名,则无法将数据库带入 ONLINE
。
将此代码用于您要移动的所有文件。
ALTER DATABASE TEST
MODIFY FILE (NAME = 'LOGICAL_NAME', FILENAME = 'New_Directort\Filename.mdf')
移动文件后,使用此语句使数据库联机。
ALTER DATABASE DATABASE_NAME SET ONLINE
正如你所看到的,这个动作不是一种,可以没有计划地完成。特别是应用程序代码。尝试在应用程序代码中执行此操作时;那么包括应用程序连接在内的所有会话都将丢失。那你就不能继续前进了。
1. "WebApi": "Data Source=.;Initial Catalog=TaskDB; Integrated Security=true"
2. "WebApi": "Server=(localdb)\mssqllocaldb;AttachDBFilename=%CONTENTROOTPATH%\App_Data\TaskDB.mdf;Trusted_Connection=true;MultipleActiveResultSets=true"
我正在尝试将我的数据库从 Microsoft SQL 的主文件夹移动到项目文件夹 App_Data,但由于某种原因它不起作用。我不知道为什么我的连接字符串可能是错误的。所以 1 号工作正常,但它在 Microsoft SQL 的主文件夹中,但我猜 2 号有问题
数据库文件在SQL服务器手中是独占的。联机时不能移动数据库。使数据库离线,要求没有人连接到数据库。
首先获取数据库 offline
然后尝试移动文件。您可以使用 SSMS 和查询使数据库脱机。第一行代码终止所有活动会话然后设置数据库多用户;但在任何人都可以连接到数据库之前它必须处于离线状态,因此所有这些代码必须一起执行。
ALTER DATABASE DatabaseName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE DatabaseName SET MULTI_USER
GO
USE master
GO
ALTER DATABASE DATABASE_NAME SET OFFLINE
请注意,当您将文件移动到另一个位置时,如果您在使数据库脱机之前未设置新文件名,则无法将数据库带入 ONLINE
。
将此代码用于您要移动的所有文件。
ALTER DATABASE TEST
MODIFY FILE (NAME = 'LOGICAL_NAME', FILENAME = 'New_Directort\Filename.mdf')
移动文件后,使用此语句使数据库联机。
ALTER DATABASE DATABASE_NAME SET ONLINE
正如你所看到的,这个动作不是一种,可以没有计划地完成。特别是应用程序代码。尝试在应用程序代码中执行此操作时;那么包括应用程序连接在内的所有会话都将丢失。那你就不能继续前进了。