-
sql-server 2005数据库文件恢复:检测到基于一致性的逻辑 I/O错误
所属栏目:[MsSql教程] 日期:2016-09-30 热度:59
今天sql-server数据库突然报错: SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x7c781313,但实际为: 0x67a313c9)。在文件 'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAE_BLOCK_DB.mdf' 中、偏移量为 0x00000000a3400[详细]
-
Sql Server中如何查询表中各列名称和表中列数
所属栏目:[MsSql教程] 日期:2016-09-28 热度:161
查询表名为tb_menu的所有列名 select name from syscolumns where id=object_id('tb_menu') 查询表名为tb_menu的所有列名个数 select count(name) from syscolumns where id=object_id('tb_menu') 或者 select count(syscolumns.name) from syscolumns ,sy[详细]
-
如何使用SQL生成DateTime.Ticks
所属栏目:[MsSql教程] 日期:2016-09-28 热度:159
在项目中我需要使用到一个随机数(Random Number),该随机数将作为 Hashtable 中的 Key 用于唯一索引数据,所以需要保持单机唯一性。 同时该随机数还需要具备可排序性以便对数据进行排序。 此时,我可以考虑使用随机字符串《C#生成MongoDB中的ObjectId》[详细]
-
如何在存储过程中执行别的存储过程并获取其返回的结果集
所属栏目:[MsSql教程] 日期:2016-09-28 热度:135
背景 在sqlserver存储过程的编写过程中,通常会碰到繁杂的业务逻辑,将一个大的存储过程拆分成多个小存储过程来做是常用的做法。 问题 在存储过程A中需要调用存储过程B,而存储过程B返回一个Table,A需要获取到B的Table,再进行下一步的处理。 本文解决的[详细]
-
从sql走向linq的问题
所属栏目:[MsSql教程] 日期:2016-09-28 热度:173
A left (outer) join B on A.bid=B.id 上面这句话叫做左连接,原因是left(左)join(加入,连入)被译为左连接,所以,这是关于语法中关键字的翻译,而非连接原理,造成不能以为是从第一张表的左边连接。相反,它是从A表的右边开始连接的。原因很简单,比如[详细]
-
Unused Index Script脚本的几个问题
所属栏目:[MsSql教程] 日期:2016-09-27 热度:98
以前使用过网上下载的脚本查询没有使用过的Index比如SQL SERVER 2008 Unused Index Script Download,其实现在看起来这个脚本是有一些问题。 脚本如下: -- UnusedIndex Script -- Original Author:Pinal Dave (C) 2011 SELECTTOP 25 o.name AS ObjectName[详细]
-
DBCC CHECK命令执行后会缓存扫描过的页面吗
所属栏目:[MsSql教程] 日期:2016-09-27 热度:89
我们都知道,凡是数据库都会尽量把使用过的数据页缓存到内存中,以便下次使用时能尽快的被获取,SQL Server也不例外。但是对于DBCC CHECK命令也是如此吗?你猜? 我用我的测试环境中最大的一张表,202兆,进行测试。 更多精彩内容:http://www.bianceng.cn[详细]
-
Sql Server实时错误:对象变量或with块变量未设置
所属栏目:[MsSql教程] 日期:2016-09-27 热度:97
大家这几天在做学生信息管理系统的时候,出现 最多的应该就是这个问题了,实时错误91:对象变量或with块变量未设置。如右图: 遇到这个问题,我们首先应该去参考MSDN,不过这时候MSDN似乎没有帮到我们很多,总结了一下,其实出现这个错误的情况有很多种:[详细]
-
SQL Server使用链接服务器的5个性能杀手
所属栏目:[MsSql教程] 日期:2016-09-27 热度:89
副标题#e# 当使用链接服务器(Linked Servers)时,最昂贵的代价就是网络带宽间大量数据的传输。在正确的服务器书写正确的代码是非常重要的,因为每一个错误都会导致在网络带宽上付出非常昂贵的代价。 下面是使用链接服务器(Linked Servers)时的几个常见[详细]
-
数据库还原成功后数据库依然处于还原状态
所属栏目:[MsSql教程] 日期:2016-09-27 热度:137
今天在还原数据库的时候,在ssms用以下代码还原数据库: RESTORE DATABASE [TEST] FROM DISK = N'D:TEST.BAK' WITH FILE = 1, MOVE N'TEST' TO N'C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAtest.mdf', MOVE N'TEST_log'[详细]
-
Sql Server中操作表及表结构的Select合集
所属栏目:[MsSql教程] 日期:2016-09-27 热度:57
1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 EXEC sp_rename '[dbo].[Table_1].[[详细]
-
Sql Server中循环和条件语句的使用示例
所属栏目:[MsSql教程] 日期:2016-09-27 热度:120
-- ╔════════╗ -- =============================== ║ if语句使用示例 ║ -- ╚════════╝ declare @a int set @a=12 if @a100 begin print @a end else begin print 'no' end -- ╔══════════╗ -- =======================[详细]
-
Sql Server中如何让程序暂停几秒中再执行后面的命令
所属栏目:[MsSql教程] 日期:2016-09-27 热度:178
-- 语法 WAITFOR { DELAY 'time_to_pass' | TIME 'time_to_execute' | [ ( receive_statement ) | ( get_conversation_group_statement ) ] [ , TIMEOUT timeout ] } 注意:Delay最多不超过24小时 waitfor delay'00:00:10' -- 暂停10秒 select GETDATE() WA[详细]
-
使用T-SQL的好习惯
所属栏目:[MsSql教程] 日期:2016-09-27 热度:64
副标题#e# 1.在生产环境中不要出现Select * 这一点我想大家已经是比较熟知了,这样的错误相信会犯的人不会太多。但我这里还是要说一下。 不使用Select *的原因主要不是坊间所流传的将*解析成具体的列需要产生消耗,这点消耗在我看来完全可以忽略不计。更主[详细]
-
T-SQL查询进阶:视图详解
所属栏目:[MsSql教程] 日期:2016-09-27 热度:192
副标题#e# 简介 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口.常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata. 视图简单的理解如下: 通过视图,客户端不再需要知道底层table[详细]
-
T-SQL查询进阶:流程控制语句
所属栏目:[MsSql教程] 日期:2016-09-27 热度:63
副标题#e# 概述 和其他高级语言一样,T-SQL中也有用于控制流程的语句。T-SQL中的流程控制语句进一步扩展了T-SQL的力量使得大部分业务逻辑可以在数据库层面进行。但很多人对T-SQL中的流程控制语句并没有系统的了解,本篇文章会系统的对T-SQL语句中的流程控制[详细]
-
T-SQL查询进阶:深入理解子查询
所属栏目:[MsSql教程] 日期:2016-09-27 热度:125
副标题#e# 引言 SQL有着非常强大且灵活的查询方式,而多表连接操作往往也可以用子查询进行替代,本篇文章将会讲述子查询的方方面面。 简介 子查询本质上是嵌套进其他SELECT,UPDATE,INSERT,DELETE语句的一个被限制的SELECT语句,在子查询中,只有下面几个子句[详细]
-
SQL Server误区:有关堆碎片的误区
所属栏目:[MsSql教程] 日期:2016-09-27 热度:87
误区 #29:可以通过对堆建聚集索引再DROP后进行堆上的碎片整理 Nooooooooooooo!!! 对堆建聚集索引再DROP在我看来是除了收缩数据库之外最2的事了。 如果你通过sys.dm_db_index_physical_stats(或是老版本的DBCC SHOWCONTIG)看到堆上有碎片,绝对不要通过建立[详细]
-
SQL Server误区:有关大容量事务日志恢复模式的误区
所属栏目:[MsSql教程] 日期:2016-09-27 热度:190
误区 #28:有关大容量事务日志恢复模式的几个误区 28 a)常见的DML操作可以被最小记录日志 不是。在大容量事务日志恢复模式下只有一小部分批量操作可以被最小记录日志,这类操作的列表可以在Operations That Can Be Minimally Logged找到。这是适合SQL Server[详细]
-
SQL Server误区:使用BACKUP ... WITH CHECKSUM可以替代DBCC CheckDB
所属栏目:[MsSql教程] 日期:2016-09-27 热度:115
误区 #27:使用BACKUP ... WITH CHECKSUM可以替代DBCC CheckDB 错误 乍一看,由于BACKUP WITH CHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQL Server 2000或是更早版本升上来的数据库page[详细]
-
SQL Server误区:有关填充因子的误区
所属栏目:[MsSql教程] 日期:2016-09-27 热度:192
误区 #25:多个有关填充因子的误区 都是错误的 25a) 填充因子是一直存在的 不是的,通过Books Online可以看到(译者:我在新版的BOL没有找到这句话): 重要: 填充因子仅仅在索引创建或重建时生效,SQL Server存储引擎并不会一直保证页内的空闲值和填充因子保[详细]
-
SQL Server误区:26个有关还原(Restore)的误区
所属栏目:[MsSql教程] 日期:2016-09-27 热度:51
本系列文章一直所没有触及的就是有关还原(Restore)的话题,因为一旦牵扯到这个话题就会涉及大量的误区,多到我无法通过一篇文章说完的地步。 事实上,我希望用字母表的顺序为每一个误区进行编号,希望你看了不要昏昏欲睡。下面开始揭穿这26个误区。 Myth #[详细]
-
SQL Server误区:有关锁升级的误区
所属栏目:[MsSql教程] 日期:2016-09-27 热度:171
误区 #23: 锁升级的过程是由行锁升级到页锁,再由页锁升级到表锁 错误 实际不是,在SQL Server 2005和之前的版本,锁升级会直接升到表锁。 在SQL Server 2005或SQL Server 2008,你可以通过如下跟踪标志改变锁升级的行为: 标志1211-完全禁止锁升级,但锁使[详细]
-
数据库损坏可以通过重启MSSQL或是Windows或是附加和分离数据库解决
所属栏目:[MsSql教程] 日期:2016-09-27 热度:95
误区 #21:数据库损坏可以通过重启SQL Server或是Windows,或是附加和分离数据库解决 错误 SQL Server中没有任何一项操作可以修复数据损坏。损坏的页当然需要通过某种机制进行修复或是恢复-但绝不是通过重启动SQL Server,Windows亦或是分离附加数据库。 而实[详细]
-
SQL Server误区:在破坏日志备份链后需要完整备份来重新开始日志链
所属栏目:[MsSql教程] 日期:2016-09-27 热度:161
误区 #20:在破坏日志备份链之后,需要一个完整备份来重新开始日志链 错误 事务日志备份会备份自上次事务日志备份以来所有的事务日志(如果从来没有过日志备份的话,那就从上一次完整备份开始)。有好几种类型的操作会中断事务日志的连续性,也就是说除非重新[详细]