标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (102)
- 数据库 (1,671)
- DB2 (22)
- MySQL (73)
- Oracle (1,533)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (21)
- ORA-xxxxx (159)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (14)
- ORACLE 21C (3)
- Oracle 23ai (7)
- Oracle ASM (65)
- Oracle Bug (8)
- Oracle RAC (52)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (28)
- Oracle备份恢复 (560)
- Oracle安装升级 (92)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (78)
- PostgreSQL (18)
- PostgreSQL恢复 (6)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (37)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (20)
-
最近发表
- Kylin Linux 安装19c
- ORA-600 krse_arc_complete.4
- Oracle 19c 202410补丁(RUs+OJVM)
- ntfs MFT损坏(ntfs文件系统故障)导致oracle异常恢复
- .mkp扩展名oracle数据文件加密恢复
- 清空redo,导致ORA-27048: skgfifi: file header information is invalid
- A_H_README_TO_RECOVER勒索恢复
- 通过alert日志分析客户自行对一个数据库恢复的来龙去脉和点评
- ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
- ORA-01092 ORA-00604 ORA-01558故障处理
- ORA-65088: database open should be retried
- Oracle 19c异常恢复—ORA-01209/ORA-65088
- ORA-600 16703故障再现
- 数据库启动报ORA-27102 OSD-00026 O/S-Error: (OS 1455)
- .[metro777@cock.li].Elbie勒索病毒加密数据库恢复
- 应用连接错误,初始化mysql数据库恢复
- RAC默认服务配置优先节点
- Oracle 19c RAC 替换私网操作
- 监听报TNS-12541 TNS-12560 TNS-00511错误
- drop tablespace xxx including contents恢复
分类目录归档:SQL Server
SQL Server truncate table 恢复
从本质上来说,sql server的truncate操作也是和oracle类似的,实际数据依旧存在磁盘之上,通过对底层的分析没有覆盖的部分,依然可以恢复出来,这里列举出来大概的恢复截图,原表数据4605条记录
对其truncate操作
通过恢复出来,解析出来被truncate表的insert sql语句
插入数据之后,验证效果
至此我们可以实现sql server数据库被truncate表的恢复支持,只要没有覆盖的数据,理论上都可以恢复
当你的SQL Server数据库因为误操作导致数据丢失,且无法自行解决,请联系我们,提供专业SQL Server数据库恢复技术支持Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com
t-sql 更新大批量数据
需求:有两张很大的表,写了一个存储过程处理(加工数据然后插入到一张新表中),因为一次性处理数据量很大,会导致tempdb等资源被耗尽,为了解决这个问题,每次输入两个参数,每次根据两个id的范围处理程序
1、建一张日志表
CREATE TABLE [dbo].[data_log]( [start_time] [datetime] NULL DEFAULT (getdate()), [min_id] [int] NULL, [max_id] [int] NULL, [end_time] [datetime] NULL DEFAULT (getdate() )
2、编写处理过程
CREATE PROCEDURE [dbo].[insert_more](@min_data int,@max_data int) as begin --开始处理 insert into data_log values(getdate(),@min_data,@max_data,getdate()) --处理程序 INSERT INTO test_1 SELECT t1.name, t2.name, t1.id FROM t_1 t1, t_2 t2 WHERE t1.id = t2.id AND t1.id<=@max_data AND t1.id>@min_data --结束处理 update data_log set end_time=getdate() where min_id=@min_data and max_id=@max_data end
3、生成批量执行该存储过程语句
CREATE PROCEDURE [dbo].[get_list](@min_id int,@max_id int,@mode int) AS declare @i int declare @max_m int begin set @i=0 while @i<=(@max_id-@min_id)/@mode begin set @max_m=@min_id+(@i+1)*@mode if @max_m>@max_id set @max_m=@max_id print 'EXEC [dbo].[insert_more] @min_data = '+CAST(@min_id+@i*@mode as VARCHAR(50))+',@max_data = '+CAST(@max_m as VARCHAR(50))+';' set @i=@i+1 END end
利用3的过程,输入最小id,最大id,取值间隔,生成需要执行2过程的sql语句,执行这些语句完成操作,通过日志监控操作情况
发表在 SQL Server
评论关闭
创建sql server分区表
1、创建数据库
USE Master GO CREATE DATABASE Test_Partitioning ON PRIMARY (NAME='Partitioning_1', FILENAME= 'E:\database\partitions\Partitioning_1.mdf', SIZE=4, MAXSIZE=100, FILEGROWTH=1 ), FILEGROUP FG2 (NAME = 'Partitioning_2', FILENAME = 'E:\database\partitions\Partitioning_2.mdf', SIZE = 4, MAXSIZE=100, FILEGROWTH=1 ), FILEGROUP FG3 (NAME = 'Partitioning_3', FILENAME = 'E:\database\partitions\Partitioning_3.mdf', SIZE = 4, MAXSIZE=100, FILEGROWTH=1 ) GO
2、创建分区函数
Use test_Partitioning GO CREATE PARTITION FUNCTION salesYearPartitions (datetime) AS RANGE RIGHT FOR VALUES ( '2009-01-01', '2010-01-01') GO
说明:
RIGHT:表示”=”在右边
LEFT:表示”=”在左边
3、创建分区方案
Use test_Partitioning GO CREATE PARTITION SCHEME Test_PartitionScheme AS PARTITION salesYearPartitions TO ([PRIMARY], FG2, FG3 ) GO
4、使用分区创建表
Use test_Partitioning GO CREATE TABLE SalesArchival (SaleTime datetime PRIMARY KEY, ItemName varchar(50)) ON Test_PartitionScheme (SaleTime); GO
5、验证SQL语句
5.1)确定文件组的数量和数据库数据文件的数量
Use test_Partitioning GO -- Confirm Filegroups SELECT name as [File Group Name] FROM sys.filegroups WHERE type = 'FG' GO -- Confirm Datafiles SELECT name as [DB File Name],physical_name as [DB File Path] FROM sys.database_files where type_desc = 'ROWS' GO
5.2)验证分区表上的数据分布
Use test_Partitioning GO select partition_id, index_id, partition_number, Rows FROM sys.partitions WHERE OBJECT_NAME(OBJECT_ID)='SalesArchival' GO
发表在 SQL Server
评论关闭