代码改变世界

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

SQL 2005/2008 连接SQL 2000报18456错误

2013-05-09 11:17 by 潇湘隐者, 750 阅读, 收藏,
摘要: 在看文章前,你先看看下面这两个问题,考考你对MSSMS工具的掌握情况:1: SQL 2005/2008 能连接 SQL 2000数据库服务器吗?2: SQL 2000 能连接SQL 2005/2008数据库服务器吗?答案是都可以。实验环境:本机Windows 7 专业版,安装有SQL 2005客户端和 SQL 2008客户端工具,采用Windows 身份认证方式连接公司一台数据库服务器(SQL 操作系统:Windows 2000 服务器,数据库版本:SQL2000 STD),报如下错误,原因是:折腾了许久,参考了网上很多资料,结果最后悲剧性发现这个错误,不是网上所说的原因引起的,而是由于use 阅读全文

MS SQL 监控磁盘空间告警

2013-05-07 23:01 by 潇湘隐者, 2552 阅读, 收藏,
摘要: 这几天突然有个想法:希望能够自动监控、收集数据库服务器的磁盘容量信息,当达到一个阀值后,自动发送告警邮件给DBA,将数据库磁盘详细信息告知DBA,提醒DBA做好存储规划计划,初步的想法是通过作业调用存储过程来实现(每天调用一次),这样避免了我每天每台数据库服务器都上去检查一下,尤其是手头的数据库服务器N多的情况,这样可以避免我每天浪费无谓的时间。如果大家有更好的建议和方法,欢迎指点... 阅读全文

YourSQLDba介绍

2013-05-02 23:22 by 潇湘隐者, 2538 阅读, 收藏,
摘要: YourSQLDba介绍YourSQLDba是一个法国人写的程序,它是由一系列T-SQL存储过程构成的脚本文件。可以理解成一个组件或安装包,从而简化了在Mircorsoft SQL Server 2005/2008 数据库的安装,部署。它可以提供自动、复杂,非常容易定制的数据库维护管理,从而可以极大的让DBA从繁杂的维护工作中释放出来。这是一个优秀的工具,可以减轻你的工作。也是每个DBA应该努力的方向,可以编写自己的数据库管理维护工具,让你从繁杂的工作中解脱出来。YourSQLDba的官方网站:http://www.grics.qc.ca/yoursqldba/index_en.shtml主要 阅读全文

MS SQL 能否修改实例名称

2013-04-28 18:56 by 潇湘隐者, 5085 阅读, 收藏,
摘要: 前几天研究了了一下修改数据库名称的方式后,今天突然冒出一个问题,MS SQL的命名实例是否也可以修改呢?例如下图,我在本机上安装了一个命名实例GSP,如果我想将其改为GSPS,能行吗? 如果可以,那么该怎么做呢?该如何下手呢,真的不知道怎么做,毕竟以前都没有做过修改命令实例(当然修改计算机名称是另外一回事),先从网上搜索资料吧,结果,搜索到一堆不相关的资料,其实都不是真正的修改命名实例名称,只是修改计算机名称。不过最后搜索到一点有用的信息http://www.itpub.net/thread-1047040-1-1.html, 不过呢,我按照其操作去实现的时候,发现根本行不通。修改sysser 阅读全文

MS SQL监控数据库的DDL操作

2013-04-27 23:35 by 潇湘隐者, 3106 阅读, 收藏,
摘要: 前言: 有时候,一个数据库有多个帐号,包括数据库管理员,开发人员,运维支撑人员等,可能有很多帐号都有比较大的权限,例如DDL操作权限(创建,修改,删除存储过程,创建,修改,删除表等),账户多了,管理起来就会相当麻烦,容易产生混乱,如果数据库管理员不监控数据库架构变更的话,就不知道谁对数据库架构做了啥改动(此处改动仅仅只DDL操作),尤其有时候,有些开发人员可能不按规章制度办事,绕过或忘了通知发布人员或DBA,直接去生产机做一些DDL操作,那么我们就需要对数据库架构某些更改的事件进行监控,如果能够监控并留下证据,这样既可以让DBA或相关管理人员知晓这些变更,有效管理数据库,也可以避免出现问题,. 阅读全文

MS SQL修改数据库名称

2013-04-25 23:13 by 潇湘隐者, 26626 阅读, 收藏,
摘要: 在MS SQL中,如果你想修改某一个数据库的名称,你可以通过下面几种方法实现。 方法一:使用SP_RENAMEDB系统存储过程实现。 语法: sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name' 例子: 我需要将数据库Test_1的名称修改为Test use mastergoexec sp_rename... 阅读全文

MS SQL 迁移数据库文件

