标签: sql-server-2012

带有报告服务的 SQL Server 2012 Express

在我搜索 SQL Server 2012 Express with Advanced Services 的任何地方,我都得到了这个链接,http://www.microsoft.com/en-us/download/details.aspx?id=35579,每次我安装它时,我看不到在哪里可以添加报告服务作为功能。

是否有另一个包含 Reporting Services 的安装文件,或者我现在确实拥有它但无法判断它已安装?我去了控制面板 -> 管理工具 -> 服务已经没有看到它列出来,这告诉我它没有安装?

更新:我已按照 Kin 的指示进行操作,但无法进一步推进。这就是我现在所在的地方。在 Reporting Services 配置管理器中,“连接”按钮呈灰色,当我单击“查找”时,我收到“无法连接到 Reporting Services...”的错误消息,请参见下文。
在此处输入图片说明

当我转到 SQL Server 配置管理器时,我没有看到 Reporting Services 作为列出开始停止的服务。见下文。 在此处输入图片说明

因此,在我看来,也许我没有安装 Reporting Services,所以我尝试安装这些功能,但没有将 Reporting Services 列为要添加的可用功能。见下文。我知道我下载了 .exe 文件,其中包含可供下载的所有内容,包括 Reporting Services。我的下一步应该是什么来进一步排除故障?我很想卸载并重新安装,但我不确定我是否可以正确卸载。似乎有很多与 SQL Server 2012 相关的文件,我不确定这会如何影响我目前安装的 Visual Studio。顺便说一句,我正在使用 Windows 7 进行本地桌面安装。 在此处输入图片说明

installation sql-server-2012

7
推荐指数
1
解决办法
4万
查看次数

哪些表受变更数据捕获影响

我们正在考虑在 SQL 2012 中使用变更数据捕获。我们试图找出是否有一种简单的方法来找出给定 lsn 更改了哪些表。是否有内置函数,或者我们是否需要查询每个 cdc 表以查看 lsn 是否在其中?

更新更多地解释我们正在尝试做的事情:

我们正在尝试构建一个过程来查看数据库中所有表的 cdc 数据(想想 100 个)。此进程将按计划运行,并且会知道它处理的最后一个 lsn。当它运行时,我们想对自上次记录的 lsn 以来发生变化的每个 cdc 表做一些事情。

我们可以检查fn_cdc_get_all_changes_dbo_tablename(@lastlsn, @currentlsn, 'all'),但问题是我们必须运行它 100 次(每个表一次)。有我们可以检查的中心位置吗?

sql-server-2012 change-data-capture

7
推荐指数
1
解决办法
2286
查看次数

在运行 FAST 搜索爬网时支持 SharePoint 数据库的 SQL Server 中的高 CPU

我有一个 SQL Server 2012 (SP1) #cu5 (X64) 实例用作 SharePoint 2010 后端,大多数情况下仅使用 10 - 30% 的 CPU,但在运行 FAST 搜索爬网(增量和完整)时 CPU 使用率很高)。

按照 Microsoft 对 SharePoint SQL 实例的建议,自动创建和自动更新统计已关闭,SharePoint 应该使用健康分析器规则和计时器作业来处理统计和索引维护。在大多数情况下,它做得不错,但在调查创建高 CPU 使用率的查询时,我发现缺少统计信息,但我无法创建它们,因为修改 SharePoint 数据库会使它们不受支持。

如果您遇到过类似的情况,请告诉我,任何有用的建议都会被采纳。如果您认为https://sharepoint.stackexchange.com/是发布此内容而不是 DBA SE 的最佳位置,也请告诉我。

SQL Server 环境: HP ProLiant DL385p Gen8、Microsoft Windows Server 2008 R2 Enterprise SP1、AMD Opteron(tm) 处理器 6204(单插槽、2 核、支持 HT)Microsoft SQL Server 2012 (SP1) #cu5 (X64)

SharePoint 环境(我现在没有太多详细信息):SP 2010 SP2(2 个应用服务器、2 个 Web 服务器、1 个 FAST 搜索服务器)

sql-server sharepoint sql-server-2012

7
推荐指数
1
解决办法
4391
查看次数

我应该检查存储过程中是否存在临时表?

是否有任何边缘情况建议在存储过程开始时显式检查、删除和创建临时表,而不是仅仅创建它们?

同样,是否存在在存储过程结束时显式删除它们比让 SQL Server 清理它们更可取的情况?

sql-server stored-procedures sql-server-2012 tempdb sql-server-2014

7
推荐指数
1
解决办法
7290
查看次数

