sqlserver2000订阅发布同步数据报错时间:2011-3-26背景:生产数据库有100+G,需要做一个订阅发布来容灾。订阅为请求订阅,分发服务器和发布服务器是同一个服务器问题:发布订阅都已经完毕,在数据库使用快照同步时,报错:报错内容大致如下:bcp遇到意外的eof。网上也有同类型的报错,但是很多都是因为发生错误的那张表中存在LOB数据类型导致。该报错表上没有LOB字段,但是有一个varchar(2000)的字段,数据一共也只有100+(R)。具体
系统 2019-08-12 01:32:23 1959
SQLServer2008中SQL应用系列--目录索引导读:本文主要涉及ServiceBroker的基本概念及建立一个ServiceBroker应用程序的基本步骤。一、前言:ServiceBroker为SQLServer提供消息队列,这提供了从数据库中发送异步事务性消息队列的方法。ServiceBroker消息可以保证以适当的顺序或原始的发送顺序不重复地一次性接收。并且因为内建在SQLServer中,这些消息在数据库发生故障时是可以恢复的,也可以随数据库一
系统 2019-08-29 23:29:01 1954
1、首先确定自己的iis没有问题2、其次确定自己sqlserver没有问题然后在iis的文件夹wwwroot里,建立一个文件名为testSqlServer.asp,编写代码例如以下就可以<%oledb连接setcnn1=Server.CreateObject("ADODB.Connection")连接串需要注意sqlserver的实例名,是否是默认,非默认必需要写出来cnn1.Open"provider=sqloledb;datasource=./sqle
系统 2019-08-12 01:55:03 1952
原文:SQLSERVERPRINT语句的换行SQLSERVERPRINT语句的换行想在输出的PRINT语句里面换行,可以这样做/*SQL的换行制表符CHAR(9)换行符CHAR(10)回车CHAR(13)*/PRINT'Test'+CHAR(13)+'Name'PRINT'Test'+CHAR(10)+'Age'PRINT'Test'+CHAR(9)+'Tel'--以文本格式显示结果SELECT'AAA'+CHAR(10)+'BBB'--AAABBBSEL
系统 2019-08-12 01:33:15 1952
原文:SQLServer2008性能故障排查(一)——概论备注:本人花了大量下班时间翻译,绝无抄袭,允许转载,但请注明出处。由于篇幅长,无法一篇博文全部说完,同时也没那么快全部翻译完,所以按章节发布。由于本人水平有限,翻译结果肯定存在问题,为了不造成误导,在每篇结尾处都附上原文,供大家参考,也希望能指出我的问题,以便改进。谢谢。另外,本文写给稍微有经验的数据库开发人员或者DBA看,初学者可能会看不懂。在此请见谅作者:SunilAgarwal,BorisBa
系统 2019-08-12 01:54:52 1951
原文:SQLServer管理员专用连接的使用作为一名DBA,经常会处理一些比较棘手的服务无响应问题,鉴于事态的严重性,多数DBA可能直接用“重启”大法,以便尽快的恢复生产环境的正常运转,但是多数情况下我们却无法究其原因,即使产生了dump文件,没有微软的支持,我们同样被蒙在鼓里,幸好微软给我们留了一条“后路”,供我们在SQL服务无法连接时,使用它连接并查看“病因”,那就是DAC,dedicatedadministratorconnection,管理员专用连
系统 2019-08-12 01:54:46 1951
查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效应。3、没有创建计算列导致查询不优化。4、内存不足5、网络速度慢6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量)7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷)8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。9、返回了不必要的行和列10、查询语句不好,没有优化可以通过如
系统 2019-08-12 01:51:51 1950
原文:配置SQLServer2008的资源调控器实现负载均衡转自:http://www.ithov.com/server/93267.shtml1、为什么引入“资源调控器”?在SQLServer2008之前,数据库引擎曾尝试为所有并发用户提供均衡的性能,这使我们几乎无法控制分配给用户或工作负载的优先级,而且随着并发登录的增加会雪上加霜。“资源调控器”有助于防止性能问题,并识别正在使用的应用程序。“资源调控器”可以控制分配给会话的CPU和内存,并进一步设置应
系统 2019-08-12 01:51:34 1950
今天有个朋友很着急地打电话给我,他用delete语句误删除了SQLServer2008数据库中两个表中的所有记录,而这个数据库之前没有任何备份。让我帮他解决一下,不然他要赔偿客户很多钱。SQLServer中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:1.至少有一个误删除之前的数据库完全备份。2.数据库的恢复模式(Recoverymode)是“完整(Full)”。针对这两个前提条件,会有三种情况:情况一、如果这两个前
系统 2019-08-12 01:51:32 1949
/*2005版本和2000版本sqlserver错误日志结果不同。下面是适用于SQL2000的其中加入了自己编写的一个ftp小程序用来上传相关日志状况*/IFobject_id('tempdb..#error_log')ISNOTNULLDROPTABLE#error_loggo--2000CREATETABLE#error_log(idINTIDENTITY(1,1),ErrorContentVARCHAR(8000),continueRowint)in
系统 2019-08-12 01:34:02 1949
--检测CPU压力的一个方法是计算运行状态下的工作进程数量,--通过执行如下的DMV查询可以得到这个信息SELECTCOUNT(*)ASworkers_waiting_for_cpu,t2.scheduler_idFROMsys.dm_os_workersASt1,sys.dm_os_schedulersASt2WHEREt1.state='RUNNABLE'ANDt1.scheduler_address=t2.scheduler_addressANDt2
系统 2019-08-12 01:32:36 1948
(1)存储过程建立USE[NewPlat]GO/******Object:StoredProcedure[dbo].[usp_PagingLarge]ScriptDate:07/11/201308:27:44******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCreatePROCEDURE[dbo].[usp_PagingLarge]@TableNamesVARCHAR(200),--表名,可以是多个表,但不能用
系统 2019-08-12 01:54:38 1947
方法一、CREATETABLE[dbo].[Users](IdINTEGERIDENTITY(1,1)PRIMARYKEY,NameNVARCHAR(50)NOTNULL);GO//循环插值DECLARE@CounterINTEGERSET@Counter=1WHILE(@Counter<=100)BEGININSERTUsers(Name)VALUES('TestUsers#'+CAST(@CounterASVARCHAR(10)))SET@Counte
系统 2019-08-12 01:51:35 1944
原文:SQLServer判断表中是否存在某字段功能:判断表中是否存在某字段,若不存在,则新增该字段语句:IFNOTEXIST(SELECT1FROM[DATABASE].SYS.SYSCOLUMNSWHEREID=OBJECT_ID([DATABASE].[SCHEMA].[TABLENAME])ANDNAME='COLUMN_NAME')ALTERTABLE[TABLENAME]ADD[COLUMN_NAME][COLUMN_TYPE]p.s.之前sql
系统 2019-08-12 01:53:25 1943
目录清单CONTEXTLIST1.数据库DataBase1.1数据库建立/删除create/dropdatabase1.2数据库备份与恢复backup/restoredatabase2.数据查询DATAQUERYLANGUAGE2.1选择查询SelectQuery2.2聚集查询AggregateQuery2.3子查询SubQuery2.4连接查询TableJoins2.5汇总查询GroupQuery3.数据修改DATAMODIFYLANGUAGE3.1插入
系统 2019-08-12 01:52:36 1943