[学习笔记]批量迁移数据库文件

news2024/11/24 20:42:51

拷贝数据库文件

首先在本地运行如下SQL语句,查看数据库文件的磁盘位置

SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files

默认是保存在C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA目录下

在这里插入图片描述

首先复制数据库文件到新的磁盘位置,比如E:\DATA\

更新索引

SQL server可以使用下面语句更改用户数据库的文件位置索引

ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path\os_file_name' );

更多移动用户数据库内容请查看官方文档 https://learn.microsoft.com/zh-cn/sql/relational-databases/databases/move-user-databases

运行如下SQL语句

DECLARE @database_name NVARCHAR(128), @logical_name NVARCHAR(128), @sql NVARCHAR(MAX), @new_path NVARCHAR(256);

SET @new_path = N'E:\DATA\'; -- new file path

DECLARE db_cursor CURSOR FOR 
SELECT DB_NAME(database_id), name 
FROM sys.master_files
WHERE type = 0;

OPEN db_cursor;  
FETCH NEXT FROM db_cursor INTO @database_name, @logical_name;  

WHILE @@FETCH_STATUS = 0  
BEGIN  
    SET @sql = N'ALTER DATABASE ' + QUOTENAME(@database_name) + 
               N' MODIFY FILE ( NAME = ' + QUOTENAME(@logical_name, '''') + 
               N' , FILENAME = ' + QUOTENAME(@new_path + @logical_name + '.mdf', '''') + N' )';
    EXEC sp_executesql @sql;

    FETCH NEXT FROM db_cursor INTO @database_name, @logical_name;  
END; 

CLOSE db_cursor;  
DEALLOCATE db_cursor;

分别迁移数据库文件和日志文件
在这里插入图片描述

运行后会提示下次启动数据库时生效

在这里插入图片描述

再次查看sys.master_files内容,可以看到数据库文件已经迁移到新的磁盘位置

在这里插入图片描述

重启服务

打开SQL Server 配置管理器,如果你更改了系统数据库的位置,需要在SQL server服务的属性中,更改启动参数,详情请参考官方文档:https://learn.microsoft.com/zh-cn/sql/relational-databases/databases/move-system-databases

在这里插入图片描述

在这里插入图片描述
重启服务

在这里插入图片描述

删除之前的数据库文件,完成迁移

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1321521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

随时随地刷题题库小程序源码系统+完整代码包+安装部署教程

互联网的普及和在线教育的发展,越来越多的人开始利用碎片时间进行学习。为了满足这一需求,随时随地刷题题库小程序应运而生。该小程序提供了一个便捷的刷题平台,用户可以在任何时间、任何地点进行刷题练习,提高自己的学习效率。 …

C# Tcplistener,Tcp服务端简易封装

文章目录 前言相关文章前言设计代码简单使用运行结果 前言 我最近有个需求要写Tcp服务端,我发现Tcp服务端的回调函数比较麻烦,简化Tcp的服务,我打算自己封装一个简单的Tcp服务端。 相关文章 C# TCP应用编程三 异步TCP应用编程 C# Tcpclient…

开源一个超好用的接口Mock工具——Msw-Tools

作为一名前端开发,是不是总有这样的体验:基础功能逻辑和页面UI开发很快速,本来可以提前完成,但是接口数据联调很费劲,耗时又耗力,有时为了保证进度还不得不加加班。 为了摆脱这种痛苦,经过一周的…

uniapp 用于开发H5项目展示饼图,使用ucharts 饼图示例

先下载ucharts H5示例源码: uCharts: 高性能跨平台图表库,支持H5、APP、小程序(微信小程序、支付宝小程序、钉钉小程序、百度小程序、头条小程序、QQ小程序、快手小程序、360小程序)、Vue、Taro等更多支持canvas的框架平台&#…

掌握电脑开机密码设置技巧,让你的电脑数据更安全!

在现代社会,电脑已经成为了我们日常生活中必不可少的工具。然而,随着科技的发展,我们使用电脑也面临着一些安全隐患。为了保护个人数据的安全,设置开机密码就变得十分重要。本文将为大家介绍电脑怎么设置开机密码,以保…

在RTOS中验证互斥量有效解决优先级反转现象