不断收到消息:分配页面失败:FAIL_PAGE_ALLOCATION 540

我很感激以下方面的一些帮助,我已经做了一些谷歌搜索,但还没有解决这个问题。

我一直在 SQL 日志中收到一条消息“分配页面失败:FAIL_PAGE_ALLOCATION 540”,然后是一个转储,我将把它添加到这个问题的末尾。

供您参考,构建是:

  • 在 vCenter 上运行的虚拟服务器
  • Windows Server 2008 R2 64 位 SQL
  • Server 2012 SP1 Enterprise (11.0.2100) 8GB RAM SQL Server 最大和最小内存设置为 6144 MB

服务器是 2 节点可用性组的一部分,这是当前的主节点。

此实例托管 Microsoft SharePoint 的数据库

我运行了 24 小时的 Perfmon 跟踪,它只显示 PLE 在一次转储后下降,然后又上升。其他没有什么特别奇怪的。

SQL Server 仍在运行。

从 SQL 日志中提取:

10/03/2014 09:59:52,spid866,Unknown,CACHESTORE_XMLDBELEMENT (node 0)                 KB<nl/>---------------------------------------- ----------<nl/>VM Reserved                                       0<nl/>VM Committed                                      0<nl/>Locked Pages Allocated                            0<nl/>SM Reserved                                       0<nl/>SM Committed                                      0<nl/>Pages Allocated                                   8
10/03/2014 09:59:52,spid866,Unknown,CACHESTORE_XMLDBTYPE (node 0)                    KB<nl/>---------------------------------------- ----------<nl/>VM Reserved                                       0<nl/>VM Committed                                      0<nl/>Locked Pages Allocated                            0<nl/>SM …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012 error-log

7
推荐指数
1
解决办法
6645
查看次数

.WRITE 子句性能优化

