标签: sql-server-2012

SQL Server 如何检测未使用的视图和/或获取使用情况统计信息

有没有办法确定一个视图是否不再被使用(不删除它们)?

理想情况下,我想知道SQL Server 2000 和 2012的视图用法。

我正在升级一些数据库并怀疑许多视图不再被使用。此外,一些视图将难以在新服务器上编译,因为它们访问多个数据库,其中一些未移动到新服务器。

sql-server sql-server-2000 sql-server-2012

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

使用 AlwaysOn 可用性组时的事务日志维护

我们正在使用 SQL Server 2012 的 HADR(AlwaysOn 可用性组)功能。服务器和 AG 配置如下:

  1. SQL12_SRV1 --> AG1(PRIMARY) - SYNC -->> DBTest

  2. SQL12_SRV2 --> AG1(SECONDARY) -->> DBTest - ASYNC

DBTest 数据库每天都在增长 (200GB),大约每月和相同的事务日志文件也将根据数据增长。

那么如何通过使用正确的日志备份方法来最小化事务日志文件大小。我们必须在哪个副本上进行日志备份。

提前致谢。

sql-server backup logs sql-server-2012 availability-groups

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

SSIS组织

我熟悉 SSMS,但我从未使用过 .net、c# 或 Visual Studio(一直在做其他事情:汇编、c、unix、vi、oracle 等)。

我试图找出基本的 2012 SSIS ETL(没有 BI 或数据仓库),但找不到任何可以解释所有这些如何组合在一起的内容:

目录
解决方案
项目
包还有其他的吗?

假设我只想使用 SSIS 构建一个简单的测试,将一个文件导入到一个表中,需要以上哪些,以及我以什么顺序创建它们?

此外,您是否有任何指向基本 SSIS 2012 ETL 概述和/或文章方法的良好链接。

sql-server ssis sql-server-2012

8
推荐指数
1
解决办法
1741
查看次数

SQL Server 最小服务器内存

将 SQL 2008 R2 与 SP2 与具有 64 GB RAM 的服务器一起使用。考虑到 SQL Server 仅限于仅与数据库引擎相关的服务,我已将最大服务器内存设置为 58GB。我有一个关于设置最小服务器内存的问题

如果我将最小服务器内存设置为 48 GB 是否意味着

a) 如果 Windows 向 SQL 发送低内存通知——SQL 服务器将修剪其所有池并尝试将内存使用量保持到 48 GB 的内存?

b) 在 Windows 进行积极的工作集修整的情况下 - 是否会将 SQL 服务器的内存使用量保留为 48 GB,为 SQL 的内存使用量设置“下限”。

c) 对最小服务器内存有什么建议吗?

搜索网络——互联网上有大量关于最大服务器内存的信息,但我读到的地方很少(Brent Ozar 博客中的配置最佳实践)将最小服务器内存设置为服务器上可用 RAM 总量的 50%。

sql-server-2008 sql-server sql-server-2012

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

结合全文索引和标量索引

假设我们有一个包含 1200 万个姓名和地址的数据库,需要使用全文进行搜索,但每一行也包含一个整数值,比方说COMPANYID。该表在这 1200 万行中包含大约 250 个不同的 COMPANYID。

在定义全文索引时,是否有可能COMPANY在树中为每个索引提供自己的“分支”?

index sql-server full-text-search sql-server-2012

8
推荐指数
1
解决办法
900
查看次数

SQL Server 如何确定精度/小数位数?

我正在运行 SQL Server 2012

SELECT 
   0.15 * 30 / 360,
   0.15 / 360 * 30 
Run Code Online (Sandbox Code Playgroud)

结果:

 0.012500, 
 0.012480
Run Code Online (Sandbox Code Playgroud)

这个对我来说更令人困惑:

DECLARE @N INT = 360
DECLARE @I DECIMAL(38,26) = 0.15 * 30 / 360     
DECLARE @C DECIMAL(38,26) = 1000000     

SELECT @C *  @I *  POWER(1 + @I, @N)  / ( POWER(1 + @I, @N) - 1 )
SELECT @C * (@I *  POWER(1 + @I, @N)  / ( POWER(1 + @I, @N) - 1 ) )
Run Code Online (Sandbox Code Playgroud)

第一个选择给了我正确的结果:12644.44022 第二个截断结果:12644.00000

sql-server t-sql sql-server-2012 decimal

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

在视图中将列定义为可以为空(但不在引用的表中)

我的公司正在努力实施一个新的 HR 应用程序,以统一我们现有的 HR 流程。不过,我们遇到了一些症结;根据业务规则,Employee表的EmployeeID和SupervisorID列不能为空。但是,应用程序要求这些列可以为空,并且不会在将列设置为不允许为空时同步这些列。

建议的解决方案是创建一个视图,其中架构似乎允许列中存在空值,同时保留表以防止它们被输入到数据中。我并不完全相信这是可能的,而且我一直无法找到一种方法来做到这一点。这可能吗?如果没有,处理这种情况的最佳方法是什么?

sql-server t-sql sql-server-2012

8
推荐指数
1
解决办法
6010
查看次数

SQL Server:如何创建只能从特定 HOSTNAME 或 IP 地址访问的用户

我有一个我依赖的愚蠢的应用程序,里面有硬编码的连接字符串。

为了提高我的 SQL Server 的安全性,我想让 SQL 用户与内部应用程序的硬编码相同,但我希望该用户只能从特定主机(IP 地址)使用 SQL Server。

security sql-server sql-server-2012

8
推荐指数
1
解决办法
8478
查看次数

Microsoft SQL Server 2012 镜像断开连接

我有一些 Microsoft SQL Server 2012 镜像,在异步模式下没有见证,偶尔会断开连接。我正在运行 SQL Server 2012 11.0.5058。看着镜子边的原木我看到

未能分配 BUF:FAIL_BUFFER_ALLOCATION 1

有一大堆内存管理员消息

错误:802,严重性:17,状态:0。

缓冲池中没有足够的可用内存。

错误:1454,严重性:16,状态:1。

数据库镜像将被暂停。服务器实例 'instance' 在充当数据库 'database' 的镜像伙伴时遇到错误 802,状态 0,严重性 17。数据库镜像伙伴可能会尝试自动从错误中恢复并恢复镜像会话。有关更多信息,请查看错误日志以获取其他错误消息。

任何有关检查哪些内容以找出镜像在这一系列事件后进入暂停状态然后断开连接的帮助将不胜感激。在这之后我可以重新建立镜子,它们可以正常工作几天,然后它又会再次发生。

mirroring sql-server-2012 buffer-pool

8
推荐指数
1
解决办法
1236
查看次数

如何终止等待 IO_COMPLETION 的挂起 SQL Server 事务?

我们有一个事务已经运行了 5 个多小时。我们的磁盘空间不足。会话已被终止,但仍在等待 IO_COMPLETION。实际上wait_type 只是更改为PAGEIOLATCH_EX。如何终止挂起的 SQL Server 事务?我不担心丢失数据,因为所有数据都可以重新填充。

session_id: 54
STATUS: suspended
blocked by: 0
wait_type: PAGEIOLATCH_EX
Elapsed Time (in Sec): 19750.420000
open_transaction_count: 2
Run Code Online (Sandbox Code Playgroud)

transaction sql-server-2012 kill

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