代码改变世界

随笔分类 -  数据库技术(MS SQL)

SQL Sever 博客文章目录(2016-07-06更新)

2013-08-03 15:23 by 潇湘隐者, 4272 阅读, 收藏,
摘要: SQL Server方面的博客文章也陆陆续续的写了不少了,顺便也将这些知识点整理、归纳一下下。方便自己和他人查看。 MS SQL 数据类型 三大数据库对比研究系列——数据类型 MS SQL 表和视图 数据库表的基本信息,你知道吗? 数据查询表,列名对比 MS SQL 建表SQL的脚本 查看数据库、表 阅读全文

You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1

2013-07-22 23:47 by 潇湘隐者, 3557 阅读, 收藏,
摘要: 今天在Windows Server 2008 下安装SQL SERVER 2008时,碰到如下错误:You must use the Role Management Tool to install or configure Microsoft .NET Framework 3.5 SP1。既然碰到了顺便还是记录一下,虽然感觉没啥技术含量也没有难度,有时候有必要养成一个好习惯。记录你碰到的问题、解决问题的方案,你思考的点点滴滴!打开 Server Manager,在“Features”下勾选".NET Framework 3.5.1 Features(Installed)", 阅读全文

Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server "xxxxxxx".

2013-07-22 23:19 by 潇湘隐者, 5750 阅读, 收藏,
摘要: 在SQL SERVER 2008 R2下用Windows 身份认证的登录名创建了一个访问ORACLE数据库的链接服务器xxxxx,测试成功,木有问题,但是其它登录名使用该链接服务器时,报如下错误:消息 7302,级别 16,状态 1,第 1 行Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server "xxxxxx".此时需要在“服务器对象”——>“链接服务器”——>“访问接口”下,找到OraOLEDB.Oracle选项,单击右键选择属性, 阅读全文

MS SQL 错误 :17883,严重度: 1,状态: 0

2013-07-17 20:21 by 潇湘隐者, 2343 阅读, 收藏,
摘要: 公司一台老旧的SQL SERVER 2000 数据库,一周内会出现若干次(一次或多次)CPU 持续100%,导致应用程序没有反应的情况,如下图所示:错误信息如下所示:日期 2013/7/12 2:14:03日志 SQL Server (存档编号6 - 2013/7/12 8:49:00)源 server消息错误: 17883,严重度: 1,状态: 0日期 2013/7/12 2:14:03日志 SQL Server (存档编号6 - 2013/7/12 8:49:00)源 server消息调度程序 2 似乎已被... 阅读全文

计算机改名导致数据库链接的诡异问题

