4.5 移动数据库文件

4.5 移动数据库文件

4.5.1 移动数据库文件

  在某些场景中需要将数据库的文件移动到另一个路径。如果允许将该数据库脱机,那么可以通过先分离数据库,移动数据库文件后再附加数据库的方法。

  还可以通过 T-SQL 语句在数据库联机时移动文件,在该数据库下一次重新联机时生效。在语句中需要使用2个参数,NAME 参数指出数据库文件的逻辑名称,FILENAME 参数指出移动后的目标文件的路径与物理文件名。

ALTER DATABASE [SQLDB01] MODIFY FILE ( NAME = N‘FG2012_data‘, FILENAME = N‘E:\MSSQL\Data\FG2012_data.ndf‘ )

  在运行上述语句时,必须确保目标路径已经存在,否则SQL Server将返回“指定的路径不在有效目录中”的错误。

  上述语句执行成功后,逻辑文件名对应的条目已经在系统目录中被修改。新路径将在数据库下次启动时使用。

4.5.2 清空数据文件

  必须先清空数据文件中的数据,才可以删除该数据文件。


USE [AdventureWorks2014]

GO

DBCC SHRINKFILE (N‘AdventureWorks2014_2‘ , EMPTYFILE)

GO

4.5.3 删除数据文件

  对于空的数据文件,可以删除它。


ALTER DATABASE [AdventureWorks2014]  REMOVE FILE [AdventureWorks2014_2]

GO

时间: 2024-10-04 14:00:59

4.5 移动数据库文件的相关文章

Unity3D在Android平台使用嵌入式数据库Sqlite,解决无法找到数据库文件的问题

做一个需要嵌入式数据库Sqlite 的unity3d项目,在pc机上运行良好,需要发布到Android平台上,于是,各种坑爹...会遇到找不到数据库文件的问题.当在pc机上使用sqlite时,当执行SqliteConnection dbConnection = new SqliteConnection("data source = test.db");语句时,如果有这个数据库文件则建立连接,如果没有则创建出这个文件,然后建立连接.当在Android平台上时,扯淡的事情就开始了,总之便不

批处理实现每日自动备份和清除数据库文件

说明 利用任务计划,每天指定时间执行批处理文件: 1.实现自动Copy数据库备份文件至另一台主机上 2.自动删除指定天数的备份文件 1.批处理文件代码 CopyDB2Lan (factory).bat ************************* 代码开始处 *************************  @echo off color 0e cls title Copy DB 到 镜像主机下 (by [email protected])... set desthost=\\172.

SP_attach_db 添加数据库文件

SP_attach_db   用法如下:       EXEC   SP_attach_db   @dbname   =   N'目标数据库名',           //这是你要引入后的数据库名.          @filename1   =   N'源数据库DATA文件完整路径及文件名.MDF',   //指明源数据库的数据文件          @filename2   =   N'源数据库LOG文件完整路径及文件名.LDF'       //指明源数据库日志文件    注:最后一行不要

为什么NTFS删除超过4G大文件或数据库文件后FILE RECORD大小表现为0

为什么NTFS删除超过4G大文件或数据库文件后FILE RECORD大小表现为0? 答:NTFS删除一个文件,必须要完成如下几个流程,才算完结: 1.更改文件系统$bitmap,释放空间 2.更改$mft filerecord项的属性为删除 3.更改$mft:$bitmap的位图信息为0,释放这个filerecord的占用空间 4.清除目录链表中关于本文件的item信息. 这个流程是理想状态下的处理规则,但实际上,最头疼的是OS要考虑这个问题:如果在上述4个步骤中出现中断(如突然断电.死机等),

64位系统使用Access 数据库文件的彻底解决方法

最近,有PDF.NET用户问我怎么在64位系统下无法访问Access数据库的问题,我第一反应是我怎么没有遇到呢?今天一看自己的VS和Office都是32位版本的,所以在VS里面调试访问Access是没有问题的,但是直接使用编译好的.NET程序访问Access,就出问题了,报: 未在本地计算机上注册“Microsoft.Jet.Oledb.4.0”提供程序. 于是,又在公司的电脑上(Win7 64位)做了实验,发现跟家里面的Win8.1 64位 问题一样,上网搜索了一下,大部分都建议将.NET程序

SharedPreferences数据、openFileOutput文件、SQLite数据库文件存储位置

在模拟器中: SharedPreferences将XML文件保存在/data/data/<package name>/shared_prefs目录下, openFileOutput方法将文件保存在/data/data/<package name>/files目录下 SQLite数据库文件存放在/data/data/<package name>/databases目录下 SharedPreferences数据.openFileOutput文件.SQLite数据库文件存储位

读取本地数据库文件

有时候我们可以将类似省份城市的数据库文件存放在assets/文件夹名/××.sql下,当程序在创建数据库时读取该数据库文件,并执行其内的sql语句 在SqLiteOpenHelper类的onCreate方法中调用 executeAssetsSQL(db, "××.sql"); /** * 读取数据库文件(.sql),并执行sql语句 * */ private void executeAssetsSQL(SQLiteDatabase db, String schemaName) { Bu

SqlServer修改数据库文件及日志文件存放位置

--查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files  where database_id=db_id(N'数据库名');   --修改文件的存放位置下次启动生效 --testDb为数据库名, alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径')

linux系统下迁移mysql数据库文件

linux下(这里是centos),mysql安装后,数据库的数据默认存放在/var/lib/mysql目录下,如果该目录下挂载的磁盘空间很少,不够用,需要迁移到其他的目录位置. 方法一: 参照windows下的方法,把/var/lib/mysql移到需要的目录,再修改/etc/my.cnf文件,指定数据目录.这方面的教程网上很多,大家可以去搜索一下. 方法二: 使用linux下的软连接方法,具体操作如下:(以迁移到/home/mysql/目录为例) 先停止mysql: /etc/init.d/

android 打开 res raw目录 中 数据库文件

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 安卓不能直接打开 res raw 中的 数据库 文件. 通过 资源 获取资源 方法 , 然后在通过 打开资产资源方法 获得 res raw中的  输入流  对象, 然后将 输入流对象 中的数据 写入 其他目录中的相应文件中. 然后 通过 sqlite数据库的 打开或者创建数据库方法  来打开任意目录中的 sqlite