由于业务需要,我可能需要在我的环境中禁用事务复制(Sql 2k -> Sql 2008)。从功能上讲,我理解这意味着我需要放弃订阅和文章。当冲突需求得到解决时,获取创建脚本是否足以将复制恢复到原始状态?
谢谢。
我有一个 SQL Server 实例RPT1(2008 R2),它是为“高级用户”设置的,可以运行他们自己的查询。此服务器链接到我们的生产报告服务器PRD1(SQL Server 2008 实例),具有直接RPT1查询链接服务器 ( PRD1) 的视图 (on ) 。
已使用需要在服务器上进行 CRUD 的帐户创建链接服务器(用于报告审核等)。
随着用户的成熟,他们也会请求更大的权限(例如创建自己的视图)。我想确保他们不会在链接的服务器上执行任何 CRUD 操作,但链接的帐户具有这些权限。
我看到的第一个解析路径是创建一个不同的用户,权限较低,然后重新链接服务器。
我的第二条路径是查看是否有办法DENY在PRD1服务器上为来自链接服务器的连接显式CRUD 。
是否可以仅从链接中明确拒绝 CRUD?或者我应该简单地将服务器与不同的帐户重新链接?我忽略了另一个明显的解决方案吗?
sql-server-2008 sql-server permissions sql-server-2008-r2 linked-server
当我执行下面的两个查询时,
SELECT
session_id, transaction_id
FROM sys.dm_tran_session_transactions;
Run Code Online (Sandbox Code Playgroud)
和
SELECT
session_id, request_id, at.transaction_id
FROM sys.dm_tran_active_transactions at
JOIN sys.dm_exec_requests r
ON r.transaction_id = at.transaction_id;
Run Code Online (Sandbox Code Playgroud)
我已经阅读了1和2的 BOL,但没有看到任何关于为什么会出现差异的明确解释。
我得到不同的结果。前一个查询不返回任何结果,但后者返回带有会话和事务 ID 的活动事务。该request_id是0,我认为它,意味着它在会议上提出的唯一请求。有人可以帮助我理解为什么我上面查询的两个概念之间存在差异吗?
编辑
我只是重新运行了查询,现在我得到了第一个 DMV 的结果,该结果session_id实际上并未包含在第二个结果集中。
sys.dm_os_performance_countersSQL Server 2005 中引入的DMV 使这项任务变得有些微不足道。但是,我的 Google-Fu 被阻止在 SQL Server 2000 中找到执行此操作的方法。
如何测量 SQL Server 2000 中的每秒事务数?
我们的最终用户可以通过多种方式将产品运送给我们的客户。他们可以使用一个表中的客户地址 ( [customer])、另一个表中的特定送货地址 ( [dropship]) 或另一个表中的另一个送货地址(对于具有多个位置的客户) ( [delivery])。这些都具有大致相同的结构,对于相同的数据点具有相同的列名(例如[address]是所有表中的地址)。
目前,我们查找订单收货地址的逻辑如下:
SELECT
Address = COALESCE(r.address, d.address, c.address)
FROM [order] o
JOIN customer c
ON o.customerid = c.customerid
LEFT JOIN delivery d
ON o.customerid = d.customerid
AND o.delivaddressid = d.delivaddress
LEFT JOIN dropship r
ON o.orderid = r.orderid;
Run Code Online (Sandbox Code Playgroud)
然而,这对我来说是一个新的范式,我正试图将我的大脑围绕在它周围。我是否只是将LEFT JOINs替换为
WHERE EXISTS
(select 1 from delivery d
where o.customerid = d.customerid
and o.delivaddressid = d.delivaddress)
Run Code Online (Sandbox Code Playgroud)
这将不允许我使用数据,[delivery]除非我将它扔到FROM …
我开始解决tempdb我们在 SQL Server 2005 企业版上遇到的问题。开发人员收到tempdb空间不足的错误。从技术上讲,错误是:
访问数据库 'dbname' 中的表 'dbo.inserted' 中的版本化行时,事务中止。未找到请求的版本化行。您的 tempdb 可能空间不足。请参考 BOL 如何配置 tempdb 进行版本控制
我查看了数据库配置sys.databases,发现了以下设置:
snapshot_isolation_state: 0
snapshot_isolation_state_desc: OFF
is_read_committed_snapshot_on: 1
Run Code Online (Sandbox Code Playgroud)
我在BOL 中查找了这意味着什么,主要信息如下:
snapshot_isolation_state允许快照隔离事务的状态,由 ALLOW_SNAPSHOT_ISOLATION 选项设置:
0 = 快照隔离状态为关闭(默认)。不允许快照隔离。
1 = 快照隔离状态开启。允许快照隔离。
2 = 快照隔离状态正在转换为关闭状态。所有事务都有其修改版本。无法使用快照隔离启动新事务。数据库保持转换为 OFF 状态,直到运行 ALTER DATABASE 时处于活动状态的所有事务都可以完成。
3 = 快照隔离状态正在转换为 ON 状态。新的交易有他们的修改版本。在快照隔离状态变为 1 (ON) 之前,事务无法使用快照隔离。数据库将保持转换到 ON 状态,直到可以完成运行 ALTER DATABASE 时处于活动状态的所有更新事务。
snapshot_isolation_state_desc允许快照隔离事务的状态描述,由 ALLOW_SNAPSHOT_ISOLATION 选项设置:
- 离开
- 在
- IN_TRANSITION_TO_ON
- IN_TRANSITION_TO_OFF
is_read_committed_snapshot_on1 = READ_COMMITTED_SNAPSHOT 选项为 ON。read-committed 隔离级别下的读操作基于快照扫描,不获取锁。
0 …
我们正在从旧的 SAN 迁移到新的 SAN,需要将我们的 SQL Server 实例迁移到新的 LUN。我们可以毫无问题地迁移数据,但 SQL Server 实例本身是集群的(单实例),并且集群磁盘也必须迁移到新的 SAN。
路径如下:
或者
我们将不得不为 13 个实例执行此操作。
是否可以在 FTS 索引列上运行全文搜索以查找另一个表中的所有值?
从概念上讲,它看起来像
select d.* from Docs d, Tags t where CONTAINS(d.fulltext, t.tagvalue)
我对 MSSQL FTS 相当陌生,尽管我知道等效的东西可以在 postgres 中工作
select d.* from docs d, tags t where to_tsquery(t.tagvalue) @@ to_tsvector(d.fulltext)
谢谢您的帮助!
我们目前有一个 SQL Server 集成服务 (SSIS) 包,它执行提取-传输-加载 (ETL) 过程以将一些数据从 SQL Server 移动到 DB2。在当前的生产服务器上,SSIS 与数据库实例安装在同一台服务器上,包的执行由 SQL 代理通过作业管理。
我们正在升级我们的 SQL 基础设施以进行集群,并且高级数据库管理员希望在其自己的服务器上拥有 SSIS,因此只需将集成服务服务安装到机器上即可设置 ETL 服务器。
SSIS 服务器是否还需要它自己的数据库实例和/或 SQL 代理来管理包的执行?
我在理解所有部分在这种情况下如何工作时遇到了一些麻烦。
我们使用的是 SQL Server 2008 R2 SP1。
我刚刚将我的 ERP 数据库服务器从 SQL Server 2000 迁移到 SQL Server 2008 R2(两个企业版),迁移过程相当顺利。
但是,现在我正在尝试重新创建从 ERP 到 Reporting 环境的复制,我有两个出版物试图创建一系列MSFixupNonUniqueIndex_{{datetimestamp}}非唯一索引。创建这些索引的进程都在休眠,但它们正在阻塞最终用户正在运行的其他 SQL 进程。
是什么导致了这个修复索引的创建,我可以避免它吗?
sp_whoisactivenowait_info用于索引创建任务。sysprocesses显示了试图创建索引的 spid 阻止的两个过程。spid 本身有一个waittypeof0x0000和一个lastwaittypeof MISCELLANEOUS。sys.locks显示有 777 个锁:7 个 Intent,761 个 Exclusive,6 个 Shared,2 Schema Mod,1 Schema Stability。资源是: 1 ALLOCATION_UNIT、 9 OBJECT、 3 DATABASE、 2 METADATA、 677 …sql-server ×9
clustering ×1
dmv ×1
monitoring ×1
performance ×1
permissions ×1
replication ×1
ssis ×1