-
用SQL2005的row_number()自定义分页存储过程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:118
编程之家 jb51.cc 利用SQL2005的row_number()重新写了个自定义分页存储过程,以下是代码: 以下为引用的内容: --@Tablename 表名 --@Orderby 排序的字段名 --@Index 页码 --@Size 页大小 ALTER PROCEDURE uspPaging @Tablename varchar(20),@Orderby varcha[详细]
-
综合分析 SQL SERVER 性能优化
所属栏目:[MsSql教程] 日期:2020-12-12 热度:52
编程之家 jb51.cc 近期因工作需要,希望比较全面的总结下SQL SERVER数据库性能优化相关的注意事项,在网上搜索了一下,发现很多文章,有的都列出了上百条,但是仔细看发现,有很多似是而非或者过时(可能对SQL SERVER6.5以前的版本或者ORACLE是适用的)的信息,只[详细]
-
Sql Server 2008修改表结构后无法保存的问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:191
装了SqlServer2008很久了,今天是第一次使用,结果在修改一张表的结构保存时,提示您对无法重新创建的标进行了更改或者启用了阻止保存要求重新创建表的更改选项。,试了几次一直是这个错误,删除表后重建,然后还是发生了这个错误。于是寻求谷歌的帮助,发现[详细]
-
Sql判断数据库、表、存储过程、函数是否存在
所属栏目:[MsSql教程] 日期:2020-12-12 热度:118
判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 判断表是否存在 if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id,N'IsUserTable') = 1) drop t[详细]
-
SQL Server 2005 通用分页存储过程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:106
通过SQLServer 2005之后新加入的ROW_NUMBER()函数进行分页:set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: Author,Name-- Description: 通用分页存储过程-- ===================================[详细]
-
浅析SQL2008的Change Data Capture功能
所属栏目:[MsSql教程] 日期:2020-12-12 热度:69
在常见的企业数据平台管理中有一项任务是一直困扰SQL Server DBA们的,这就是对数据更新的监控。很多数据应用都需要捕获对业务数据表的更新。笔者见过几种解决方案: 1、在数据表中加入特殊的标志列; 2、 通过在数据表上创建触发器; 3、通过第三方产品,例[详细]
-
SQL Server 2008 多版本并发控制
所属栏目:[MsSql教程] 日期:2020-12-12 热度:199
数据库的一致性,也是衡量DBMS性能的重要指标之一。目前大多数商业数据库(DB2,SQL Server)的并发控制采用的是两阶段锁(Two-Phase Locking,2PL)协议,2PL保证了并发事务执行的可串行化。但2PL在对任何数据进行读、写操作之前,需要对该数据加锁。在封锁相容[详细]
-
SQL Server CONVERT() 函数
所属栏目:[MsSql教程] 日期:2020-12-12 热度:121
定义和用法 CONVERT() 函数是把日期转换为新数据类型的通用函数。 CONVERT() 函数可以用不同的格式显示日期/时间数据。 语法 CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_conve[详细]
-
SqlServer编译、重编译与执行计划重用原理
所属栏目:[MsSql教程] 日期:2020-12-12 热度:127
当 Sql Server 收到任何一个指令,包括:查询、批处理、存储过程、触发器、预编译指令和动态SQL Server语句,要完成语法解析、语义分析,然后再进行编译,生成能够运行的执行计划。在编译的过程中,SQL Server 会根据所涉及的对象的架构、统计信息,以及指令[详细]
-
MSSQL高可用性和扩展性
所属栏目:[MsSql教程] 日期:2020-12-12 热度:160
在众多主流关系型数据库中Oracle的集中型(Rac),Mysql 的分布型(Repl) 前者往往依赖于主流厂商的硬件,纵向扩展负载CPU,面对IO的压力只能水平垂直拆分业务. 后者未被Oracle收购前版本在面对存储单点故障时M_M_S的结构又不那么灵活.而Mssql属于2者中间.在面对不[详细]
-
Sql server中Case when遇上null值
所属栏目:[MsSql教程] 日期:2020-12-12 热度:102
利用存储过程对表中记录进行update,是很常见,也很容易的,但是如果更新的表有字段是允许null的、需要对是否为null做不同处理,同时该存储过程的执行命令是用sp_executesql,你会怎么处理呢,相信很多人第一时间想到的也是在update语句里用case when吧。如[详细]
-
如何使用SQL Server数据库查询累计值
所属栏目:[MsSql教程] 日期:2020-12-12 热度:106
有这样一个要求,它要创建一个SQL Server查询,其中包括基于事件时刻的累计值。典型的例子就是一个银行账户,因为你每一次都是在不同的时间去存钱和取钱。对任意一个账户来说,在某个时间点都要算出它的借(存款)和贷(取款)之和。每一笔交易之后,你都想[详细]
-
SQL2000数据库定期自动备份与修改
所属栏目:[MsSql教程] 日期:2020-12-12 热度:137
在SQL server企业管理器中,可以设置数据库的定期自动备份计划,并通过启动SQL Server Agent 来自动运行备份计划,具体步骤如下: 1、打开企业管理器,在控制台根目录里中依次点开 Microsoft SQL Servers--SQL Server组--双击打开你的服务器。 2、然后点上面[详细]
-
使用aspnet_regsql创建AspNetDB.mdf数据库
所属栏目:[MsSql教程] 日期:2020-12-12 热度:111
关于 AspNetDB.mdf由于没有aspnetdb.mdf数据库,因此得先建立一个,这个可以通过aspnet_regsql.exe完成,该程序位于C:WINDOWSMicrosoft.NETFrameworkv2.0.50727下。 1、运行它之后会弹出的窗口:按Next 按钮 2、我们会发现除了有配置数据库外,还有删除数据[详细]
-
SQL Server存储过程入门案例详解
所属栏目:[MsSql教程] 日期:2020-12-12 热度:116
【专家网独家】 问题提出 我使用过几次SQL Server,但所有与数据库的交互都是通过应用程序的编码来实现的。我不知到在哪里使用存储过程,也不了解实现存储过程需要做哪些工作。希望能详细说明。 专家答疑 存储过程是存储于数据库中的一组T-SQL语句。有了存储[详细]
-
聚集索引与非聚集索引哪个更快一些?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:199
大概数周之前,因为公司招人,想在网上找点面试题借用借用,于是无意中找到这样一道数据库题: 索引有那两种形式?分别有什么优缺点? 文章作者给出的答案是: 聚集索引:表中存储的数据按照索引的顺序存储,检索效率比非聚集索引高,但对数据更新影响较大。[详细]
-
SQL中nchar,char,varchar与nvarchar区别
所属栏目:[MsSql教程] 日期:2020-12-12 热度:118
char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义 char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。因为是固定长度,所以速度效率高。 Varchar类[详细]
-
Excel 导入Sql Server 数据库脚本
所属栏目:[MsSql教程] 日期:2020-12-12 热度:121
简单但很实用的一段SQL脚本,相信大家在做新旧系统升级时会经常用到. 受以前旧同事之托,在博客里发这段脚本: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure SELECT * INTO tmp_asse[详细]
-
Access数据导入SQL Server错误 0xC0202009的解决办法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:80
在使用Access 2000/2003导入MSSQL Server 2000/2005/2008时,出现了一段错误提示:对连接管理器SourceConnectionOLEDB的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。(SQL Server 导入和导出向导) 英文为:The AcquireConnection method call t[详细]
-
Sql Server 查询列名不为某名的列
所属栏目:[MsSql教程] 日期:2020-12-12 热度:64
由于列为动态生成,为了从数据库中直接查找出列名不为 DECLARE @STR VARCHAR(8000) DECLARE @STR2 VARCHAR(8000) SELECT @STR=ISNULL(@STR+',','')+NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('主表名称') AND NAME!='主键' SELECT @STR2=ISNULL(@STR2+','')+N[详细]
-
Sql server注入方式与安全防护的学习
所属栏目:[MsSql教程] 日期:2020-12-12 热度:191
建站学院转载 自己的开发机经历了两次的中毒现像.每次中毒的现像,都是sqlserver.exe进程去执行cmd.com进程,然后生成*.sys与*.bat两个文件,然后去使用ftp.exe去下载木马下载器,然后杀毒软件开始报警了. 下面是cmd.com执行指令内容 C:WINDOWSsystem32cmd.com /[详细]
-
SQL Server 中 datepart 函数的使用
所属栏目:[MsSql教程] 日期:2020-12-12 热度:137
该函数是用来提取年份,月份,日期的一个函数,带两参数,第一个为(yy,mm,dd)其中一个,表示年月日,第二个参数为字段名称 比如提取某一年的记录 select * from Employee e where datepart(yy,e.LastLoginTime)=2009 返回2009年所有记录 select * from Emplo[详细]
-
SQL触发器删除数据库中的级联记录
所属栏目:[MsSql教程] 日期:2020-12-12 热度:104
SQL触发器:当改变(增、删、改)数据表的记录时,绑定在SQL语句(增、删、改)中的触发器能够触发某些事件或者函数,所以我们可以在触发器中编写一些处理语句。 比如,当我们删除新闻类别的时候,由于外键的原因,我们无法删除新闻类别下有新闻内容的记录,[详细]
-
附加SQL Server数据库时为只读的解决方法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:195
现象: 运行.Net的程序时,提示:无法更新数据库 C:PROGRAM FILESMICROSOFT ASP.NETASP.NET AJAX SAMPLE APPLICATIONSV1.0.61025CONTACTSAPP_DATACONTACTS.MDF,因为数据库是只读的。 环境: web.config配置: 运行 SQL Server Management Studio(开始,运行[详细]
-
实例代码:可以有效防止sql注入
所属栏目:[MsSql教程] 日期:2020-12-12 热度:111
编程之家 jb51.cc:我们先来看一段代码: /// summary /// 移除字符串中的可能引起危险Sql字符 /// /summary /// param name=str/param /// returns/returns public static string RemoveSqlUnsafeString(string str) { string p = @[-|;|,|/|(|)|[|]|}|{|%|[详细]