
sql server
左直拳
程序猿
展开
-
sql server 2008 express的防火墙配置
老革命遇上新问题。曾几何时,我因为用sql server时间比较长,相对比较熟悉,不料今天却因为防火墙设置,局域网的开发机器无法访问服务器上的sql server而搞来搞去,一个上午就搭进去了。试来试去,最后可以,记录一下。一、基本情况操作系统:windows 2008 server数据库: sql server 2008 express服务器本机可以访问sql server,但局域网上其他机器则不行。关掉服务器上的防火墙,外部可以访问,说明是防火墙问题。二、修改步骤1、启动 sql serv原创 2022-03-16 16:27:39 · 2616 阅读 · 0 评论 -
java:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接:“The server selected protocol version TLS10 is not a
jdk1.8的较高版本有些设置做了调整,修改%JAVA_HOME%/jre/lib/security/java.security。题目限制了字数,完整错误是这样的:com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client prefere原创 2021-07-24 13:03:48 · 17527 阅读 · 21 评论 -
数据库反规范化设计及物理分区
应对数量过多,可以采用反规范化设计或者物理分区应对。一、反规范化设计规范化设计,范式等级越来越高,表越分越细,在消除冗余数据的同时,不得不关联多表才能获得完整的数据,有时会带来一点性能问题。因此反规范设计,也是一种对策。常见的反规范设计包括1、增加冗余列2、增加派生列增加的列,由同一表内的其他若干字段计算所得?3、重新组表就是调整表设计?4、表分割包括水平分割和垂直分割。1)...原创 2020-02-07 12:10:00 · 959 阅读 · 0 评论 -
安装sql server遇到的古怪错误
有些错误的原因你真是做梦都想不到。前两天我重装SQL SERVER2000,结果在安装到数据库访问组件(MDAC)时出现了错误提示:SQL Redistcontent: Command line option syntax error. Type Command /? for Help.what is this?以前从来没有出现过这样的情况啊。我也没放在心上,按下确定,继续安装。安装完成后,数据库原创 2005-07-19 19:18:00 · 2802 阅读 · 0 评论 -
解决SqlTransaction用尽的问题
解决SqlTransaction用尽的问题有时候程序处理的数据量比较小时,四平八稳,一切安然无恙,但数据量一大,原先潜伏的问题就暴露无遗了。我做的一个项目,是负责一个厂的考勤的。厂里有员工1000多号人。按每人每天打4次卡,一个月30天,则产生的考勤记录数目为1000 * 4 * 30 = 120,000条。在处理这些记录时,我采用的办法是先生成SQL语句,然后执行这些SQL语句: Sql原创 2005-10-07 22:31:00 · 3131 阅读 · 0 评论 -
Localhost与数据库连接
Localhost与数据库连接前几天我到客户那里实施,在一台新装的机器上安装我们的软件。配置如下:操作系统:windows2003数据库:SQL SERVER 2000支撑环境:.NET FRAMEWORK 1.1应用软件安装好后,登陆时提示“数据库连接失败”。其中服务器=localhost,也就是本机了,数据库名也正确无误。奇怪啊。以前可没出过这种问题。按道理讲,本机已经原创 2006-01-23 11:38:00 · 4390 阅读 · 0 评论 -
减小SQL SERVER的日志文件
减小SQL SERVER的日志文件左直拳在使用数据库的过程中,频繁的新增、修改、删除,导致日志文件越来越大,甚至比数据库文件本身还大。在企业管理器里面,好象并不能直接将该日志文件删除。限制文件的大小,只能是停留在目前的水平,比如,当前的日志文件是500M,那么你只能限制它大小为501M。当然在创建数据库的时候,可以指定日志文件的大小,例如10M。不过,也不知道到达了10M后系统会怎么样原创 2006-04-11 14:31:00 · 3062 阅读 · 0 评论 -
SQL SERVER 2005中的数据参照完整性
SQL SERVER 2005中的数据参照完整性左直拳 因为工作的关系,最近用上了SQL SERVER 2005。但为了设置两个表间的数据参照完整性,着实费了一些工夫。变化真是太大了,变得真不敢相信这还是微软的SQL SERVER。以前,有多少人是因为SQL SERVER的简单易用,傻瓜式操作而使用它的呢?也许功能是强大了好多,可也不至于要改得面目全非吧。当初,SQL SERVER20原创 2006-08-24 11:44:00 · 3977 阅读 · 1 评论 -
一条SQL语句
一条SQL语句 左直拳如何写好SQL语句是一门很高深的学问,也有许多东西要学。今天因为工作的关系,需要用SQL语句进行统计,求一个平均数,发现可以这样写:SELECT (SELECT COUNT(1) AS stakeout FROM [表名A])/(SELECT COUNT(1) AS [user] FROM [表名B]) AS num,type=AVERAGE一条原创 2006-09-29 11:28:00 · 2271 阅读 · 0 评论 -
并非万能的XML
并非万能的XML左直拳XML是个炙手可热的东西,出来很多年了,好象还听说将取代HTML(不过直到今天HTML1.1还健在,其实我认为两者很大程度上并无可比性)。有一次我去面试,人家问我熟不熟悉XML,答曰不会,结果被“人来落闸放狗”地赶了出来。现在我已经在一些地方应用到了XML。众所周知,。NET与XML绑得很紧,比如DataSet,比如WEB SERVICE传递的参数以及返回值。做产原创 2006-06-09 18:22:00 · 3205 阅读 · 0 评论 -
从EXCEL导入数据到SQL SERVER
从EXCEL导入数据到SQL SERVER左直拳介绍两种途径将数据从EXCEL中导入到SQL SERVER。一、 在程序中,用ADO.NET。代码如下: //连接串string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + [E原创 2006-06-22 18:50:00 · 5877 阅读 · 4 评论 -
文章内容相关性统计
文章内容相关性统计左直拳 内容相关性我能想到的是比较两篇文章提取出来的标签。每篇文章都可以提取出一些出现频率比较高的词语,就是标签,存放在数据库里。并且存放的时候已经按出现频率从高到低排列,频率高的标签保存在前面,低的在后面。假定标签表结构如下PageTag 字段原创 2007-08-02 15:21:00 · 1900 阅读 · 0 评论 -
抱SQL SERVER大腿之从巨大表中提炼非重复数据
抱SQL SERVER大腿之从巨大表中提炼非重复数据左直拳 有一个表,2千多万条记录,其中有很大部分只有一两个字段的内容不同,可视为重复记录。现在要从这个表里提炼出不重复的部分,转移到另一个新表里。同时这个转移不是简单的复制,因为两表的结构不同,新表中的新字段需要赋值。凭我那两下子,是这么搞的:1、不能用一条SQL语句搞定(也许有,我写不出来)。要用循环;2、使用临时表;原创 2007-05-10 17:09:00 · 1806 阅读 · 0 评论 -
抱SQL SERVER大腿之我爱用视图
抱SQL SERVER大腿之我爱用视图左直拳 我们拥有一个巨大的表,两千多万条记录。也许在行家眼里,两千多万条记录顶多算条毛,不过这条毛也忒粗壮了一点:我们的数据库占用的空间已经达到5G多了。不要以为是日志文件在搞鬼,日志文件可以自动收缩的,最多不超过100M。这样子就给我们备份、同步带来很大的麻烦。备份、压缩、下载,谁见谁害怕。昨天想了个办法,将这个巨无霸分出去了。分到原创 2007-05-10 17:43:00 · 2174 阅读 · 0 评论 -
用临时表改善嵌套SQL语句的执行速度
用临时表改善嵌套SQL语句的执行速度左直拳 这两天检查一条嵌套SQL语句,发觉非常耗时。形如:SELECT KeyId,COUNT(1) AS Num FROM Table1WHERE 1=1AND CreateDate>=2007-09-21 AND KeyId IN(SELECT KeyId FROM Table2 WHERE Id=1611)GR原创 2007-09-30 17:03:00 · 3108 阅读 · 0 评论 -
跨机器访问SQL SERVER数据库
跨机器访问SQL SERVER数据库左直拳 如果在SQL SERVER上想访问另一台机器上的数据库,怎么办呢? 一、运行以下代码: EXEC sp_addlinkedserver 别名,NSQL Server go exec sp_addlinkedsrvlogin 别名,false,NULL,目标数据库的帐号,目标数据库原创 2007-12-04 23:24:00 · 1874 阅读 · 0 评论 -
我的数据库不能启动了
我的数据库不能启动了左直拳 我的MS SQL SERVER2005闲置了很长一段时间没有用,平时都是连公共开发服务器的,为了省资源,将它设为手动启动,并且停止了。今天想用一下,却发觉不能启动了。 提示我去看事件查看器。里面的原因如下:文件 "C:/Program Files/Microsoft SQL Server/MSSQL.3/MSSQL/DATA/mastlog.ld原创 2008-01-02 12:18:00 · 2719 阅读 · 1 评论 -
创建索引视图时提示架构绑定无效,名称必须由两部分构成
创建索引视图时提示架构绑定无效,名称必须由两部分构成左直拳 创建索引视图诸多限制。例如视图引用表要在同一数据库,不能含有子查询,绑定架构,等等。这些对我都一度造成困惑。现在又遇到了新问题:CREATE VIEW [dbo].[vW_S]WITH SCHEMABINDING ASSELECT a.F1,a.F2, a.F3FROM dbo.原创 2008-01-04 16:59:00 · 8898 阅读 · 2 评论 -
使用游标会更好
使用游标会更好左直拳 有两个表,一个比较巨大,大约1千万条记录(表Big),另一个只有5000条(表small)。现在需要根据表small来更新表Big。UPDATE Big SET Bf1=0 WHERE BigId IN(SELECT BigId FROM Small WHERE Sf1>0)但是这样执行下来,速度非常慢,并且连接使用这台DB服务器的程序也都慢了下来,几原创 2008-04-17 15:02:00 · 1854 阅读 · 0 评论 -
MS SQL导入平面文件源
MS SQL不支持备份、还原单个表,可是导入平面文件源的数据也忒麻烦了一点。经过试验,总结导入平面文件源数据的经验如下:1、 一定要在数据库所在的机器上进行导入。在另一台机器上访问目标数据库并进行导入,即使帐号是sa,也照样不成功;2、 源文件里的列要尽可能跟目标表的类型、长度一致;这个可以在“选择数据源-高级”里面设置。导出原创 2008-09-19 15:09:00 · 3741 阅读 · 1 评论 -
利用SQL SERVER建立登录WINDOWS帐号
利用SQL SERVER建立登录WINDOWS帐号左直拳 那一刻,我的心跳到了嗓子眼。运行建立帐号命令,OK!远程登录,输入帐号,密码,OK!终于又进去了! ×××××××××××××××××××我忽然发现,数据库服务器登录不了了。提示帐号密码过期。按提示修改,提交,又说我没权限修改密码!CNM,这样来害我。这个帐号属于administrators,原原创 2008-11-06 15:21:00 · 2543 阅读 · 0 评论 -
SQL SERVER 里的错误处理(try catch)
SQL SERVER里,也有TRY CATCH。格式如下 BEGIN TRY ……END TRYBEGIN CATCH ……END CATCH。 另外,WITH 语句如果前面还有别的SQL语句,应该在前面的SQL语句结尾加上分号";"。比如在这个TRY CATCH里,就应该在前面加个";",如下: BEGIN TRY原创 2009-02-02 12:01:00 · 2322 阅读 · 0 评论 -
一条DELETE语句
WITH w AS( SELECT Id,ROW_NUMBER() OVER(ORDER BY Id DESC) AS [Row] FROM [t1] WHERE Code=@Code ) DELETE FROM t1 FROM t1 s INNER JOIN w ON s.Id=w.Id WHERE w.Row>100原创 2009-02-02 12:11:00 · 1677 阅读 · 0 评论 -
SQL 标量值函数的调用
调用 MS SQL 标量值函数,应该在函数前面加上 "dbo.",否则会报 “不是可以识别的 内置函数名称”错误。例如 DECLARE @WhichDB TINYINT; SELECT @WhichDB = dbo.user_GetWhichDB(1);--看看是哪个数据库的 另外,标量值函数就相当于一个变量,而不是一个表,所以这样写是错误的:原创 2009-11-04 10:23:00 · 13782 阅读 · 0 评论 -
如何给OPENQUERY传递参数
发现SQL SERVER里,直接调用链接服务器的函数是不可以的。CREATE FUNCTION func_Test( @UserId INT)RETURNS TABLE ASRETURN ( SELECT * FROM [192.168.0.252].[User].dbo.func_GetData(@UserId))GO会原创 2009-11-10 09:51:00 · 11154 阅读 · 0 评论 -
数据库迁移:从SQL2005到SQL2008
最近我们网站新增了一台数据库服务器,需要将现有的主要数据库迁移到新服务器上。现有的这台数据库服务器装的是SQL2005。考虑到SQL2008已经出来很久了,想必已经比较成熟,功能又比2005强,据说2005是个过渡产品,趁现在是台全新的服务器,索性安装SQL 2008,不然以后再升级可能更麻烦。2008肯定可以兼容2005,问题是,我们除了这台主数据库,还有原创 2010-01-20 16:56:00 · 8981 阅读 · 2 评论 -
保证唯一性只能靠建唯一索引
在数据库里面,如果想保证某个字段的唯一性,一定要建唯一索引,而不能指望在插入或更新前的代码检测。比如 IF NOT EXISTS(SELECT 1 FROM User WHERE Email=@Email){ INSERT …}1、 这种做法不能保证并发情况下一定正确;2、 数据库忙的时候,可能会出现令人意外的结果。原创 2009-12-03 18:27:00 · 2023 阅读 · 1 评论 -
让SQL SERVER突破2G内存限制
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE原创 2010-02-05 16:54:00 · 2827 阅读 · 0 评论 -
老老实实做好备份才是硬道理
以前没有定期备份,悔恨莫及。如果是数据库高手,遇到这种情况,可能有办法挽回损失,但如果平时有做备份,像我这样的低手,也可以搞定啊!原创 2010-06-28 17:31:00 · 1686 阅读 · 0 评论 -
午夜搬运工
有约不来到夜半,闲敲棋子落灯花。原创 2010-06-29 18:29:00 · 2000 阅读 · 0 评论 -
不用写成 if @i=1 OR @i=2 OR ... 这么蠢
原来 Transact-SQL可以这样写原创 2010-06-29 11:31:00 · 1910 阅读 · 0 评论 -
特殊字符保存到SQL数据库的问题
用Char、Vachar可以兼容汉字,但特殊字符不行原创 2010-07-13 10:14:00 · 3654 阅读 · 0 评论 -
调用远程数据库的函数
这样子写: SELECT * FROM OPENQUERY([192.168.0.1],SELECT * FROM [db].dbo.User_Func_List()) 没有问题。这样子写:SELECT a.*,b.* FROM a,OPENQUERY([192.168.0.1],SELECT * FROM [db].dbo.User_Func_L原创 2010-05-20 15:23:00 · 1845 阅读 · 0 评论 -
SQL SERVER 2008的数据压缩
据库服务器的瓶颈往往在于硬盘。压缩的意义,就是将硬盘的压力转一部分到CPU。原创 2010-05-31 18:18:00 · 2078 阅读 · 1 评论 -
网站的安全与稳定
俺根据经验和网上资料写的。原创 2010-07-29 18:00:00 · 1666 阅读 · 0 评论 -
查看分区在哪个文件组
SQL SERVER的分区表,如果想知道哪条记录位于哪个分区,然后该分区对应的是哪个文件组,可以这样查找。着实费了一番功夫。原创 2010-08-04 19:03:00 · 3181 阅读 · 0 评论 -
SQL SERVER 表及索引分区
分区表的主键如何处理不得不谨慎原创 2010-06-10 14:41:00 · 2948 阅读 · 0 评论 -
向现有表添加标识列(IDENTITY)
可以向现有表添加标识列(IDENTITY)原创 2010-06-12 18:13:00 · 1760 阅读 · 0 评论 -
SQL SERVER 表分区造成插入慢?
<br />某日,我将一个有数千万条记录的表分区之后,数据库CPU一下子飙升到100%。<br />性能不降反升,什么道理?<br />因为这个表每天都有约500万条记录插入,难道是表压缩和索引压缩的缘故?去掉压缩,没什么变化。<br />索引只有两个,跟之前数量一样,应该也不是索引太多。<br />取消分区,CPU回复正常。难道分区是罪魁祸首?<br />然而不能不分区的。我也不相信是分区的缘故,有资料说分区后,不仅是查询快,插入也会快。<br />主要是索引的问题。因为需要用到分原创 2010-08-12 12:32:00 · 3070 阅读 · 0 评论 -
利用远程数据库存储过程的OUTPUT参数来获得返回值
返回值真的起作用。如果有一些运算或数据必须要放在远程数据库处理,值得考虑。原创 2010-08-20 10:23:00 · 1902 阅读 · 1 评论