随笔分类 - [10] SQL Server
SQL Server
摘要:SQL Server支持三种备份方式 完全备份; 差异备份 事务日志备份 一般备份方式为,完全备份/每周,差异备份/每天,事务日志备份/按分钟计,这样可确保备份的高效性和可恢复性。 1. 完全备份 备份脚本 还原备份 2. 差异备份 备份脚本 还原备份 在SQL Server中还原差异备份,需要先还
阅读全文
摘要:以往我们对文件管理有两种方法:数据库只保存文件的路径,具体的文件保存在文件服务器(NFS)上,使用时,编程实现从文件服务器读取文件;将文件直接以varbinary(max)或image数据类型保存在数据库中。 上面两种文件存放方式都有问题:第一种方法因为会访问磁盘,故受I/O影响性能不是很好,...
阅读全文
摘要:一、写在前面 由于想体验下微软的Windows Azure在SQL Server数据库方面的使用,笔者花了点时间安装了一下SQL Server 2014,安装很简单,基本就是稍微做些配置即可,笔者在此记录一下安装过程。一、安装记录注意:此处之所以选择自己命名实例(MSSQLSERVER2014)是...
阅读全文
摘要:一、数据库备份 备份源数据库:ReportServer和ReportServerTempDB (注意是全备份)二、数据库还原 还原之前先停掉SSRS 还原至目标数据库:ReportServer和ReportServerTempDB三、Encryption Keys 备份源Encrypti...
阅读全文
摘要:记录如何在本地配置SQL Server 2008 R2 Reporting Services,笔者环境为Windows 7 64位 + SQL Server 2008 R2一、准备工作 其实准备工作很简单,只需通过Microsoft SQL Server 2008 R2 -> Configur...
阅读全文
摘要:本文关注以下方面(本文所有的讨论基于SQL Server数据库):索引的分类;索引的结构;索引的存储一、索引定义分类 让我们先来回答几个问题: 什么是索引?索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。举个例子,索引就像我们查字典时用的按拼音或笔...
阅读全文
摘要:先准备测试表CREATE TABLE [dbo].[Employee] ( EmployeeNo INT IDENTITY(1,1) PRIMARY KEY, EmployeeName NVARCHAR(50) NULL);插入一些数据INSERT Employee DEFAULT VA...
阅读全文
摘要:建议您在执行字符串时,使用sp_executesql存储过程而不要使用 EXECUTE 语句。由于此存储过程支持参数替换,因此sp_executesql比 EXECUTE 的功能更多;由于 SQL Server 更可能重用sp_executesql生成的执行计划,因此sp_executesql比 E...
阅读全文
摘要:在动态SQL语句中进行变量的值绑定比较麻烦,这儿做个记录declare @COUNT int,@sql nvarchar(max)set @sql = 'select @COUNT = count(id) from tbl_sys_dict where root_key = ''WT_TYPE'''execute sp_executesql @sql, N'@COUNT int output', @COUNT outputprint @COUNT
阅读全文
摘要:一、写在前面 最近公司进行开发环境升级,数据库也准备了一个新的服务器,一切准备好后开始数据迁移,采取的方式为对现有Database(现有服务器Windows Server 2003 + SQL Server 2005)进行Back up,然后在新服务器(Windows Server 2008 R2 + SQL Server 2008 R2)上再Restore Databse,一切似乎挺顺利的。但是当从Web Server开始访问的时候出现错误Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" a
阅读全文
摘要:目录 | 索引SSMS查询结果带表头VALUES的妙用行转列与列转行(PIVOT与UNPIVOT)查找某字段的所有引用(表、存储过程、试图等)顺序GUID一、SSMS查询结果带表头拷贝到Excel中二、VALUES的妙用1. INSERT INTO VALUES--Create table Empl...
阅读全文
摘要:一、问题起因 随着数据库文件的日益增大,存放的磁盘空间越发显得不足,同时为了提高数据库的性能,数据库日志文件迁移显得尤为重要,即数据库主文件和日志文件分别存放在不同的磁盘上。二、尝试迁移 迁移日志文件,首先想到的是Detach和Attach方式,可以使用下面任一种方式1. 脚本SP_DETACH_DB 'DB NAME', 'TRUE'你会发现如下错误2. 通过SSMS管理器注意Status和Message列查了下MSDN,发现确实如此,如果数据库存在发布复制情况,则无法通过Detach和Attach方式来完成(除非你先移除发布复制)。三、问题解决1. 通过以下
阅读全文
摘要:一、写在前面 - 想说爱你不容易 为了升级数据库至SQL Server 2008 R2,拿了一台现有的PC做测试,数据库从正式库Restore(3个数据库大小夸张地达到100G+),而机器内存只有可怜的4G,不仅要承担DB Server角色,同时也要作为Web Server,可想而知这台机器的命运是及其惨烈的,只要MS SQL Server一启动,内存使用率立马飙升至99%。没办法,只能升内存,两根8G共16G的内存换上,结果还是一样,内存瞬间被秒杀(CPU利用率在0%徘徊)。由于是PC机,内存插槽共俩,目前市面上最大的单根内存为16G(价格1K+),就算买回来估计内存还是不够(卧槽,PC机.
阅读全文
摘要:问题描述问题原因猜测与验证首先声明,这儿的Login Failed不是什么SQL Server 服务没起来之类的错误引起。一般的解决办法是不行的,可能的原因笔者猜测是由于计算机名称更改造成,最终在成功解决问题后发现确实如此。在安装SQL Server默认实例时,笔者采用的认证模式是Windows验证,而且用户是本机的一个用户帐户(不是域帐户),所以当机器名称更改后就会导致无法连接,因为之前安装的数据库实例它认为用户是之前的用户,而且没有sa用户。问题解决幸好微软提供了一个解决办法PsExec,它允许你以NT AUTHORITY\SYSTEM账号运行程序,和“常规”管理员账号不同——具有天生访问
阅读全文
摘要:问题描述安装完SQL Server 2008 R2后,发现通过SSMS (SQL Server Management Studio)找不到安装在本地的默认数据库实例(确切地说是本地机器都找不到,只能看到本机\SQLEXPRESS,截图有点偏差,因为此截图是此问题已经修复后的)打开SQL Server Confirmation Manager试图查找问题在SQL Server Services下出现错误The remote procedure call failed. [0x800706be],发现SQL Server (MSSQLSERVER) 服务压根没起来(连看都看不到,所以才会出现上面的
阅读全文
摘要:目前笔者在做公司产品的UAT,在部署安装系统/软件时发现在安装SQL Server时容易出错,故总结如下一、准备工作 在正式安装SQL Server 2005之前,我们要先启用ASP.NET和IIS,因为最终我们所安装的某些数据库功能将依赖于此,换句话说,如果我们不先安装这些东西,在我们正式安装数据库时,某些功能将无法安装,实际上,你根本无法选择安装对应的功能,因为它会直接灰掉,例如Reporting Service功能就需要我们先启用ASP.NET和IIS,而要启用这些功能,在Windows Server 2008中需要配置一个服务器角色,具体过程如下:1.单击“开始”。2.单击“开始...
阅读全文