2013-04-24 22:56 by 潇湘隐者, 5261 阅读, 收藏,
摘要: MS SQL 数据库迁移文件,这里说的不是将数据库迁移到另外一台服务器,只是在服务器不同磁盘目录内做迁移。移动数据库文件的情况大致有下面一些: 1: 事先没有规划好,数据库文件或日志文件增长过快,导致某个盘或整个磁盘空间不足,需要移动数据文件或日志文件 2: 纯粹由于业务需求,数据增长过快。 3: 为了更好的IO的性能,需要将数据文件、日志文件分布到不同磁盘,减轻IO压力,提供IO性能。 4:故障恢复。例如,数据库处于可疑模式或因硬件故障而关闭。案例:现在我在数据库实例中有数据库MyAssistant,(假设)由于事先没有规划好,导致数据文件位于E:\DataBase目录下, 我们需要... 阅读全文

MS SQL数据库服务介绍

2013-04-21 20:14 by 潇湘隐者, 3213 阅读, 收藏,
摘要: 服务类型服务是一种在系统后台运行的应用程序。服务通常提供一些核心操作系统功能,MS SQL有下面一些服务。服务类型服务描述SQL Server提供数据的存储、处理和受控访问,并提供快速的事务处理Analysis Server为商业智能应用程序提供联机分析处理(OLAP)和数据挖掘功能。SQL Browser将 SQL Server 连接信息提供给客户端计算机FullText Search 快速创建结构化和半结构化数据的内容和属性ReportServer管理、执行、呈现、计划和传递报表。SQL Agent执行作业、监视 SQL Server、激发警报,以及允许自动执行某些管理任务。SSIS Se 阅读全文

MS SQL 挑战问题

2013-03-28 10:56 by 潇湘隐者, 2948 阅读, 收藏,
摘要: 群里面有位网友提出了这样一个SQL挑战问题(原话不是这样,为了说明问题,我略做调整些): 问题说明如下 有一条个销售报表TEST : 商品 金额 A 1400 B 800 C 790 ... ... 现在有这样一个需求(要写一个SQL取出如下数据):先按销售金额倒叙排序,然后从这个报表取出前N条记录,并且这N条记录的销售金额之和是总金额的80%(<= 80%), 80%将作为... 阅读全文

SQL SERVER 表最小行的一个纠结问题

2011-05-19 00:37 by 潇湘隐者, 2726 阅读, 收藏,
摘要: 昨天一个同事突然问我,说他在SQL 2000数据库创建如下表的时候,突然碰到了下面一条警告信息。SQL脚本和警告信息如下:IFOBJECT_ID(N'Log')ISNULLBEGINCREATETABLELog([Date]DATETIME,[Thread]NVARCHAR(255),[Level]NVARCHAR(50),[Logger]NVARCHAR(255),[Message]NVARCHAR(4000),[Exception]NVARCHAR(4000))ENDELSEPRINT('该表已经存在,请检查数据库');GOWarning:Thetable& 阅读全文

三大数据库对比研究系列——数据类型