我们在stm32f103c8t6单片机上验证RTOS互斥量有效解决优先级反转现象,利用stm32cube进行RTOS的配置。在选择TIM2当做RTOS的时钟,裸机的时钟源默认是 SysTick,但是开启 FreeRTOS 后,FreeRTOS会占用 SysTick (用来生成1ms…

数组去重及去除指定值,每一个对象添加属性值

1、数组去重ES6写法 Set() // 数组去重 let arr [1,2,4,6,3,2,6,7,7,2,9,0,1,5] arr [...new Set(arr)] console.log(arr); 2、数组去除指定值 filter() // 数组去除指定值 let arr [1,2,4,6,3,2,6,7,7,2,9,0,1,5] const num 7 arr arr.filter(item>item!num) cons…

Go集成elasticsearch8极简demo,光速入门

Go集成elasticsearch8极简demo,光速入门 配置go环境创件go mod工程代码实现配置go环境 编辑器添加goproxy GO111MODULE=on;GOPROXY=https://mirrors.wps.cn/go/,https://goproxy.cn,direct;GOSUMDB=off创件go mod工程 mkdir demo cd demo go mod init demo代码实现 在demo…

测试用例的修改更新

测试用例的修改更新是指测试过程中由于用户需求的改变,或者测试过程中发现有新的需求产生,使得测试用例需要进行修改。修改更新测试用例不仅是一种测试技术,更是一种质量保证的方法。但修改和更新测试用例的技术要点在于: 1、执行…

设计模式之创建型设计模式(一):单例模式 原型模式

单例模式 Singleton 1、什么是单例模式 在软件设计中,单例模式是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供一个全局访问点。 这意味着无论何时需要该类的实例,都可以获得相同的实例,而不会创建…

API接口能力不足?Bug处理慢?Lazada开放平台API商品接入

7月30日正式发布的Lazada开放平台2.0(Lazada Open Platform 2.0),从商品API、订单API、IM(即时通信) API、营销工具等几大方向,带来全新升级的API体系,共新增47个接口、优化19个接口&#xff0c…

JVM-9-Class类文件的结构

Java技术能够一直保持着非常良好的向后兼容性,Class文件结构的稳定功不可没。 Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中。 Class文件格式采用一种类似于C语言结构体的伪结构来存储数据&#xff0c…

详细教程 - 从零开发 鸿蒙harmonyOS应用 第八节——鸿蒙操作系统中的文件读写操作封装

一、引言 鸿蒙操作系统是华为自主研发的全场景操作系统。在这篇博客中,我们将探讨如何在鸿蒙操作系统中实现文件读写操作的封装。 二、文件读写操作 在鸿蒙操作系统中,文件读写操作是一个常见的需求。下面是一个简单的文件读写操作的封装示例&#xff1…

数据分析场景下,企业大模型选型的思路与建议

来源/作者:爱分析 随着大模型带来能力突破,让AI与数据分析相互结合,使分析结果更好支撑业务,促进企业内部数据价值释放,成为了当下企业用户尤为关注的话题。本次分享主要围绕数据分析场景下大模型底座的选型思路&#…

上传xml文件进行跨站脚本攻

文件路径或者URL&#xff1a;xxxxx <?xml version"1.0" encoding"iso-8859-1"?> <xsl:stylesheet version"1.0" xmlns:xsl"http://www.w3.org/1999/XSL/Transform"> <xsl:template match"/"> <html…

部署threestudio | stable zero123

选择我在autodl的stable-zero123这个镜像&#xff0c;或者直接选这个基础环境 开机后切换到conda的base环境 这里注意一点就是目前stable-zero123这个镜像还没解决的问题&#xff0c;就是没法使用xformers&#xff0c;所以如果重新配置&#xff0c;在这里就要先安装指定版本的…

liunx下用C++使用freetype库在opencv上打中文字

1、/visualizer.cpp:11:10: fatal error: ft2build.h: 没有那个文件或目录 11 | #include <ft2build.h> freetype安装问题&#xff0c;要把文件拉到根目录&#xff0c;不然找不到文件 2、编译失败找不到定义 /usr/bin/ld: CMakeFiles/interactive_face_detection_de…

树莓派Ubuntu系统安装OpenCV教程

硬件&#xff1a;树莓派4B 2G 内存卡32G 软件&#xff1a;系统是ubuntu-mate-20.04.1-desktop-arm64raspi.img 步骤如下&#xff1a;一、更新系统软件包列表和安装基本工具 sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential cmake git二、安装…

【Linux】Linux运维基础

Linux简介&#xff1a; Linux是一个开源的操作系统内核&#xff0c;最初由Linus Torvalds创建。它通常与GNU工具一起使用&#xff0c;以创建一个完整的操作系统。Linux操作系统有许多基于内核的发行版&#xff0c;如Ubuntu、CentOS、Debian等&#xff0c;每个发行版都有其独特的…

解决docker alpine /bin/sh: ./main: not found

解决docker alpine /bin/sh: ./main: not found golang中编译之后的二进制文件部署在alpine镜像中出现了not found问题解决这种情况是因为动态链接库位置错误导致的&#xff0c;alpine镜像使用的是musl libc而不是gun libc。因而动态链接库的位置不一致。在基础镜像内执行&…