SQL Server 在缺少文件组的情况下如何还原数据库 一.背景 我有一个A库,由于a,b两张表的数据量比较大,所以对表进行分区:在把A库迁移到一个新的集群上去,我只备份了A库的主分区过去进行还原为B库(主分区的备份还原可参考:SQL Server 维护计划备份主分区 和 主分区备份与还原),为了对a,b表进新的数据,我修改了a,b表名,在B库新建了两张不分区的a,b表: 这样运行都没有什么问题的,但是在一次我分离了数据库B,拷贝了mdf和ldf文件,现在想使用mdf和ldf还原为B库的时候出…
简介 在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQL SERVER通过管理逻辑上的文件组的方式来管理文件.理解文件和文件组的概念对于更好的配置数据库来说是最基本的知识. 理解文件和文件组 在SQL SERVER中,通过文件组这个逻辑对象对存放数据的文件进行管理. 先来看一张图: 我们看到的逻辑数据库由一个或者多个文件组构成 而文件组管理着磁盘上的文件.而文件中存放着SQL SERVER的实际数据. 为什么通过文件组…
原文地址:http://www.cnblogs.com/CareySon/archive/2011/12/26/2301597.html   SQL Server中数据库文件的存放方式,文件和文件组      写在前面:上次我关于索引的文章有几个园友发站内信问我如何将索引和表存储在不同的硬盘上.我觉的需要专门写一篇文章来讲述一下文件和文件组应该更容易理解. 简介     在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,仅仅是几个文件而已.SQ…
平常我不知道被问了几次这样的问题:“SQL  Server里在文件组间如何移动数据?“你意识到这个问题:你只有一个主文件组的默认配置,后来围观了“SQL Server里的文件和文件组”后,你知道,有多个文件的自定义文件组会是个更好的主意.但你现在如何从主文件组里移动现有数据到新加的文件组? 这篇文章的目的是向你展示你如何在文件组间移动数据.首先我会谈下聚集和非聚集索引,然后我会谈下如何在堆表里移动数据.让我们开始吧! 移动聚集和非聚集索引 一般来说在你的表上通常应该有一个聚集索引.有了现存的聚集…
.NET客户端下载SQL Server数据库中文件流保存的大电子文件方法(不会报内存溢出异常) 前段时间项目使用一次性读去SQL Server中保存的电子文件的文件流然后返回给客户端保存下载电子文件,在电子文件超过一定的大小的时候出现可恶的内存溢出!各种百度.google还是没找到解决的方法,最后不得不找微软的技术专家一起来解决大电子文件通过客户端浏览器下载这个异常,经过一段时间后找到一个理想的方案如下,性能虽然不高,但是基本能解决问题了,方法如下: 1.通过DataReader的方式来获取数据…
SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server 数据库最小宕机迁移方案,里面使用SQL脚本(T-SQL)完成完全备份.差异备份.完全还原.差异还原等:        有了上面的基础,我们加入了数据库的备份元素,通过维护计划来生成数据库的备份文件,这包括两种文件,数据库的完全备份与差异备份,有了这两个文件,我们可以通过SQL Server 备份和还…
对于一个数据库完整备份来说,备份的速度很大程度上取决于下面两个因素:读磁盘数据.日志文件的吞吐量,写磁盘数据文件的吞吐量. 下图是备份过程中磁盘的变化情况: 读吞吐量 读吞吐量的大小取决于磁盘读取数据的速度,而磁盘读取的速度又取决于数据文件在磁盘中的位置.因此,位于不同盘符上不同数据库文件的读取速度都不相同. 测量读吞吐量的一个方法就是进行一次数据库完整备份,然后使用Windows性能监控器(perfmon)来监控数据库文件所在磁盘的Read bytes/sec 性能计数器.保存备份文件的磁盘应…
SQL Server 数据库定时自动备份[转]   在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库TestDB1的完整备…
一.背景 之前写过一篇关于备份的文章:SQL Server 维护计划实现数据库备份,上面文章使用完整备份和差异备份基本上能解决数据库备份的问题,但是为了保障数据更加安全,我们需要再次完善我们的备份计划: 下面这篇文章主要加入了日志备份,并对设计备份的频率和设计命名规范等问题进行实战: 二.最佳实践 (一) 备份计划 1) 每周星期日的2:00:00执行数据库的完整备份: 2) 每周星期一至星期六每天的2:00:00执行数据库的差异备份: 3) 每天在8:00:00和23:59:59之间.每1小时…
SQL server 2008数据库的备份与还原.分离(转)   一.SQL数据库的备份: 1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库:Dsideal_school_db既是我们需要备份的学籍数据库 图(1) 2.选择要备份的数据库“Dsideal_school_db”,点击鼠标右键 → 任务 → 备份,如图(2): 图(2) 3.在打开的“备份数据库 —Dsideal_sch…
原文:SQL Server 数据库定时自动备份 SQL Server 数据库定时自动备份——每天定时备份,保留前8天的备份 利用SQL Server代理新建作业来定期备份 1)在数据库库的[SQL Server代理]->[作业],右键[新建作业] 2)在[常规]选项卡设置[名称](自定义) 3)在[步骤]选项卡中点击[新建],然后在弹出的窗口的[常规]选项卡中设置“步骤名称”(自定义):选择“类型”为“Transact-SQL 脚本(T-SQL)”(默认):选择“数据库”为你要备份的数据库:添加…
sa密码的修改转载自:http://blog.csdn.net/templar1000/article/details/20211191 SQL server 2008数据库的备份与还原转自 :http://www.cnblogs.com/zgqys1980/archive/2012/07/04/2576382.html 一.SQLServer2008修改sa密码的方法 1. 先用Window身份验证方式登陆进去,选择数据库实例,右键选择属性--安全性:把服务器身份验证选项从"Window身份验…
一. 简单介绍 SQL Server自带的维护计划是一个非常有用的维护工具,能够完成大部分的数据库的维护任务. 数据库的备份也是日常工作中非常重要的一个环节.备份的方法非常的多. 今天给大家介绍最简单的一种方法: 直接通过SQL Server Management Studio的图形界面去设置备份策略. 而且这种操作方式对于即时性的备份需求的响应也是最快的, 不需要写代码, 直接通过图形化界面设置就可以创建备份策略. 二. 需求 下面就结合具体的工作场景来讲解如何创建备份策略. 例如, 对一个生…
转自博客园: SQL Server 数据库定时自动备份[转]   在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库.而备份数据库一般又是在凌晨时间基本没有数据库操作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库.要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业.启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库Test…
转自:http://www.cnblogs.com/CareySon/archive/2012/02/23/2365006.html SQL Server中灾难时备份结尾日志(Tail of log)的两种方法   简介 在数据库数据文件因各种原因发生损坏时,如果日志文件没有损坏.可以通过备份结尾日志(Tail of log)使得数据库可以恢复到灾难发生时的状态. 例如: 上图中.在DB_1中做了完整备份,在Log_1,Log_2处做了日志备份.在Log_2备份之后不久,发生了故障.从Log_2…
SQL SERVER 2012数据库自动备份的方法 为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法: 一.打开SQL SERVER 2012,如图所示: 服务器类型:数据库引擎: 服务器名称:127.0.0.1(本地),也可以选择远程连接; 身份验证:包含Windows身份验证和 SQL Server身份验证,此处选择Windows 身份验证; 二.如图,选择[管理]-->[维护计划]-->[维护计划向导]: 三.在[SQL SERVER 维护计划向导]界面,点…
 SQL Server 2005数据库定期备份 分类: SQL Server 20052011-01-06 16:25 3320人阅读 评论(1) 收藏 举报 sql server数据库sqlserver任务cmdmicrosoft SQLServer2005的定期备份是通过创建“维护计划”来实现的.主要有两种方式:1.维护计划向导.2.新建维护计划(用户手工创建) 如果想在SQLServer2005中使用维护计划来设计维护备份数据库任务时,有一个前提条件:“SQL Server 代理”服务必须…