2011-04-20 22:10 by 潇湘隐者, 2741 阅读, 收藏,
摘要: 如果你经常在不同类型数据库做开发或学习时,切换数据库写脚本时,不同数据库的数据类型可能会让你有点“晕”。下面我将对Oracle、SQL Server 、MySql三种数据库的数据类型做下例举、比较SQL SERVER数据库暂且以SQL Server 2005为参考SQL SERVER 数据类型分的比较细: 整数数据、 字符数据、 货币数据、日期和时间数据、二进制字符串等 数据类型 所属类型 所占字节 范围 tinyint 精确数字类型 1字节 0 ~ 255 smallint 精确数字类型 2字节 -215(-32768)~215-1(32767) int 精确数字类型 4字节 -231 (- 阅读全文

SQL 2000自定义函数调用GETDATE()报错

2011-03-23 22:38 by 潇湘隐者, 2504 阅读, 收藏,
摘要: 在SQL 2000数据库里的自定义函数中调用GETDATE()时,结果编译时报错,提示错误如下:Invalid use of 'getdate' within a function我给个测试例子如下所示,--================================================================================================-- Author : Kerry-- CreateDate : 2011-03-23-- Description : ... 阅读全文

Access数据库问题锦集

2011-03-13 19:07 by 潇湘隐者, 997 阅读, 收藏,
摘要: 很少采用Access做数据库开发,前段时间,朋友接了一个小单,让我帮忙做后台开发,采用Access + Asp.Net开发,结果在开发过程使用Access碰到不少问题,所以把这些问题总结一下,希望对其它人有些帮助1: Access分页脚本问题使用Access作为数据库开发系统时,页面数据分页的方案有好几种: 1.1 使用DataGridView自带的分页功能. 1.2. 使用SELECTTOP NOT IN 来实现。类似如下所示:SELECT TOP 100 [ID] , [Message] , [CreateDate]FROM ScrollMessageWHERE ID NOT IN ( S 阅读全文

ROW_NUMBER () 与 PARTITION 组合妙用

2010-12-27 18:32 by 潇湘隐者, 1377 阅读, 收藏,
摘要: 前几天在一个群里面,有位网友问:在一个Book表里面里有字段AuthorID与Author表关联,现在要求按PublishDate字段倒序排列,列出每个作者的前五本书。要求有没有一条语句搞定的. 当时有个网友说不能一条语句解决问题,说只能用游标或临时表来解决。恰好我前阵子在整报表时遇到过类似的问题,当时解决过这个问题。当时我就告诉他用ROW_NUMBER与PARTITION来解决(前提是SQL SERVER 05或以上版本)。恰好现在有时间。正好把这个整理一下,即是对知识的梳理、巩固、总结,也希望能给其他人一些帮助建表脚本代码代码下面就是解决问题的脚本代码 阅读全文

SQL Server 复制需要有实际的服务器名称才能连接到服务器

2010-12-27 17:21 by 潇湘隐者, 6002 阅读, 收藏,
摘要: 机子由于在捣鼓DAC连接方式时,计算机名被修改了,被改成了kerry,直到最近几天由于计算机改名了,这个潜在的问题(本机数据库只是偶尔那里做实验)终于爆发了:我用连接服务器从其它服务器拷贝数据时报错,错误如下:SQL Server 复制需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP 地址或任何其他备用名称进行连接。请指定实际的服务器名称“xxxx”。 (Replication.Utilities):具体情况如图所示解决方法:从sys.sysservers 查看列 svrname 可以发现不是新的计算机名,问题就出在此处(如图所示)。先用 sp_dropserver 删除服务 阅读全文

T-SQL 编码标准【转帖】

2010-11-21 23:23 by 潇湘隐者, 798 阅读, 收藏,
摘要: 本文转自:http://www.microsoft.com/china/msdn/library/data/sqlserver/sp04l9.mspx?mfr=true可能让人觉得很奇怪,但好像的确没有什么“正式的”T-SQL 编码标准。早在 1999 年末的时候,我惊喜地发现 John Hindmarsh 提出的 SQL Server 7.0 标准,我在 2000 年 2 月的社论中对他的某些建议进行了总结。(2000 年 2 月以及本月的“下载”中都包括了 John 原来的标准。)后来,Ron Talmage 撰写了一系列专栏文章,提出了他对各种“最佳方法”的建议,当然,SQL Serve 阅读全文

SQL SERVER 的模糊查询 LIKE

2010-10-14 17:00 by 潇湘隐者, 6104 阅读, 收藏,
摘要: 今天写个动态脚本,需要把数据库里面包含“USER_"的表删除掉,突然想不起来如何搜索通配字符了,赶紧查查MSDN,整理了下模糊查询的知识点,留着以后查阅用。LIKE模糊查询的通配符 通配符 说明 示例 % 包含零个或多个字符的任意字符串。 WHERE title LIKE '%computer%'将查找在书名中任意位置包含单词"computer"的所有书名。 _(下划线) 任何单个字... 阅读全文

慎用SELECT INTO复制表

2010-10-12 12:18 by 潇湘隐者, 7885 阅读, 收藏,
摘要: 很多时候我们习惯于用SELECT INTO复制一个表或表结构,因为它方便,快捷,而且在某些情况下效率比INSERT INTO 效率要高一些。但是要注意: SELECT INTO 复制表或表结构的时候,只是得到了一个“外壳”,就像克隆人一样,只是得到了一个躯体,个人的意识、回忆都不会克隆的。像原表的主键、外键、约束、触发器、索引都不会被复制过来。这点要注意哦,在某些情况下,没... 阅读全文

SQL Server 2008 打SP1 补丁遇到的问题

2010-09-21 17:05 by 潇湘隐者, 5529 阅读, 收藏,
摘要: 今天在我机器上给SQL Server 2008 打上SP1补丁时,错误不断,郁闷死了。我的机器是XP Server Pack 3, SQL Server 2008 版本:SQL Server 2008 版本Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--... 阅读全文

SQL Server 2008 筛选器报错Microsoft.SqlServer.Management.Sdk.Sfc

2010-09-21 14:53 by 潇湘隐者, 2615 阅读, 收藏,
摘要: 在Microsoft SQL Server 数据库中有时候经常需要筛选表,因为数据中表比较多时,不仅从一堆表里面找一个表比较麻烦,而且客户端从服务器加载这些信息需要一些时间。前两天安装了SQL Server 2008,结果在筛选表时,报如下错误:点击确定后,然后“表(已筛选)”,弹出如下错误提示。这个是因为没有打上SQL Server 2008 Service Pack 1... 阅读全文