标签存档: ms sql

简单统计SQLSERVER用户数据表大小(包括记录总数和空间占用情况)

/* 1. exec sp_spaceused ‘表名’ (SQL统计数据,大量事务操作后可能不准) 2. exec sp_spaceused ‘表名’, true (更新表的空间大小,准确的表空大小,但可能会花些统计时间) 3. exec sp_spaceused (数据库大小查询) 4. exec sp_MSforeachtable “exec sp_spaceused ‘?’” (所有用户表空间表小,SQL统计数据,,大量事务操作后可能不准) 5. exec sp_MSforeachtable “exec sp_spaceused ‘?’,true” (所有用户表空间表小,大数据库慎用) */
阅读全文——共469字

sql server 2005 使用命令行备份数据

使用sql server 2005提供的命令行工具sqlcmd,配合任务计划可以完成命令行形式的定期备份。
假定备份的数据库地址是 192.168.0.1,数据库名为testdb,sa密码为123456,备份目录为D盘的backup
使用sql语句备份如下:
backup database testdb to disk=’d:\backup\testdb.bak’
阅读全文——共6997字

如何将MS SQL server数据库设置为单用户模式

提问:
如何将数据库设置为单用户模式,并将访问限制为只供 dbo 使用?
解答:
在 sql server 2000 中,数据库不能同时为单用户模式和只供 dbo 使用模式。而以下可选选项可以通过使用 alter database 命令来使用:
阅读全文——共305字

PHP+MSSQL TEXT字段被截断的解决方案

在连接mssql 数据库前,先执行如下php代码,对mssql库的textlimit进行运行时改变设置。
ini_set(‘mssql.textlimit’,4294967296);
ini_set(‘mssql.textsize’,4294967296);
4294967296=65536^2  ,对于大多数情况,这个长度已经足够用了;如果text字段最大长度比4294967296还大,那就自己把这个值改得更大一点.
阅读全文——共1540字

php中ms sql server日期时间类型转换convert函数日期格式(转换成 unix时间戳等多种格式)

写一个转换程序,旨在把一套asp+mssql博客系统数据迁移到php+mysql系统下,需要转换日期类型(mssql数据库里的日期时间类型datetime值)为unix时间戳,但发现mssql里读取到的时间通过
$dateline=(int)strtotime($row[‘addtime’]);
转换,得到的值是0,很奇怪;检查后发现,$row[‘addtime’]的时间格式不太正常,形式如下:
06 28 2007 2:21PM
阅读全文——共2299字

mssql server 清空事务日志

1.清空日志:DUMP   TRANSACTION   databasename   WITH   NO_LOG
2.截断事务日志:BACKUP   LOG   databasename   WITH   NO_LOG
3.收缩数据库:DBCC   SHRINKDATABASE(databasename)
DUMP TRANSACTION databasename WITH NO_LOG
阅读全文——共233字

SQL Server中truncate、delete和drop的异同点

正在加载数据…
  相同点:
  truncate和不带where子句的delete,以及drop都会删除表内的数据
  不同点:
阅读全文——共843字

MS SQL 2005 四个排序函数ROW_NUMBER、RANK、DENSE_RANK 和 NTILE简介用法/结果排名排序

在SQL 2005中存在四种排名函数: ROW_NUMBER、RANK、DENSE_RANK 和 NTILE。这些新函数可以有效地分析数据以及向查询的结果行提供排序值。您可能发现这些新函数有用的典型方案包括:将连续整数分配给结果行,以便进行表 示、分页、计分和绘制直方图。 下面通过具体的方案将用来讨论和演示不同的函数和它们的子句。 十一位演讲者在会议中发表演讲,并且为他们的讲话获得范围为 1 到 9 的分数。结果被总结并存储在下面的 SpeakerStats 表中:
CodeCREATE TABLE SpeakerStats( speaker VARCHAR(10) NOT NULL PRIMARY KEY , track VARCHAR(10) NOT NULL , score INT NOT NULL , pctfilledevals INT NOT NULL , numsessions INT NOT NULL)
阅读全文——共7218字

数据库中乱码记录查找与删除/sql server剔除乱码行

乱码一般都是正常编码被错误的解析而导致。每个错误的编码,都会对应着一个正确的编码,也就是,出现频率高的乱码字符,其实就是出现高频字符(一般都是汉字)对应的乱码。所以说,如果找到高频字符对应的乱码,在sql表里,使用like 查询即可以找到乱码行。也就是说,查找到一系列高频乱码字符,就可以很容易的查找到绝大多数乱码行。由于有乱码的表里存储的数据可能是不同行业、不同领域的信息,高频汉字可能不尽相同。(生命科学领域里,细、胞、蛋、白、质、核、酸等这些字频率会非常高;而计算机领域里,内、存、储、变、量、进、程等汉字会是调频汉字;其它领域亦类似)。所以查找剔除乱码记录时,最好是整理一个最准确乱码字符表。下面给出一个整理乱码表比较直接、有效的方法(是笔者所探索发现的方法):  1. 找到一定数量的乱码记录(建议在200条以上)  2. 把这些乱码整理出来,并拆分成单字,并统计每个单字出现频率。(建议使用excel+UE/editplus等工具)  3. 取最高频的50个单字(这里当然是要找明显是乱码的单字;也可以不是50个字,80个100个也行)  4. 使用UE或excel生成对应的50个sql like语句,形式如下select * from [乱码表] where [乱码字段] like ‘%锛%’ select * from [乱码表] where [乱码字段] like ‘%绂%’select * from [乱码表] where [乱码字段] like ‘%脠%’select * from [乱码表] where [乱码字段] like ‘%┖%’select * from [乱码表] where [乱码字段] like ‘%锲%’……
阅读全文——共1443字

inet_ntoa() inet_aton()microsoft sql server(mssql)版 /点分十进制IP地址与整形数字IP相互转换

if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[inet_ntoa]’)   and   xtype   in   (N’FN’,   N’IF’,   N’TF’))  drop   function   [dbo].[inet_ntoa]  GO     /**//*–整形数字IP转换成点分十进制IP地址–*/  /**//*–调用示例  select   dbo.[inet_ntoa](3232235531)  select   dbo.[inet_ntoa](212336641)  –*/  CREATE   FUNCTION   [inet_ntoa](    @IP   bigint     )RETURNS   varchar(15)     AS     BEGIN     DECLARE   @re   varchar(15)     SET   @re=”     SELECT   @re=@re+’.’+CAST(@IP/ID   as   varchar)     ,@IP=@IP%ID     from(     SELECT   ID=CAST(16777216   as   bigint)     UNION   ALL   SELECT   65536     UNION   ALL   SELECT   256     UNION   ALL   SELECT   1)a     RETURN(STUFF(@re,1,1,”))     END  
阅读全文——共1281字

Pages: 1 2 3 4 5 Next