SQL Server Express 版本是没有SQL 代理服务的,从而导致不能使用SQL Server的定时自动备份功能.真心感觉这就是一个坑,虽然Express是学习的版本,但是精简的也太多了.另外一点不能忍受的是居然没有SQL Profile 监控执行语句数据功能,[手动cry] 好了,来说一下如果你使用了Express,如何进行SQL Server 的自动备份吧: ①方法就是:SQL备份数据库语句  +  windows 定时任务计划 ②目录结构为: ③DBBacUp.bat  备份的脚…
在今天的文章里,我想谈下SQL Server里非常重要的话题:SQL Server如何处理文件的文件组.当你用CREATE DATABASE命令创建一个简单的数据库时,SQL Server为你创建2个文件: 一个数据文件(.mdf) 一个事务日志文件(.ldf) 数据文件本身在有且只有一个主文件组里创建.默认情况下,在主文件组里,SQL Server存储素有的数据(用户表,系统表等).那有额外的文件和文件组的目的是什么?我们来看下. 多个文件组 当你为你的数据创建额外的文件组,你可以在它们里面存…
转自:https://www.cnblogs.com/woodytu/p/5821827.html 参考:https://www.sqlskills.com/blogs/paul/files-and-filegroups-survey-results/ 概要 那么你应该有多少个数据文件和文件组?没有正确的答案,而且甜蜜的地方会因你而异. 一些一般的经验法则: 随着数据库变大,您将更需要多个文件和文件组 多个文件组为您提供增强的可能性,以实现有针对性的灾难恢复,更轻松的可管理性和I / O子系统布…
在SQL SERVER中,数据库在硬盘上的存储方式和普通文件在Windows中的存储方式没有什么不同,也是在特定文件夹下创建不同的文件,然后经过文件存储系统去抓取数据信息.理解文件和文件组的概念可以帮助我们更好的配置和管理数据库. 结构图: Part A 文件 数据文件 数据文件包含数据和对象,例如表.索引.存储过程和视图. 主要数据文件( .mdf) 主要数据文件包含数据库的启动信息,并指向数据库中的其他文件.用户数据和对象可存储在此文件中,也可以存储在次要数据文件中.每个数据库有一个主要数据…
添加文件组:  --ADD FILEGROUP 增加文件组 ALTER DATABASE TestHekaton ADD FILEGROUP [Report] ALTER DATABASE TestHekaton ADD FILEGROUP [ASN] --内存文件组 ALTER DATABASE TestHekaton ADD FILEGROUP [MemoryFG] CONTAINS MEMORY_OPTIMIZED_DATA;   --添加文件 ALTER DATABASE [TestHe…
还原的时候出现错误:备份集中的数据库备份与现有的数据库不同 SQL Server 2005数据库还原出错错误具体信息为:备份集中的数据库备份与现有的A数据库不同 具体操作如下:第一次:新建了数据库A,数据库文件放在E:/DB/A目录下,选中该数据库右键-任务-还原-文件和文件组,在源设备中找到备份文件A.bak,目标数据库选中A,还原路径找到E:/DB/A目录下数据库文件(刚才所建数据库A的数据库文件),选择覆盖原数据库,点还原后出现错误:备份集中的数据库备份与现有的A数据库不同 第二次:删除了…
对于SQLServer 2005的数据库文件名字的修改.不多说,见图: 对于数据库名的更改直接选中要修改的数据库,F2,你懂的,不懂的可以去屎了.....0.0 下面要修改数据库的文件名 原理就是利用SQL Server 2005  的备份.还原功能实现 先备份数据库: 备份成功后再还原,还原的时候就可以修改文件名了...... 确定,,,,OK…
    MS SQL SERVER 获取当前数据库文件等信息,适用于多个版本: SELECT dbf.file_id AS FileID , dbf.name AS [FileName] , s.filename AS FileLocation , CAST(dbf.size/128.0 AS DECIMAL(19,2)) AS FileSizeMB , CAST(CAST(FILEPROPERTY(dbf.name, 'SpaceUsed') AS int)/128.0 AS DECIMAL(…
数据库文件太大 SQL Server用的久了,会发现备份文件越来越大,这个其实主要是log文件的增加,删掉log文件就可以了.不过操作之前最好还是有个完整备份的好. 分离数据库 分离数据库,勾选删除链接,完成后,找到.ldf文件直接删除. 附加数据库 分离后资源管理器中是看不见这个数据库的,需要再次附加上线,找到.mdf文件附加,这个时候回提示.ldf文件找不到,删除这个文件项就好了. 完成…
SQL Server 修改数据库物理文件存在位置 关键词:迁移文件,迁移temp库(这怎么迁移呢,用方法2即可,需要重启实例) 三种均需要离线: 一共分为(1)脱机迁移和(2)在线迁移. (1)迁移方案一(脱机迁移): SQL Server创建新库时,默认会把数据存放在C盘中,一旦 数据库 中的存储数据多了以后,C盘的空间就会所剩无几.解决方案是将存放数据的物理文件迁移到其他盘.具体流程为: 1.将现有的数据库脱机 ALTER DATABASE DB1 SET OFFLINE WITH ROLL…
原文地址:http://blog.itpub.net/35489/viewspace-616459/ 在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:  - 第一步:清空日志  DUMP TRANSACTION   databasename   WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH   NO_LOG  -…
在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半年以上都没有变化了,如下截图所示: 为什么呢?不会是什么bug吧? 相信很多人都会有这样的反应.下面我们通过实验来看看数据库的数据文件与事务日志文件在什么情况或条件下, 修改日期(Date Modified)才会变化.首先创建一个TEST数据库,查看其数据文件或事务日志文件的修改日期如下: USE…
此段代码是连接SQL SERVER的 代码内connMMSQL的参数要根据实际情况传入 Function connMMSQL(ip,user,pwd,database,strsql) Dim conn,Re,arr(2) set conn = CreateObject("ADODB.Connection") conn.ConnectionString="Provider=SQLOLEDB.1;Password="+pwd+";Persist Securit…