SQL Server
文章平均质量分 61
duanbeibei
这个作者很懒,什么都没留下…
展开
-
SQL Server数据库版本总结
SQL Server 企业版、标准版、体验版的区别原创 2023-01-30 18:20:55 · 11973 阅读 · 1 评论 -
SQLServer Delayed durability 延迟持久化
DELAYED DURABILITY 简介SQLServer自2014版本推出了一项新功能:“Delayed transaction durability”。这项功能旨在通过推迟已提交的事务持久化到事务日志文件,减少事物日志文件的IO,从而提升数据库性能。通俗地说,一个事务在commit后本应该立即写到事务日志文件中去,现在推迟写操作,等到一定时机再写到事务日志文件中去。在描述DELAYED DURABILITY的具体细节前,先来看下他的性.原创 2022-02-24 21:09:38 · 1292 阅读 · 1 评论 -
SQLServer "uniqueidentifier" 类型
“uniqueidentifier” 为16字节固定长度,存放二进制,用作唯一标识的列类型。用户通过"NEWID()"函数来生成uniqueidentifier数值,例如create table dbo.t_uniqueidentifier ( id uniqueidentifier, name varchar(20))insert into dbo.t_unique原创 2016-12-08 16:13:10 · 3692 阅读 · 0 评论 -
SQL Server 2005 导出包含(insert into)数据的SQL脚本 (使用存储过程)
--SQL Server里面导出SQL脚本(表数据的insert语句)CREATE PROCEDURE dbo.UspOutputData @tablename sysname AS declare @column varchar(1000) declare @columndata varchar(1000) declare @sql varchar(4000) dec转载 2016-11-24 15:55:05 · 4044 阅读 · 0 评论 -
SQL Server命令
1. 查询当前数据库下的所有用户表 select name from {DatabaseName}.sys.SysObjects where xtype = 'U' and category = 0原创 2013-10-18 15:27:01 · 983 阅读 · 0 评论 -
SQLServer触发器
准备环境:两个表t1, t2,结构完全相同create table dbo.t1 ( id int, name varchar(20))create table dbo.t2 ( id int, name varchar(20))1. 创建触发器实现往't1'中插入一条数据,该数原创 2016-09-04 07:26:58 · 425 阅读 · 2 评论 -
SQLServer删除所有外键
declare @sql varchar(max), @tab_name varchar(128), @fk_name varchar(128);declare c cursor forselect OBJECT_NAME(parent_object_id), name from sys.objects where type='F'open cfetch next from c in转载 2016-09-03 14:12:56 · 3006 阅读 · 0 评论 -
SQLServer 设置数据库为只读
USE [master] GO ALTER DATABASE [TESTDB8] SET READ_ONLY WITH NO_WAIT GO原创 2016-08-24 13:19:26 · 9240 阅读 · 0 评论 -
SQLServer添加数据库链接
1. 添加服务链接EXEC master.dbo.sp_addlinkedserver @server = N'DBVERIFY', @srvproduct='', @provider=N'SQLNCLI', @datasrc=N'10.172.3.200\MSSQLSERVER2008'2. 注册登录名/密码EXEC master.dbo.sp_addlinkedsrvlogin原创 2016-08-30 14:25:26 · 1304 阅读 · 0 评论 -
SQLServer查看备份文件信息
有时候想知道备份文件,到底是全备还是增备,以及备份时的LSN信息可以通过如下命令查看RESTORE HEADERONLY FROM DISK='备份文件全路径' WITH NOUNLOADGO如:RESTORE HEADERONLY FROM DISK='D:\Microsoft SQL Server\2008\MSSQL10_50.MSSQLSERVER20原创 2016-08-30 13:07:40 · 8594 阅读 · 0 评论 -
SQLServer 查看对象间依赖关系
在SQL Server中,(可编程)对象间的引用即依赖关系,有多种方式可以检查,随着版本变更,方式也有所不同。父子关系的对象,不通过依赖关系来查询,比如:1. 外键关系use tempdbGO--drop table tb1,tb2create table tb1(col1 int Primary key,col2 int)insert into转载 2016-08-03 09:52:25 · 3141 阅读 · 0 评论 -
一次SQLServer数据库修复经历
数据库损坏情况数据库有多个数据文件及日志文件,其中一个数据文件损坏丢失,后通过文件恢复工具恢复出来,但是有错误,导致数据库无法启动。修复步骤1.首先尝试“附加数据库” 根据网上的资料,如果数据库损坏不严重的话,可以直接通过“附加数据库”的方式恢复,但是很不幸,尝试失败 不过通过“附加数据库”得到了一条很重要的信息,就是当选中主数据文件MDF后,会将该数据所需的所有文件依原创 2016-08-05 14:23:28 · 3498 阅读 · 2 评论 -
Install SQL Server 2008 on a Windows Server 2008 Cluster Part 4
ProblemIn a previous tip on SQL Server 2008 Installation Process, we have seen how different SQL Server 2008 installation is from its previous versions. Now, we have another challenge to face: i转载 2016-08-15 15:11:29 · 452 阅读 · 0 评论 -
SQLServer 统计数据量
做一个项目,第一件事情就是问:“这个数据库多大?”下面是统计数据库数据量大小的方法1. 使用命令: "sp_helpdb @dbname" 例如,查询数据库"testdb3"的使用量exec sp_helpdb testdb3 "sp_helpdb"是最常用的命令, 但是注意:该命令显示的数据库大小"db_size"并不是指现存有效数据的大小,而是指“数原创 2016-01-25 11:19:38 · 4685 阅读 · 0 评论 -
解决SQL Service创建链接服务器出现(null) 是无效的产品名称的问题
在使用SQL Service 2005/2008 创建链接服务器时,有出现过:"消息 15429,级别 16,状态 1,过程 sp_addlinkedserver,第 42 行'(null)' 是无效的产品名称。"的问题,从该错误提示上来看,主要是创建链接服务器的时候没有输入产品名称的原因。根据不同的创建方式以下分为两种解法方法,解决方法如下:情况一:使用SQL语句创建链接服务器出现此问...转载 2019-06-04 16:23:30 · 3884 阅读 · 0 评论 -
SQLServer查看及设置最大连接数
1. 查询最大连接数SELECT value_in_useFROM sys.configurations cWHERE c.name = 'user connections'; 默认值为:0,即无限制。2. 查询当前连接数select count(distinct(login_time)) from sys.sysprocesses 3. 设置最大连接数exec sp_conf...原创 2019-01-21 14:33:07 · 26891 阅读 · 1 评论 -
What’s the Point of Using VARCHAR(n) Anymore?
The arrival of the (MAX) data types in SQL Server 2005 were one of the most popular feature for the database developer. At the time, there was a lot of discussion as to whether this freedom from havin...转载 2019-01-02 16:35:22 · 433 阅读 · 0 评论 -
SQLServer命令行设置数据库模式
数据库名称:testdb11. 设置成: "完整模式"EXEC sp_dboption 'testdb1', 'trunc. log on chkpt.', 'FALSE'2. 设置成:"简单模式"EXEC sp_dboption 'testdb1', 'trunc. log on chkpt.', 'TRUE'原创 2018-03-20 18:20:50 · 2572 阅读 · 0 评论 -
SQLServer Transact-SQL 相关
1. 类似C语言中的"sleep"语法:WAITFOR DELAY --wait for 1sWAITFOR DELAY '00:00:01:000'--wait for 1minWAITFOR DELAY '00:01:00:000'--wait for 1 millisecondWAITFOR DELAY '00:00:00:001'2. 定时闹钟功能: WAI原创 2018-03-22 15:52:54 · 262 阅读 · 0 评论 -
Replication--复制与CDC和镜像
复制和CDC 都是使用logreader来从日志中读取数据的变更,然后写入到分发库(复制)或变更表中。1> 单独创建复制发布在该情况下,会在分发服务器上创建日志读取代理作业(ServerName_DBName_logreaderID)2> 单独使用CDC在该情况下,会在当前实例的代理上创建两个作业‘cdc.DBName_capture’(调用sys.sp_MScdc转载 2018-01-09 18:09:28 · 1486 阅读 · 0 评论 -
SQLServer CDC
要捕获某个表的变更,必须先开启数据库级别的捕获,再开启表级的捕获1. 启用数据库:在当前数据库下执行命令EXEC sys.sp_cdc_enable_db这个过程会在当前数据库下创建6个系统表cdc.captured_columnscdc.change_tablescdc.ddl_historycdc.index_columnscdc.lsn_time_mappingdbo原创 2015-11-24 11:25:08 · 2204 阅读 · 0 评论 -
SQLServer性能调试开关
1. "SET STATISTICS TIME ON"/"SET STATISTICS TIME OFF " 用于统计SQL命令执行的时间,如: 2. "SET STATISTICS IO ON" / "SET STATISTICS IO OFF" 用于统计IO情况,如: 3. "SET STATISTICS PROF原创 2017-06-26 11:42:13 · 736 阅读 · 0 评论 -
SQLServer 代理作业
1. 查询所有代理作业select * from msdb.dbo.sysjobs2. 停止某个作业USE msdb GO exec dbo.sp_stop_job N'cdc.testdb3_capture' GO3. 启动某个作业USE msdbGO exec dbo.sp_start_job N'cdc.testdb3_capture'原创 2017-06-05 15:02:59 · 1036 阅读 · 0 评论 -
DBCC 命令
DBCC activecursors [(spid)]DBCC addextendedproc (function_name, dll_name)DBCC addinstance (objectname, instancename)DBCC adduserobject (name)DBCC auditevent (eventclass, eventsubclass, success转载 2017-05-19 08:25:27 · 1524 阅读 · 0 评论 -
浅析SQL Server数据库专用管理员连接DAC的使用
当SQL Server因系统资源不足,或其它异常导致无法建立数据库连接时, 可以使用系统预留的DAC连接到数据库,进行一些问题诊断和故障排除。DAC只能使用有限的资源。请勿使用DAC运行需要消耗大量资源的查询,否则可能发生严重的阻塞。可在联机帮助中搜索DAC。建议使用命令行下的sqlcmd连接进去,因为占用的资源更少,连接方法:开始 --> 运行 --> cmd 输入SQLCMD -E -转载 2017-03-15 15:15:08 · 2408 阅读 · 0 评论 -
Install SQL Server 2008 on a Windows Server 2008 Cluster Part 3
ProblemIn a previous tip on SQL Server 2008 Installation Process, we have seen how different SQL Server 2008 installation is from its previous versions. Now, we have another challenge to face: i转载 2016-08-15 15:09:57 · 391 阅读 · 0 评论 -
Install SQL Server 2008 on a Windows Server 2008 Cluster Part 2
ProblemIn a previous tip on SQL Server 2008 Installation Process, we have seen how different SQL Server 2008 installation is from its previous versions. Now, we have another challenge to face: i转载 2016-08-15 15:06:28 · 512 阅读 · 0 评论 -
Install SQL Server 2008 on a Windows Server 2008 Cluster Part 1
ProblemIn a previous tip on SQL Server 2008 Installation Process, we have seen how different SQL Server 2008 installation is from its previous versions. Now, we have another challenge to face: i转载 2016-08-15 15:04:16 · 467 阅读 · 0 评论 -
SQLServer设置大小写敏感
SQLServer默认的"排序规则"是:Chinese_PRC_CI_AS这种字符集是不区分大小写字符的通过设置这个选项可以变更为大小写敏感。数据库右键 -> 属性 -> 选项 -> 排序规则以下几种排序规则为区分大小写模式: 1. Chinese_PRC_BIN原创 2016-04-06 18:10:36 · 5655 阅读 · 0 评论 -
SQLServer版本号
内部版本号,比如SQL Server 2008的版本号为10具体如下:SQLServer 2000: 8SQLServer 2005: 9SQLServer 2008: 10SQLServer 2012: 11原创 2015-09-09 15:08:13 · 2188 阅读 · 0 评论 -
SQL Server Version
I'm continually trying to track down what service packs are installed on various SQL Servers I support. I can never find the right support page on Microsoft's site. So here's an article with all the S转载 2016-03-11 11:43:53 · 760 阅读 · 0 评论 -
GoldenGate SQLServer 到 SQLServer 同步
测试环境:源、目标端都是win2003+ SQLServer20081.数据库准备:源端目标端分别创建数据库”oggdb”,恢复模式为”完整“,并创建测试表t1------------------------------------------------------------------------------------------------------...原创 2019-12-24 13:18:58 · 1012 阅读 · 2 评论 -
SQL Server DATEADD() 函数
SQL Server DATEADD() 函数SQL Server Date 函数定义和用法DATEADD() 函数在日期中添加或减去指定的时间间隔。语法DATEADD(datepart,number,date)date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。d转载 2016-01-18 10:16:07 · 852 阅读 · 0 评论 -
What is an LSN: Log Sequence Number
January 17th, 2012LSNs, or Log Sequence Numbers, are explained on MSDN at Introduction to Log Sequence Numbers:Every record in the SQL Server transaction log is uniquely identified by a转载 2015-11-27 13:29:02 · 828 阅读 · 0 评论 -
您真的理解了SQLSERVER的日志链了吗
您真的理解了SQLSERVER的日志链了吗?先感谢宋沄剑给本人指点迷津,还有郭忠辉童鞋今天在QQ群里抛出的问题这个问题跟宋沄剑讨论了三天,再次感谢宋沄剑 一直以来,SQLSERVER提供了一个非常好的管理工具:SSMS又因为这个管理工具太好了,所有操作的简单化,以至于使我们中毒太深,对于SQLSERVER内部的一些概念搞得不清不楚比如这些概念转载 2015-12-11 15:12:46 · 2831 阅读 · 1 评论 -
SQLServer 还原语法
摘自SQLServer联机手册语法 --To Restore an Entire Database from a Full database backup (a Complete Restore):RESTORE DATABASE { database_name | @database_name_var } [ FROM [ ,...转载 2014-12-11 15:13:36 · 1106 阅读 · 0 评论 -
SQL Server破坏日志备份链之后,可以通过全备,但是也可以通过差异备份来恢复日志链
事务日志备份会备份自上次事务日志备份以来所有的事务日志(如果从来没有过日志备份的话,那就从上一次完整备份开始)。有好几种类型的操作会中断事务日志的连续性,也就是说除非重新开始新的日志链,SQL Server无法再进行日志备份。下面这几种操作都有可能引起日志链断裂:由完整恢复模式或大容量事务日志恢复模式转为简单恢复模式 从数据库镜像进行恢复 备份日志时指定了NO_LOG 或 WITH转载 2014-05-08 15:03:11 · 891 阅读 · 0 评论 -
SQLServer查询实例名
SELECT @@SERVERNAME ,serverproperty('servername')原创 2014-04-15 10:38:28 · 4386 阅读 · 0 评论 -
DBCC 查看日志
1. DBCC LOGINFO2. DBCC LOG([,{0|1|2|3|4}]) 0 - Basic Log Information (default) 1 - Lengthy Info 2 - Very Length Info 3 - Detailed 4 - Full原创 2013-10-18 14:59:15 · 2607 阅读 · 0 评论 -
SQLServer删除复制作业
经常遇到某个操作失败,包括删除表、还原等等都有可能遇到这个错误:“执行XXXXX失败,因为它正用于复制”如果确信自己不需要复制功能,就可以把复制功能删了,一了百了,整个世界都清净了...假设数据库名:testdb1use masterEXEC sp_removedbreplication 'testdb1'go删除复制命令use masterEXEC sp_rem原创 2016-03-25 18:22:32 · 1459 阅读 · 0 评论