dbForge Studio for SQL Server使用教程:在SQL Server中查找和删除不完整的未完成交易9(第1部分下)

转帖|使用教程|编辑:鲍佳佳|2020-07-13 14:10:02.550|阅读 15 次

概述:本文主要讨论了如何使用SQL Complete工具删除丢失的事务。

# 您正在找协同办公软件吗?点击这里站长给您推荐 #

dbForge Studio for SQL Server为有效的探索、分析SQL Server数据库中的大型数据集提供全面的解决方案,并设计各种报表以帮助作出合理的决策。

点击下载dbForge Studio for SQL Server最新试用版

本文接SQL Server中查找和删除不完整的未完成交易9(第1部分上)

高级格式化选项

为此,您需要更深入的自定义选项,请导航至“ SQL Complete”的“选项”窗口。从主菜单可以很容易地做到这一点。
SQL Complete主菜单中的“选项”命令
图16。“ SQL完成”菜单中的“ 选项”命令
接下来,在边栏中,导航至格式。
格式化选项
图17.格式化选项
格式选项卡有两个子选项卡。在常规子选项卡上,您可以:
  • 进行基本格式调整
  • 自定义通知设置
  • 选择一个可编辑的字典文件以调整大小写并指定例外的可用前缀。
在“ 个人档案”子选项卡上,您将找到格式化个人档案的列表。在此选项卡上,您还可以编辑现有配置文件,创建新配置文件,激活所需的配置文件或打开包含格式化配置文件的文件夹。

图18. Profiles子选项卡
如果要编辑配置文件或检查配置文件规则,则需要突出显示所需的配置文件,然后单击“ 编辑配置文件”按钮。或者,您可以双击所需的配置文件。

图19.编辑一个配置文件
如何启用或禁用dbForge SQL Complete
你可能会遇到由于SSMS太慢而需要禁用该工具的情况。只需单击几下即可完成。只需在该工具的主菜单中单击“禁用代码完成”即可。

图20.禁用SQL Complete
相应地,如果要启用该工具,请单击“ 启用代码完成”选项。

图21.启用代码完成

回到这一点,我们创建了表srv.SessionTran来记录丢失事务的终止会话。

如何根据删除操作创建表以存档丢失的交易

现在,以类似的方式,我们将创建一个表来存档根据删除操作从第一个表中选择的未清交易。

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [srv].[KillSession](
[ID] [int] IDENTITY(1,1) NOT NULL,
[session_id] [smallint] NOT NULL,
[transaction_id] [bigint] NOT NULL,
[login_time] [datetime] NOT NULL,
[host_name] [nvarchar](128) NULL,
[program_name] [nvarchar](128) NULL,
[host_process_id] [int] NULL,
[client_version] [int] NULL,
[client_interface_name] [nvarchar](32) NULL,
[security_id] [varbinary](85) NOT NULL,
[login_name] [nvarchar](128) NOT NULL,
[nt_domain] [nvarchar](128) NULL,
[nt_user_name] [nvarchar](128) NULL,
[status] [nvarchar](30) NOT NULL,
[context_info] [varbinary](128) NULL,
[cpu_time] [int] NOT NULL,
[memory_usage] [int] NOT NULL,
[total_scheduled_time] [int] NOT NULL,
[total_elapsed_time] [int] NOT NULL,
[endpoint_id] [int] NOT NULL,
[last_request_start_time] [datetime] NOT NULL,
[last_request_end_time] [datetime] NULL,
[reads] [bigint] NOT NULL,
[writes] [bigint] NOT NULL,
[logical_reads] [bigint] NOT NULL,
[is_user_process] [bit] NOT NULL,
[text_size] [int] NOT NULL,
[language] [nvarchar](128) NULL,
[date_format] [nvarchar](3) NULL,
[date_first] [smallint] NOT NULL,
[quoted_identifier] [bit] NOT NULL,
[arithabort] [bit] NOT NULL,
[ansi_null_dflt_on] [bit] NOT NULL,
[ansi_defaults] [bit] NOT NULL,
[ansi_warnings] [bit] NOT NULL,
[ansi_padding] [bit] NOT NULL,
[ansi_nulls] [bit] NOT NULL,
[concat_null_yields_null] [bit] NOT NULL,
[transaction_isolation_level] [smallint] NOT NULL,
[lock_timeout] [int] NOT NULL,
[deadlock_priority] [int] NOT NULL,
[row_count] [bigint] NOT NULL,
[prev_error] [int] NOT NULL,
[original_security_id] [varbinary](85) NOT NULL,
[original_login_name] [nvarchar](128) NOT NULL,
[last_successful_logon] [datetime] NULL,
[last_unsuccessful_logon] [datetime] NULL,
[unsuccessful_logons] [bigint] NULL,
[group_id] [int] NOT NULL,
[database_id] [smallint] NOT NULL,
[authenticating_database_id] [int] NULL,
[open_transaction_count] [int] NOT NULL,
[most_recent_session_id] [int] NULL,
[connect_time] [datetime] NULL,
[net_transport] [nvarchar](40) NULL,
[protocol_type] [nvarchar](40) NULL,
[protocol_version] [int] NULL,
[encrypt_option] [nvarchar](40) NULL,
[auth_scheme] [nvarchar](40) NULL,
[node_affinity] [smallint] NULL,
[num_reads] [int] NULL,
[num_writes] [int] NULL,
[last_read] [datetime] NULL,
[last_write] [datetime] NULL,
[net_packet_size] [int] NULL,
[client_net_address] [nvarchar](48) NULL,
[client_tcp_port] [int] NULL,
[local_net_address] [nvarchar](48) NULL,
[local_tcp_port] [int] NULL,
[connection_id] [uniqueidentifier] NULL,
[parent_connection_id] [uniqueidentifier] NULL,
[most_recent_sql_handle] [varbinary](64) NULL,
[LastTSQL] [nvarchar](max) NULL,
[transaction_begin_time] [datetime] NOT NULL,
[CountTranNotRequest] [tinyint] NOT NULL,
[CountSessionNotRequest] [tinyint] NOT NULL,
[InsertUTCDate] [datetime] NOT NULL,
 CONSTRAINT [PK_KillSession] PRIMARY KEY CLUSTERED 
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

ALTER TABLE [srv].[KillSession] ADD  CONSTRAINT [DF_KillSession_InsertUTCDate]  DEFAULT (getutcdate()) FOR [InsertUTCDate]
GO
在此脚本中:
  • sys.dm_exec_sessions和sys.dm_exec_connections引用系统视图
  • InsertUTCDate 标识创建记录时的UTC日期和时间。
结论
在本文中,我们介绍了删除SQL Server中丢失的事务的通用算法,并探讨了如何在SQL Complete的帮助下实现该算法的第1步。除此之外,还展示了该工具的明显优势。IntelliSense风格的代码完成,高度可定制和可共享的代码格式,高效的代码重构以及许多其他有用的功能旨在服务您的代码,让您专注于其实际工作方式。

如果你对我们的产品感兴趣或者有任何疑问,欢迎咨询慧都在线客服>>



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果

登录 慧都网发表评论


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
dbForge Studio for SQL Server

dbForge Studio for SQL Server是用于SQL Server的终极管理工具。

在线
客服
咨询
电话
400-700-1020
在线
QQ
购物车 反馈 返回
顶部
在线客服系统
live chat