sqlserver
sqlserver实战
huryer
keep simple, keep stupid.
展开
-
Sqlserver2005数据库还原到sqlserver2012
问题描述还原sqlserver2005数据库到sqlserver2012时,提示错误:无法执行BACKUP LOG,因为当前没有数据库备份。解决办法:勾选:覆盖现有数据库(WITH REPLACE)取消:结尾日志备份–END–原创 2021-08-16 11:08:25 · 1045 阅读 · 0 评论 -
sqlserver 表分区优化
适用于sqlserver 2005+添加文件组-- 添加文件组ALTER DATABASE [testdb] ADD FILEGROUP [fg2011]GOALTER DATABASE [testdb] ADD FILEGROUP [fg2012]GOALTER DATABASE [testdb] ADD FILEGROUP [fg2013]GOALTER DATABASE [testdb] ADD FILEGROUP [fg2014]GOALTER DATABASE [testdb原创 2021-01-18 12:24:18 · 418 阅读 · 0 评论 -
sqlserver创建用户角色与授权
sqlserver创建用户角色与授权需求描述:web应用开发sqlserver作为数据存储,默认使用sa进行业务操作,如果发生用户密码泄露,危害性极大。解决办法:根据各业务库新建用户,专门用于特定数据库;创建用户与授权脚本--创建登陆帐户(create login)create login new_user with password='123456', default_databa...原创 2020-04-07 08:57:14 · 6418 阅读 · 0 评论 -
Sqlserver-jTDS驱动参数介绍
Sqlserver-jTDS驱动参数介绍jTDS的URL格式为: jdbc:jtds:<服务器类型>:// <服务器> [:<端口>] [/ <数据库>] [; <属性> = <值> [; ...]]其中是`'sqlserver'` 或之一`'sybase'`(其含义非常明显) 是数据库服务器正在侦听的端口(对于...原创 2020-03-26 15:48:46 · 2330 阅读 · 0 评论 -
sqlserver 连接远程sqlserver数据库
/*2019-02-19 17:42:41 @hurysqlserver 连接远程sqlserver数据库*//*1、新增链接服务器*/exec sp_addlinkedserver @server='remote_server', /*链接服务器的名称*/ @srvproduct='', @provider='SQLOLEDB', @datasrc='12...原创 2019-02-22 16:44:48 · 6630 阅读 · 0 评论 -
oracle、sqlserver、db2写入性能对比
服务器配置服务器类型cpu内存Windows 2008 R23216G数据库配置数据库类型CPU内存oracle 11gR2默认值8Gsqlserver 2005默认值8Gdb2 10.5默认值8G测试输出列含义输出列名称含义DB_Type数据库类型:oracle,sqlserver,d...原创 2019-04-01 14:26:23 · 2049 阅读 · 0 评论 -
查看数据库字符集
问题描述最近发现在不同的数据库中,有时中文占用2个字节,有时占用3个字节;经过分析,发现如果数据库字符集使用utf-8编码,那么varchar类型的字段,3个字节表示一个中文;如果使用gbk,则2个字节表示一个中文,数据库字符集查看方式如下:查看数据库字符集/*UTF8是一种针对Unicode的可变长度字符编码,对英文使用8位(1个字节)编码,中文使用24位(3个字节)编码GB...原创 2019-06-21 11:25:02 · 20520 阅读 · 0 评论 -
sqlserver 计算数据列统计信息
sqlserver版本 2008需求描述:oracle 系统表 user_tab_cols 提供数据列的各种统计信息,包括:低值(low_value),高值(high_value),不同值的数量(num_distinct),空值数量(num_nulls)sqlserver系统表 sys.columns 中未提供相关内容,只能通过如下方式单独查看每一个表的状态:DBCC SHOW_STAT...原创 2019-08-28 12:23:21 · 1652 阅读 · 0 评论 -
SQLServer2005 采用xp_fixeddrives+xp_cmdshell获取获取磁盘信息
关键字SQLServer2005 xp_fixeddrives xp_cmdshell概述:目标数据库为sqlserver,在进行etl数据采集过程中,会产生大量的数据与日志,如果磁盘空间不足,将严重影响etl传输效率,本文讲解如果通过xp_fixeddrives+xp_cmdshell获取获取磁盘信息。当需要维护的sqlserver服务器较多时,可以通过etl将各服务器的磁盘信息抓取到独...原创 2019-09-29 10:47:29 · 825 阅读 · 0 评论 -
oracle 执行操作系统命令
问题描述Oracle数据库安装在windows 2008 远程服务器上,今天发现无法远程登录到windows,需要远程重启操作系统;通过远程重启命令:shutdown /r /m \\192.168.1.2 /t 10仍然无法重启系统;想到sqlserver可以通过xp_cmdshell执行操作系统命令,实现重启;需要分析oracle是否有类似功能可以实现执行操作系统命令;解决办法/*...原创 2019-01-29 15:23:53 · 2075 阅读 · 0 评论 -
Sqlserver 收缩数据库导致OGG进程挂起
问题描述:每日定时进行sqlserver数据库备份,每次备份完成后,ogg抽取进程挂起;问题分析:收缩数据库,将执行如下sql命令:DBCC SHRINKDATABASE(N’bshis’, 10, TRUNCATEONLY)经测试,数据库经过日志收缩,全量备份后,ogg无法正常采集日志。解决办法:打开ogg 目录,新建脚本【修复ogg进程.bat】,内容如下:@echo off...原创 2018-11-29 11:35:04 · 739 阅读 · 0 评论 -
OGG-00146 OGG抽取进程状态:ABENDED
问题描述:启动源端ogg进程(start *),检查进程状态(info all),发现ext001状态为:ABENDED检查进程日志:view report ext001,提示如下错误:问题分析:出现该问题,可能原因如下:数据库日志被手工清空:DUMP TRANSACTION xxx WITH NO_LOG;解决办法:如果知道确切的异常发生时间点,则修改抽取进程,从指定时间点开始抽...原创 2018-11-29 11:29:42 · 9703 阅读 · 0 评论 -
sqlserver 更新表统计信息
sqlserver 更新表统计信息当数据库运行几周或几月后,对于某个已知的sql(如2个大表的联合查询),使用sqldbx评估的性能消耗为:0.002**,但是实际执行时间远远超过预期,约20分钟查询无结果; 此时需要考虑更新数据库统计信息,脚本如下:EXEC sp_updatestats 执行上述脚本后,再次评估sql执行性能,评估结果约为:14.*,执行sql,执行时间约为1分钟;注意:此命令原创 2017-08-15 14:20:27 · 3469 阅读 · 0 评论 -
sqlserver 性能优化流程
sqlserver 性能优化流程数据库作为数据的主要载体,当用户突然反馈数据库出现性能下降时,问题的原因往往多种资源相互作用的结果。 本文总结了一次实际工作中遇到的典型案例,方便同类问题的处理。1、Windows 日志-系统【现象描述】 2017-01-01 至今,windows日志中存在大量磁盘,网络等硬件错误,且故障时间多发生在业务高峰时间;硬件问题汇总信息如下:磁盘错误汇总: 传呼期间在原创 2017-08-15 15:05:02 · 6459 阅读 · 0 评论 -
sqlserver 获取汉字拼音首字母
sqlserver 获取汉字拼音首字母调用方式:select dbo.fun_getPY(‘张三’) as result脚本:create function [dbo].[fun_getPY](@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nvarchar(1),@PY nvarchar(4000) s转载 2017-11-16 09:33:22 · 4271 阅读 · 0 评论 -
SQLServer 事务超时测试
2016-9-26 16:13:45 @hurySQLServer 事务超时测试1.当前查询超时设置exec sp_configure 'query wait (s)' 2.超时测试打开第1个窗口-- 建立临时表CREATE TABLE t(id int);-- 开启事务BEGIN TRANSACTION-- 写入测试数据INSERT INTO t values(1);打开第2个窗口--原创 2016-09-26 17:48:30 · 4224 阅读 · 0 评论 -
sqlserver 2005 查看客户端IP
sqlserver 2005 查看客户端IPSELECT TOP 10 a.spid /*进程ID*/, a.loginame /*用户*/, db_name(a.dbid) AS dbname /*数据库*/, a.status /*状态*/, a.open_tran /*打开事务数*/, a.blocked /*阻塞者*/, (SELECT CASE WHEN count(1)>0原创 2017-12-14 14:48:20 · 1078 阅读 · 0 评论 -
sqlserver连接oracle数据库
用途: 在sqlserver服务中,直接访问oracle表,视图对象。 (ps:没有找到实际的应用场景,至少好奇玩玩)1、配置本地oracle服务连接 假设服务名字为:bslisDb2、新增链接服务器exec sp_addlinkedserver @server='db', /*应用登录映射的链接服务器的名称*/ @srvproduct='Oracle', @provider=原创 2017-02-07 16:00:18 · 4158 阅读 · 0 评论 -
windows 2003 远程注销用户
需求描述:远程登录windows 2003 服务器,偶尔会提示:超过最大用户数;需求分析:windows 2003 服务器,远程连接退出后,可能出现连接不释放,导致出现此问题。由于服务器上运行着sqlserver2005,可以通过命令xp_cmdshell远程注销用户;解决办法:-- 查询远程登录用户xp_cmdshell 'query user';-- 注销远程用户:...原创 2018-04-16 08:35:08 · 940 阅读 · 0 评论 -
sqlserver 生成连续数值,字母,字符
-- 生成连续数值(0-9)WITH x AS (SELECT 0 AS id UNION ALL SELECT id + 1 AS id FROM x WHERE id &amp;lt; 9)SELECT *FROM x;-- 生成连续字母(a-z)WITH x AS (SELECT 1 AS id UNION ALL SELECT id + ...原创 2018-10-30 10:39:29 · 1825 阅读 · 0 评论 -
如何使用sql表示正则表达式:[a-z][0-9a-z]
需求描述:使用sql生成2位字符,遵循正则表达式:[a-z][0-9a-z]正则表达式含义:第1位:从a-z顺序进行编码;第2位:从0-9,a-z进行编码;-- 生成算法WITH x1 (id , cc) AS (SELECT 0 AS id , CHAR (ascii ('a')) AS cc UNION ALL SELECT id + 1 ...原创 2018-11-15 10:53:38 · 4581 阅读 · 0 评论 -
OGG-00868 OGG抽取进程停止异常
问题描述:启动源端ogg进程(start *),检查进程状态(info all),发现ext001状态为:STOPPED检查进程日志:view report ext001,提示如下错误:问题分析:出现上述问题,可能有以下几个原因1、数据库未进行过全量备份;2、数据库日志被手工清空:DUMP TRANSACTION xxx WITH NO_LOG;解决办法:1、检查数据库是否为完整...原创 2018-11-29 11:26:02 · 2587 阅读 · 1 评论 -
sqlserver 服务器端执行dos命令
偶尔服务器无法远程访问,如果上面装有sqlserver数据库,那么可以使用如下命令访问执行服务器dos命令:-- sqlserver 服务器端执行dos命令xp_cmdshell "tasklist"xp_cmdshell 'taskkill /f /FI "SESSION eq 1"'原创 2016-04-22 18:12:54 · 2387 阅读 · 0 评论