sqlserver获取所有表的记录数
发表于
|浏览量:
select schema_name(t.schema_id) as [Schema], t.name as TableName,i.rows as [RowCount] |
文章作者: LeFer
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 LeFer!
相关推荐
2018-05-23
SQL Server 增量同步方案探索
这是我早期写的一篇文章,搬运过来归档。现在增量同步已经有了发布订阅、alwayson、cdc等多种选择。 1. 背景SQL Server增量同步是数据中心建设的一个关键点。可用的方案方剑总在[大话数据库增量备份]一文中有过系统的总结。本次讨论过程中我提出了一个新的方案,即基于SQL Server LDF 日志的增量同步。端午节期间针对这个方案及其他几个可尝试的方案进行了探索。 2.基于SQL Server LDF日志抓取增量内容并同步的方案探索2.1 核心思路使用fn_dblog函数获取事务日志,解析日志,抓取在特定表上的INSERT,UPDATE,DELETE操作,将事务在同步库中重现 2.2 步骤# fn_dblog是一个未被官方文档记载的内置函数,官方不建议常规用户使用,他的使用方法没有系统介绍,必须依赖官方博客的只言片语,以及前人的探索。SELECT * FROM fn_dblog(NULL, NULL) # 参数是时间范围# 观看返回值,发现很多无关的日志内容,然后发现有AllocUnitId字段,查阅有关资料得知这是数据库对象的实例ID,这个实例ID不是一成不变的...
2017-09-14
Spring中实现SQL Server with(nolock) hint
在SQL Server的使用过程中,为了避免读锁,提高查询效率或不在乎脏读的场景下,通常会在SQL语句中使用 with(nolock) hint。那么在Spring下如何获得相同的效果呢?下面介绍下具体实现和验证过程。 实现nolock是一个SQL Server独有的hint指令,肯定不能硬编码的方式实现,否则切换数据库的时候会痛不欲生。nolock是一种锁机制,很容易想到应该将其转换为事务级别来在java中实现。通过查阅MSDN得知,nolock 等同于 事务级别为:read uncommitted。 Spring 提供了@Transactional注解,在这个注解可以针对类或者方法设置事务级别。现我们通过这个注解,设置事务级别为READ_UNCOMMITTED。如下例: @Transactional(isolation = Isolation.READ_UNCOMMITTED)@Query(value = "select xjjgk from MisxjjgkEntity xjjgk where xjjgk.jlzt = 0 and xjjgk.bgdh = ?...
2017-07-27
SQL Server 开启CDC
1. 开启CDC 目标数据库 test 目标表 aaa (id,name) 为数据库开启cdc use testexecute sys.sp_cdc_enable_dbgo 为目标表开启cdc use testexecute sys.sp_cdc_enable_table @source_schema='dbo', --数据库模式名@source_name='aaa', --目标表@capture_instance='test_instance', --捕获实例名,自己定义@supports_net_changes=1, --是否开启净值捕获,通常需要开启@role_name='sa', --用户名@index_name=NULL,@captured_column_list=NULL, --监控哪些列,为NULL时捕获所有列的变更@filegroup_name='PRIMARY' --暂不知道此参数的含义GO cdc依赖sqlserver 代理,需要开...
2019-03-25
读取SQL Server 事务日志
开始使用下面的脚本开始 CREATE DATABASE [Crack_Me];GOUSE Crack_Me;GOCREATE TABLE [dbo].[Crack_Me_If_You_Can]( [ID] [int] PRIMARY KEY IDENTITY NOT NULL, [Insert_Date] [datetime] NOT NULL, [Some_Data] [varchar](100) NOT NULL, [Optional_Data] [varchar](50)NULL, [Life_the_Universe_and_Everything] [int] NOT NULL,);GOINSERT INTO [Crack_Me_If_You_Can]( Insert_Date, Some_Data, Optional_Data, Life_the_Universe_and_Everything)VALUES (GetDate(), 'Don''t Panic', 'Share and Enjoy', 42);...
2018-08-15
SQL Server 使用SQL获取建表语句
SQL Server 没有提供函数或存储过程直接查看建表语句(?),当然它的DBMS客户端提供了这个功能,但只为了这点小事就安装那个大玩意?…还是自己写一个更快。 完整代码create Procedure sp_helptable( @table varchar(100))-- exec sp_helptable tablename-- 增加获取注释信息(感谢 袁罗)AS Begindeclare @sql table(s varchar(1000), id int identity)-- 创建语句insert into @sql(s) values ('create table [' + @table + '] (')--获取注释SELECTA.name AS table_name,B.name AS column_name,C.value AS column_descriptioninto #columnspropertiesFROM sys.tables AINNER JOIN sys.columns B ON B.obj...
2017-12-14
使用Docker构建SQL Server开发数据库
我习惯在Linux下开发,但目前的产品采用的是SQL Server,众所周知,MSSQL在Linux下臃肿笨重,故决定使用Docker搭建SQL Server Express作为开发数据库。以下是具体过程。 拉取镜像并启动实例image还是非常大的,再拉取之前一定要先添加加速器,否则会等到天荒地老。如果添加加速器,请参见我的另一篇文章 docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=your_password' -e 'MSSQL_PID=Express' -p 1433:1433 --name mssql -v mssql_db:/data/db --privileged=true -d microsoft/mssql-server-linux:latest ACCEPT_EULA=Y 接受用户协议 SA_PASSWORD=your_password设置sa的密码,这个密码必须是高强度密码,有数字大小写字母,不小于8位 MSSQL_PID=ExpressSQL Se...
评论
公告
不见五陵豪杰墓,无花无酒锄作田!