我发现您可以使用子句(示例hereherehigh performance updatesvarchar(max),nvarchar(max),varbinary(max)列进行操作。不幸的是,官方文档中没有提到性能优化。.WRITE

谁能告诉有任何优化吗?有人做过性能测试吗?此外,如果有优化,我想它也只会影响特定情况。

varchar sql-server-2012 update

7
推荐指数
1
解决办法
1351
查看次数

只插入死锁

我们有一个将数据插入表中的应用程序。不幸的是,我们遇到了死锁,而且死锁仅来自插入。我们看到插入在非聚集索引上以不同的顺序获取键锁,这导致了问题。

为什么插入会这样,我们应该怎么做才能缓解死锁?任何帮助或见解表示赞赏。

在下面的示例中,只涉及两个插入,但我们在死锁中涉及多达 4 个不同的插入。

这是死锁图:

    <deadlock>
    <victim-list>
        <victimProcess id="process3ab355868" />
    </victim-list>
    <process-list>
        <process id="process3ab355868" taskpriority="0" logused="1184" waitresource="KEY: 5:72057594043629568 (6234ed5bf036)" waittime="7493" ownerId="92332106" transactionname="implicit_transaction" lasttranstarted="2014-10-13T12:37:43.060" XDES="0x123699668" lockMode="X" schedulerid="3" kpid="3540" status="suspended" spid="89" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2014-10-13T12:37:44.333" lastbatchcompleted="2014-10-13T12:37:44.333" lastattention="1900-01-01T00:00:00.333" clientapp="Microsoft JDBC Driver for SQL Server" hostname="" hostpid="0" loginname="" isolationlevel="read committed (2)" xactid="92332106" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128058">
            <executionStack>
                <frame procname="adhoc" line="1" stmtstart="278" stmtend="818" sqlhandle="0x0200000053a65d302154b91e9fee55234669030a42479c050000000000000000000000000000000000000000">
                    INSERT INTO table (col1, col2, col3, col4, col5, col6, col7, col8, col9) VALUES (@P0, @P1, @P2, @P3, @P4, @P5, …
Run Code Online (Sandbox Code Playgroud)

sql-server deadlock insert sql-server-2012

7
推荐指数
1
解决办法
1457
查看次数

将 SQL Server 数据库更改从测试部署到生产服务器

我有一个production运行 SQL Server的高可用性服务器。它不断被数百名用户读/写。

我在testing服务器上有数据库的精确副本,并在该环境中进行所有开发。每隔几周,就会对前端应用程序和数据库本身进行重大更改(例如,新存储过程、新列、新表)。

因为production服务器上的数据总是最新的,所以当我想对数据库架构进行更改时,我不想丢失这些数据。当前部署变更的流程是:

  1. 备份production服务器并暂停它
  2. 将其恢复到testing服务器中
  3. testing服务器中进行所有数据库更改
  4. 备份testing服务器
  5. 将新版本恢复到production服务器并取消暂停

这些步骤看起来很复杂,导致生产服务器出现不必要的停机。我想做的是production在后台更新服务器数据库,同时仍然允许用户继续读/写数据库。

到目前为止,我可以看到您可以使用复制数据库向导或使用脚本进行更改,但他们似乎想要在production服务器上删除/创建数据库以进行更改。我怎样才能实现更新production服务器数据库的不太严重的方法?

sql-server sql-server-2012 sql-server-2014

7
推荐指数
1
解决办法
2万
查看次数

“同步提交可用性模式”是否确保副本之间的一致性?

如果您参考 MSDN 文档中的Synchronous-Commit Availability Mode,您可以阅读:

在同步提交可用性模式(synchronous-commit mode)下,从库加入可用性组后,会赶上对应的主库,进入SYNCHRONIZED状态。只要数据同步继续,辅助数据库就会保持同步。这保证了在给定主数据库上提交的每个事务也已在相应的辅助数据库上提交。当给定辅助副本上的每个辅助数据库同步时,整个辅助副本的同步健康状态为 HEALTHY。

假设我有一个三节点可用性组,其中有一个处于同步HEALTHY状态的数据库。所有副本都使用同步提交模式。

另外假设,我已经配置了只读路由,以便请求ApplicationIntent=Read-Only连接到辅助副本。

如果我通过读写连接提交更改,那么很快,使用ApplicationIntent=Read-Only连接通过另一个连接选择更改的记录,我是否可以期望每次都从两个副本返回一致的结果?


编辑 - 支持已接受答案的更多信息。

在 Microsoft 技术论文“AlwaysOn: Offloading Read-Only Workloads to Secondary Replicas(Sunil Agarwal,2012 年 7 月)”中,标题数据延迟下的部分读取(强调我的)。

在辅助副本上运行的报告工作负载会产生一些数据延迟,通常为几秒到几分钟,具体取决于主要工作负载和网络延迟。即使您已将辅助副本配置为同步模式数据延迟仍然存在。虽然同步副本确实通过在向主服务器发送 ACK 之前强化已提交事务的事务日志记录来帮助保证在理想条件下(即 RPO = 0)不会丢失数据,但它并不能保证 REDO 线程在辅助副本上确实已将关联的日志记录应用到数据库页面. 所以有一些数据延迟。您可能想知道在异步模式下配置辅助副本时是否更可能出现这种数据延迟。这是一个更难回答的问题。如果主副本和次副本之间的网络无法跟上事务日志流量(即,如果没有足够的带宽),异步副本可能会进一步落后,从而导致更高的数据延迟。在同步副本的情况下,网络带宽不足不会导致次要数据延迟更高,但会减慢主要工作负载的事务响应时间和吞吐量。

如果您的报告工作负载不能容忍任何数据延迟,您必须在主副本上运行它。好消息是,通常大多数报告工作负载都可以容忍一些数据延迟,因此可以安全地迁移到辅助副本。

虽然 Microsoft 文档的广度并不矛盾,但我觉得它可以更明确。“同步”并不意味着ACID首字母缩写词中使用的原子性和一致性。

sql-server sql-server-2012 high-availability

7
推荐指数
1
解决办法
3569
查看次数

安装 SQL Server 2012 - 等待数据库引擎恢复句柄失败

我正在一台新的 Windows 8.1 机器上安装 SQL Server 2012 SP1。

在安装过程中,我收到此错误:(类似于此问题的屏幕截图)

标题:Microsoft SQL Server 2012 Service Pack 1 安装程序

发生了以下错误:

等待数据库引擎恢复句柄失败。检查 SQL Server 错误日志以了解潜在原因。

如需帮助,请单击:http : //go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%2625405BA100000000000000000

当我单击“确定”时 - 它会继续安装,但不会实际安装数据库引擎服务、报告服务 - 本机、数据质量服务或全文和语义提取。其余部分被勾选为绿色。

我尝试了各种解决方案(例如在配置管理器中使用 SQL Server 下的“登录身份”选项;关闭防火墙等),但还没有任何效果。您的帮助表示赞赏。

完整日志如下:

    Overall summary:
      Final result:                  Failed: see details below
      Exit code (Decimal):           -2061893606
      Start time:                    2014-12-17 00:10:05
      End time:                      2014-12-17 00:44:12
      Requested action:              Install

    Setup completed with required actions for features.
    Troubleshooting information for those features:
      Next step for RS:              Use the following …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

7
推荐指数
1
解决办法
9万
查看次数