很多开发人员,包括数据库管理员都有马失前蹄的时候,update/delete时忘记了添加where条件,导致不必要的麻烦.一旦失误,必须要尝试各种恢复手段来恢复数据,尤其是正在使用的生产数据库,造成的影响可想而知,有些新手估计都要吓哭了... 如下,用触发器来避免这样的误操作,当然故意为之,不再此讨论范围: use DBName if (object_id('tgr_XX_Where_Clause', 'tr') is not null) drop trigger tgr_XX_Where_Cl…
原文:SQL Server 内存泄露(memory leak)--游标导致的内存问题 转自:http://blogs.msdn.com/b/apgcdsd/archive/2011/07/01/sql-server-memory-leak.aspx 问题描述:客户反映SQL Server运行一段时间就会报出内存不足的错误,怀疑是有内存泄露.从SQL Server的error log里面看如下错误信息: 2009-05-14 10:54:20.71 server Error: 17803, Sev…
SQL Server 日期的加减函数: DATEDIFF    DATEADD DATEDIFF: 返回跨两个指定日期的日期边界数和时间边界数, 语法:DATEDIFF ( datepart , startdate , enddate ) 用 enddate 减去 startdate    注:datepart 指定应在日期的哪一部分计算差额的参数,其日期相减时,只关注边界值,例SELECT DATEDIFF(YEAR,'2008-12-31','2009-1-1') 返回 1      DAT…
SQL Server数据库账号密码变更后导致vCenter Server无法访问数据库 1.1状况描述: 若SQL Server数据库的账号(这里以sa为例)密码发生了变更,那么连接数据的客户端vCenter Server也得相应更改,不然会出现在vCenter上ODBC数据源测试连接数据库成功,而数据库所在服务器日志显示客户端sa账号登陆身份验证错误,从而导致vCenter Server的VMware VirtualCenter Server服务无法启动,vclient登陆vCenter失败的…
--sql server给表加说明: --banner EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Banner' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Banner' --News 资讯 EXEC sys.sp_addextendedproperty @name=N'MS_Descript…
SQL SERVER 2012数据库:开启防火墙导致外部无法连接数据库解决办法 将以下代码存为OpenSqlServerPort.bat文件: netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80 @echo =========  SQL Server Ports  =================== @echo Enabling S…
原文:SQL Server中bcp命令的用法以及数据批量导入导出 1.bcp命令参数解析 bcp命令有许多参数,下面给出bcp命令参数的简要解析 用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件 [-m 最大错误数] [-f 格式化文件] [-e 错误文件] [-F 首行] [-L 末行] [-b 批大小] [-n 本机类型] [-c 字符类型] [-w 宽字符类型] [-N 将非文本保持为本机类型] [-V 文件格式版本…
开发人员遇到一个及其诡异的的SQL性能问题,这段完整SQL语句如下所示: declare @UserId             INT declare @PSANo              VARCHAR(200) declare @ShipMode           VARCHAR(10) declare @CY_FLAG            VARCHAR(1) declare @PO                 VARCHAR(20) declare @BuyerName   …
SQL Server 2008 开始支持 MERGE语句    -- 源表 CREATE TABLE test_from (id INT, val VARCHAR(20));   -- 目标表 CREATE TABLE test_to (id INT, val VARCHAR(20));   -- 插入源表 INSERT INTO test_from VALUES (1, 'A'); INSERT INTO test_from VALUES (2, 'B');   -- 合并 源表到目标表 ME…
VC2010 ADO 连接SQL SERVER 2008,127.0.0.1,1433,要加上端口,否则连不上.注意:地址和端口之间使用逗号隔开. 连接SQL SERVER 2000可以不加端口号,使用默认的1433.  本文用菊子曰发布…