个人博客

  • 使用ApexSQLLog2014 恢复被删除的数据

    在工作中偶尔会遇到某些人操作数据库的时候没有加条件, 导致数据库中的数据被删除或者数据被批量更新,这个可以说是灭顶之灾, 话虽如此, 不过还是得想尽一些办法去找回数据,下面就来看一下,如果误删数据应该怎么找回。我之前写过一篇文章, 介绍的是Sql (SQL SERVER 2012 误删数据恢复过程)的还原方式, 不过由于太过于繁琐, 这里就不推荐使用了。 先看一下具体怎么操作吧,这里有一张Use_City表,现在将里面的数据全部删除,现在我们就打开ApexSQLLog, 用来恢复被删除的数据。双击ApexSQLLog文件夹下ApexSQLLog.exe文件然后设置一下数据库连接

    白码驿站2019-06-29 SQL Server

    阅读更多
  • sql 中 对nvarchar(max)存在的误区

    问题: 系统有一个发送邮件的存储过程,里面定义了一个变量 @html varchar(Max),将HTML代码存储到变量中, 结果邮件的内容被截断了, 找了很久发现是因为 varchar(max) 原因。在 SQL 中 变量类型定义成varchar(max), 最多只能存储8000字符(以前一直以为是长度不限的)。我们来验证一下:DECLARE @test NVARCHAR(MAX)SET @test = REPLICATE('*', 9000);PRINT LEN(@test)输出:“8000”我们可以看到, 超过8000的字符全部都被截断了认识到这一点, 问题就迎刃而解了。虽说只是一个小小

    白码驿站2019-02-21 SQL Server

    阅读更多
  • Sql 查询时候,有个别表一直显示“正在执行中...”,但是其他表都是正常的(解决死锁问题)

    Sql 查询时候,有个别表一直显示“正在执行中...”,但是其他表都是正常的(解决死锁问题)

    问题 今天在查询语句的时候,发现职位表一直显示正在查询中(表中的数据并不是很多),但是其他的表查询都是正常的原因 问题真的是很奇怪,于是去百度,找了很久发现可能是进程阻塞造成的解决 使用下面的语句可以轻松查询出是因为那些进程造成数据库死锁的。DECLARE @spid INT , @bl INT; DECLARE s_cur CURSORFOR SELECT 0 , blocked FROM ( SELECT * FROM sys.sysprocesses WHERE

    白码驿站2018-10-16 SQL Server

    阅读更多
  • sql 中如何将一个数据库生成脚本文件

    sql  中如何将一个数据库生成脚本文件

    有些人离职之后,都喜欢把原有自己做的项目做个备份, 当然数据库也不例外,不过数据库比较大,而且还都是在联机状态,总不能断开数据库, 然后去拷贝数据库文件吧,这显然是不可能的,下面我就来给大家介绍一种方法, 不需要断开连接, 即可拷贝数据库文件(将数据库生成脚本, 然后执行脚本就又重新生成数据库文件了。)第一步数据库右键-》任务-》生成脚本文件第二步选择“选择特定数据库对象” , 可以全部勾选第三步 这里需要注意下,高级里面有个选项--要编写脚本的数据库类型,这个选项默认是 仅限架构,不明思议, 这句话是说, 只生成数据库框架, 如果想把数据也弄出来的话, 就选择“架构和数

    白码驿站2018-09-28 SQL Server

    阅读更多
  • 使用sqlcmd 解决 Sql脚本太大,无法打开的问题,

    有些人离职之后,都喜欢把原有自己做的项目做个备份, 当然数据库也不例外, 虽然是测试数据库, 但是生成的脚本还是很大的, 动辄就几个G,如果想双击打开,估计是不可能, 这个时候只能借助sqlcmd命令来解决了,具体操作如下:第一步: 在数据库中执行下面的sql语句(获得数据库服务器名称)select @@servername第二步:通过运行指令执行脚本(-U , -P 一定要大写)sqlCmd -S 数据库服务器名称 -U 登录名 -P 密码 -d 数据库名称 -i 脚本路径更多参数如下: [-U 登录 ID][-P 密码] [-S 服务器][-H 主机名][-E 可信连接

    白码驿站2018-09-28 SQL Server

    阅读更多
  • 打开Sql Server 报错 (在此计算机中仅有部分visual studio2010产品已升级到SP1,只有全部升级,产品才能正常运行....)

    打开Sql Server 报错 (在此计算机中仅有部分visual studio2010产品已升级到SP1,只有全部升级,产品才能正常运行....)

    开始安装vs2010的时候中途报错了,电脑被重启了,开机后我继续安装,然后找不到vs的启动快捷方式,开始里面没有,打开sql server 也报错, 错误信息为:“在此计算机中仅有部分visual studio2010产品已升级到SP1,只有全部升级,产品才能正常运行。若要升级,请关闭所有Visual Studio产品,然后安装Microsoft Visual Studio 2010 Service Pack 1,您可以从此处进行下载。如果在维护模式下开始安装,请选择'修复”。Microsoft SQL Server Management Studio现在将关闭。”。妈耶,我开

    白码驿站2018-09-26 软件

    阅读更多
  • SQL SERVER 2012 误删数据恢复过程

    SQL SERVER 2012 误删数据恢复过程

    在工作中偶尔会遇到某些人操作数据库的时候没有加条件, 导致数据库中的数据被删除或者数据被批量更新,这个可以说是灭顶之灾, 话虽如此, 不过还是得想尽一些办法去找回数据,下面就来看一下,如果误删数据应该怎么找回。 环境搭建 首先我搭建了一个测试环境,数据库名:Demo 表名:FF_Test ,顺便加了一些测试数据我们需要看一下数据库的恢复模式是不是“完整”,如果不是,需要改为“完整”(数据库右键-》属性-》选项)一般情况下, 创建数据库默认就是“完整”模式, 如果不是的话, 估计还原数据是有难度的,注:这一系列操作的前提是有数据库备份,不然的话就没啥戏了, 所

    白码驿站2018-09-17 SQL Server

    阅读更多
  • 使用 CREATE PARTITION SCHEME 建立分区方案,以及参数介绍

    建立分区方案(在当前数据库中创建一个将已分区表或已分区索引的分区映射到文件组的方案。 已分区表或已分区索引的分区的个数和域在分区函数中确定)语法:CREATE PARTITION SCHEME partition_scheme_name AS PARTITION partition_function_name [ ALL ] TO ( { file_group_name | [ PRIMARY ] } [ ,...n ] ) [ ; ]参数:partition_scheme_name分区方案的名称。 分区方案名称在数据库中必须是唯一的,并且符合标识符规则。partitio

    白码驿站2018-09-05 SQL Server

    阅读更多
  • 使用CREATE PARTITION FUNCTION 建立分区函数,以及参数介绍

    建立分区函数(在当前数据库中创建一个函数,该函数可根据指定列的值将表或索引的各行映射到分区。 使用 CREATE PARTITION FUNCTION 是创建已分区表或索引的第一步)语法:CREATE PARTITION FUNCTION partition_function_name (input_parameter_type) AS RANGE [ LEFT | RIGHT ] FOR VALUES ( [ boundary_value [ ,...n ] ] ) [ ; ]参数: partition_function_name是分区函数的名称。 分区函数名称在数

    白码驿站2018-09-05 SQL Server

    阅读更多
  • sql Service 海量数据查询,如何提高查询效率--数据库分区

    sql Service 海量数据查询,如何提高查询效率--数据库分区

    问题:有一个张销售表, 每天会插入数万条销售数据,随着数据的增加, 查询越来越慢,加上各种筛选条件,查询速度就更慢了,例如数据库分区可以有效解决这个问题。下面就来看一下如何实现sql service 数据库分区。 假设:有一张销售表,里面有两百万条数据(这个还算少了, 怎么也得千万级以上),查询条件, 往年的数据按照年份来查询, 当年的数据按照季度来查询。 根据假设, 我们先弄出一个测试环境吧, 首先我创建了一个数据库, 名字叫 FenQuDemo , 建了一张销售表, 名字叫 FF_SellTable,然后往表里插入了两百万行数据我们右键查看FF_SellTa

    白码驿站2018-09-05 SQL Server

    阅读更多
  • sql Service 海量数据查询,如何提高查询效率--SQL语句优化

    1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描;2、应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num=10 or num=20 可以这样查询: select id from t where num=10 union all select id from t where num=20;3、in 和 not in 也要慎用,否则会导致全表扫描,如: select id from t where num in(1,2,3) 对于连续的数值,能用

    白码驿站2018-09-04 SQL Server

    阅读更多
  • sql Service 海量数据查询,如何提高查询效率--数据库设计

    1、对查询语句进行优化,应该尽量避免全表扫描,首先要考虑在 WHERE 及 ORDER BY 涉及的列上建立索引;2、应该尽量避免在 WHERE 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,例如: SELECT id FROM tab WHERE text IS NULL 可以在text上设置默认值0或者空(''),确保表中text列没有null值,然后这样查询:SELECT id FROM tab WHERE text = 0 或者 SELECT id FROM tab WHERE text='';3、并不是所有索引对查询都有效,SQL是根据表中数据来进行查

    白码驿站2018-09-03 SQL Server

    阅读更多
总计 47 条 当前第 1 页共 4 页
系统处理中...