热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

几个有用的T-SQL(1)

清除所有表记录,有点像RESET,保留constraints与identities.--DisableConstraints&TriggersEXECsp_MS
  1. 清除所有表记录,有点像RESET,保留constraints与identities.
--Disable Constraints & Triggers  
EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' 
EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL' 
--Perform delete operation on all table for cleanup  
EXEC sp_MSforeachtable 'DELETE ?' 
--Enable Constraints & Triggers again  
EXEC sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL' 
EXEC sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL' 
--Reset Identity on tables with identity column  
EXEC sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1  
BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END' 

 

  2.    列出DB中表的大小,所占磁盘大小。

CREATE PROCEDURE [dbo].[GetDBTableSize]  
AS 
BEGIN 
SET NOCOUNT ON;  
DECLARE @cmdstr varchar(100)  
--Create Temporary Table  
CREATE TABLE #TempTable  
(  
    [Table_Name] varchar(50),  
    Row_Count int,  
    Table_Size varchar(50),  
    Data_Space_Used varchar(50),  
    Index_Space_Used varchar(50),  
    Unused_Space varchar(50)  
)  
--Create Stored Procedure String  
SELECT @cmdstr = 'sp_msforeachtable ''sp_spaceused "?"''' 
--Populate Tempoary Table  
INSERT INTO #TempTable EXEC(@cmdstr)  
--Determine sorting method  
SELECT * FROM #TempTable ORDER BY Table_Name  
--Delete Temporay Table  
DROP TABLE #TempTable  
END 
 

3.清除指定DB的事务日志。开发过程中我们把DB的日志搞得很大

BACKUP log [myDatabase] with truncate_only  
go  
DBCC SHRINKDATABASE ([myDatabase], 10, TRUNCATEONLY)  
go 

 

当然另一个好主意是要备份它们:

BACKUP  
LOG [myDatabase] TO DISK = N'C:\Backups\myDatabase_log.trn' WITH 
NOFORMAT, NOINIT, NAME = N'myDatabase_log', SKIP, REWIND, NOUNLOAD,  
STATS = 10 
 

4.列出DB中表的数量:

USE YOURDBNAME  
SELECT COUNT(*) from information_schema.tables  
WHERE table_type = 'base table' 


5.按当前时期备份DataBase,你可以用它当做JOB来执行。

DECLARE @currentday varchar(10)  
set @currentday = datepart(day,getdate())  
IF LEN(@currentday) = 1  
BEGIN 
    SET @currentday = '0' + @currentday  
END 
DECLARE @currentmonth varchar(10)  
SET @currentmOnth= datepart(month,getdate())  
IF LEN(@currentmonth) = 1  
BEGIN 
    SET @currentmOnth= '0' + @currentmonth  
END 
DECLARE @currentyear varchar(10)  
SET @currentyear = datepart(year,getdate())  
DECLARE @fileName varchar(100)  
SET @fileName = 'D:\dbbackup\' + @currentyear  
+ '_'    + @currentmonth  + '_' + @currentday  + '.bak' 
BACKUP DATABASE yourdatabase TO DISK = @fileName WITH NOFORMAT, INIT,  
NAME = N'myDatabase -Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10  
GO 



Author : Petter Liu     http://wintersun.cnblogs.com

希望对您有帮助。


推荐阅读
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 本指南介绍了如何在ASP.NET Web应用程序中利用C#和JavaScript实现基于指纹识别的登录系统。通过集成指纹识别技术,用户无需输入传统的登录ID即可完成身份验证,从而提升用户体验和安全性。我们将详细探讨如何配置和部署这一功能,确保系统的稳定性和可靠性。 ... [详细]
  • 本文详细探讨了MySQL数据库实例化参数的优化方法及其在实例查询中的应用。通过具体的源代码示例,介绍了如何高效地配置和查询MySQL实例,为开发者提供了有价值的参考和实践指导。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • C# 中 SQLite 报错:在 "\\s\\" 附近出现语法错误,如何解决? ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • Unity3D 中 AsyncOperation 实现异步场景加载及进度显示优化技巧
    在Unity3D中,通过使用`AsyncOperation`可以实现高效的异步场景加载,并结合进度条显示来提升用户体验。本文详细介绍了如何利用`AsyncOperation`进行异步加载,并提供了优化技巧,包括进度条的动态更新和加载过程中的性能优化方法。此外,还探讨了如何处理加载过程中可能出现的异常情况,确保加载过程的稳定性和可靠性。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 如何使用和示例代码解析 org.semanticweb.owlapi.model.OWLSubPropertyChainOfAxiom.getPropertyChain() 方法 ... [详细]
author-avatar
小小的dream
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有