2013-07-08 20:47 by 潇湘隐者, 3695 阅读, 收藏,
摘要: 前几天给开发部门部署测试数据库时,遇到一个很诡异的问题:创建一个链接服务器GEK-MIS01时,报错如下: 消息 15190,级别 16,状态 1,过程 sp_dropserver,第 56 行 仍有对服务器 'GEK-MIS01' 的远程登录或链接登录。脚本如下(略去登录名等关键信息):/****** Object: LinkedServer [GEK-MIS01] Script Date: 07/05/2013 16:19:58 ******/IF EXISTS (SELECT srv.name FROM sys.servers srv WHERE srv.serv... 阅读全文

There is insufficient system memory to run this query 错误

2013-07-03 23:39 by 潇湘隐者, 2174 阅读, 收藏,
摘要: 服务器环境大致情况如下:操作系统: Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2数据库 : Microsoft SQL Server 2005 - 9.00.5000.00 (Intel X86) 。机器物理内存8G,开启了“使用AWE分配内存选项(U)"在这台服务器上,创建YourSQLDba后,配置过程中创建函数的时候,报如下错误,重试了几次都是如此,但是其它应用从来没有出过这个错误,而且这是一台生产服务器,很多应用在跑,所以这才是让我纳闷的地方:消息 701,级别 17,状态 13,过程 c 阅读全文

SQL Server 2008 R2的发布订阅配置实践

2013-06-28 00:08 by 潇湘隐者, 6884 阅读, 收藏,
摘要: 纸上得来终觉浅,绝知此事要躬行。搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅、镜像、日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么一回事,毕竟环境不同、数据库版本或经验关系,你实践的时候会或多或少碰到一些问题,有可能人家是多次实践 阅读全文

MS SQL 2008 发布订阅配置错误总结

2013-06-25 23:10 by 潇湘隐者, 7649 阅读, 收藏,
摘要: 最近在配置SQL 2008的发布订阅功能时,遇到了几个小错误,顺便归纳总结一下(以后碰到各类关于发布订阅的错误都将收录、更新到这篇文章),方便自己在以后碰到这类问题时,能够迅速解决问题。毕竟人的记忆能力有时效性,时间久了,有可能有些东西就模糊了或忘了,好记性不如烂笔头。 错误1:在数据库服务器上新建本地发布服务时报错。 ... 阅读全文

MS SQL 日常维护管理常用脚本(二)

2013-06-24 20:57 by 潇湘隐者, 8857 阅读, 收藏,
摘要: 监控数据库运行下面是整理、收集监控数据库运行的一些常用脚本,也是MS SQL 日常维护管理常用脚本(一)的续集,欢迎大家补充、提意见。查看数据库登录名信息Code SnippetSELECT name AS LoginName ,dbnameAS DefaultDB ,createdateAS CreateDate,updatedateAS UpdateDate,languageAS Language,CASE WHEN isntname = 1 THEN 'NT USER'ELSE 'SQL USER'ENDAS UserTypeFROM syslogins; 阅读全文

迁移Reporting Services的方法与WMI错误

2013-06-18 22:22 by 潇湘隐者, 2423 阅读, 收藏,
摘要: 今天上午,接到一个任务:迁移SQL SERVER 2005的报表服务到另外一台SQL SERVER 2008服务器,结果等我备份了两边服务器的ReportServer,ReportServerTempDB以及相关准备工作后,准备用Reporting Services 配置管理器(Reporting Services Configuration Manage)备份RS秘钥时,结果悲剧的一幕出现了。WMI错误,具体错误细节请见下面See the end of this message for details on invokingjust-in-time (JIT) debugging inst. 阅读全文

MS SQL 日常维护管理常用脚本(一)

2013-06-15 00:03 by 潇湘隐者, 11201 阅读, 收藏,
摘要: SQL SERVER 数据库日常维护,管理,巡检过程中你可能经常需要用到一些SQL语句(亦或方法)来查看数据库服务器环境(操作系统版本, 磁盘空间,CPU,RAM信息),数据库信息(数据库版本,实例名称...),数据库对象等。查看数据库信息查看数据库服务器名称 方法1:SQL脚本查询,可以通过下面脚本来查询。 默认实例默认实例查询SELECT @@SERVERNAME AS SERVERNAME;SELECT SERVERPROPERTY('servername') AS ServerName;SELECT srvname AS ServerName FROM sys.syss 阅读全文

MS SQL 数据库状态为SUSPECT的处理方法

2013-06-10 22:57 by 潇湘隐者, 14047 阅读, 收藏,
摘要: 当SQL SERVER数据库状态为质疑(SUSPECT)状态时,我们可以用以下方法来处理:1. 修改数据库为紧急模式:ALTER DATABASE DBName SET EMERGENCY .2. 检查数据库的完整性:DBCC CHECKDB(‘DBName’)3. 检查没有错误则恢复数据库为正常模式:ALTER DATABASE DBName SET ONLINE;4 如检查数据库有错误则修改数据库为单用户模式,依情况选择以下命令行进行修复数据;Code SnippetDBCC CHECKDB('DBName',REPAIR_FAST);DBCC CHECKDB('D 阅读全文

MS SQL 完全卸载数据库

2013-06-10 20:24 by 潇湘隐者, 21068 阅读, 收藏,
摘要: 卸载SQL SERVER 数据库可能很多人都做过,但是我们需要注意,有时候可能没有完全卸载干净。当然SQL SERVER不像ORACLE数据库,卸载不干净也完全可以重新安装,可能会出现安装不成功的情况,那么如何完全卸载数据库呢?下面的操作环境以WIN2008 + SQL SERVER 2008 R2为例来实验一下:步骤1: 关闭SQL SERVER的所有服务。步骤2: 若要开始卸载过程,请从“开始”菜单单击“控制面板”,然后双击“程序和功能”。选择要卸载的 SQL Server 组件,然后单击“卸载”。步骤3: 此时将启动 SQL Server 安装向导,点击Remove按钮,即可开始卸载SQ 阅读全文

[翻译]为什么你不要收缩数据库文件

2013-06-04 00:43 by 潇湘隐者, 7295 阅读, 收藏,
摘要: 前言,这几天查看了很多关于SQL SERVER收缩数据文件方面的文章,准备写一篇关于收缩日志方面的文章,但是突然有种冲动将看过经典的文章翻译出来,下面这篇文章是翻译的是Paul Randal – “Why You Should Not Shrink Your Data Files”。有些比较难以翻译、清晰的地方,我会贴上原文。好了,不啰嗦了,直接看下面的翻译吧。 我最大的一个热点问题是关于收缩数据文件,虽然在微软的时候,我自己写了相关收缩数据文件代码,我再也没有机会去重写它,让它操作起来更方便。我真的不喜欢收缩。 现在,不要混淆了收缩事务日志文件和收缩数据文件,当事务日志文件的增长失控或为了. 阅读全文

MS SQL 日志记录管理

2013-05-28 18:54 by 潇湘隐者, 39932 阅读, 收藏,
摘要: MS SQL的日志信息/日志记录,可能对你来说,既熟悉又陌生,熟悉是因为你可能一直都在使用,查看、关注一些日志信息/记录,例如,作业历史记录;陌生是因为你可能从不关注日志信息/记录的管理,这里我一直用日志信息/记录这个词,而没有用日志文件这个词来阐述,是想让大家把它和事务日志文件(ldf)区分开来,网上你用日志文件做搜索关键词,可能搜出来的都是事务日志相关的信息。其实它真的也叫日志文件,这篇文章我大概从日志记录分类、如何查看日志记录、日志记录的位置、日志记录的设置、为什么错误日志会暴增、如何清除日志记录等方面来讲述。日志记录分类按日志文件查看器,习惯将错误日志归为SQL SERVER、 SQ. 阅读全文

MS SQL 事物日志传送能否跨数据库版本吗?

2013-05-22 12:13 by 潇湘隐者, 1938 阅读, 收藏,
摘要: SQL SERVER的事物日志传送(log shipping)功能,相信很多人都使用过或正在应用,这是MS SQL提供的一个非常强大的功能,一般需要一个主数据库服务器(primary/production database server)和辅助数据库服务器(standby server)来完成这个配置,默认情况下,主数据库和辅助数据库的版本应该是一致的,那么如果这两个数据库版本不一致,会不会有什么问题?还能做log shipping配置吗?那么数据库版本不一致分两种情况: 1: 类似于MS SQL 2005 64 bit SP4 与MS SQL 2005 SP3 32 bit这样的版本差别 . 阅读全文

MS SQL 模仿ORACLE的DESC

2013-05-21 23:15 by 潇湘隐者, 1658 阅读, 收藏,
摘要: 前言: 在ORACLE数据库的SQL*PLUS里面有个DES(DESCRIBE)命令,它可以返回数据库所存储对象的描述,如下所示 SQL> DESC STUDENT_SCORE Name Type Nullable Default Comments ---------------- -------... 阅读全文

SSMS 2005 连接 SQL SERVER 2008问题

2013-05-21 11:28 by 潇湘隐者, 2219 阅读, 收藏,
摘要: 用本机的 Microsoft SQL Server Management Studio 2005 客户端连接数据库服务器时报错:“This version of Microsoft SQL Server Management Studio can only be used to connect to SQL Server 2000 and SQL Server 2005 servers. (ConnectionDlg)”,截图如下:具体环境:本机安装的是Microsoft SQL Server Management Studio 2005 客户端工具, 具体版本号为9.00.1399.00,服 阅读全文

MS SQL 批量给存储过程/函数授权

2013-05-14 23:38 by 潇湘隐者, 3485 阅读, 收藏,
摘要: 在工作当中遇到一个类似这样的问题:要对数据库账户的权限进行清理、设置,其中有一个用户Test,只能拥有数据库MyAssistant的DML(更新、插入、删除等)操作权限,另外拥有执行数据库存储过程、函数的权限,但是不能进行DDL操作(包括新建、修改表、存储过程等...),于是需要设置登录名Test的相关权限:1:右键单击登录名Test的属性.2: 在服务器角色里面选择"public"服务器角色。3:在用户映射选项当中,选择"db_datareader"、"db_datawriter"、"public"三个数据库角色 阅读全文

MS SQL 监控数据/日志文件增长

2013-05-12 22:08 by 潇湘隐者, 1809 阅读, 收藏,
摘要: 前几天,在所有数据库服务器部署了监控磁盘空间的存储过程和作业后(MS SQL 监控磁盘空间告警),今天突然收到了两封告警邮件,好吧,存储规划是一方面,但是,是不是要分析一下是什么原因造成磁盘空间不足的呢?会不会是因为突然暴增的日志文件,抑或是系统业务猛增导致数据量暴增,还是历史数据累计原因....分析总得有数据来支撑吧,但是现在只有那些数据文件的当前大小信息,没有数据文件的历史增长变化信息,所以,今天就想实现这么一个功能,每天(频率可以调整)去收集一下数据文件的信息,放到一个表里面,这样方便我们分析数据文件的增长演变例程,甚至你可以将数据文件的增长幅度和业务变化关联起来分析....那么接下来. 阅读全文