标签: sql-server-2008

如何在 sql server 2008 中授予创建、读取和执行对称密钥的权限

我们将用户关联到具有有限权限的模式。在运行期间,我们使用相同的用户登录生成对称密钥。由于用户具有有限的权限,我们现在无法创建密钥。

如何授予此用户在 sql server 2008 中创建、读取和执行对称密钥的权限?

sql-server-2008 encryption

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

SQL Server 2008R2 最低 RAID/磁盘配置

我想利用一些专用服务器虚拟主机提供的新型 Intel E5-2620 (v2) 机器提供的出色性价比。

不幸的是,这些 E5-2620v2 专用服务器产品中的大多数都是 1CU,并且仅限于 4 个驱动器托架。我的生产 SQL 2008 R2 (2GB) 数据库支持拍卖 Web 应用程序,许多用户的小更新频率非常高。

我目前在我的 SQL Server 上有 8 个驱动器配置: - RAID 1 阵列(操作系统和程序文件) - RAID 1 阵列(SQL 日志文件) - RAID10(SQL 数据和 TempDB)

我的问题是,如果我采用以下方式,我是否会为我的 OLTP SQL 服务器创建磁盘性能问题:1)单个 4 驱动器 RAID 10 阵列(600 GB SAS 驱动器,带有操作系统和所有 SQL 文件)。使用支持 8 个驱动器的更慢且更昂贵的机器会更好吗?

2) 我发现一个提供 2 个内部 SSD 和 4 个主机交换驱动器,推荐的磁盘布局是什么。是否仍然建议将 SQL 日志放在单独的磁盘上,并且小数据库更新频率很高?2 驱动器 SDD RAID 1:操作系统和临时文件和 SQL 日志文件 4 驱动器 RAID 10:SQL 数据和系统 DB 文件,TempDB

3) SATA IIIs 和SAS …

sql-server-2008 sql-server hardware

6
推荐指数
1
解决办法
421
查看次数

Blocking_session_id 怎么可能是负 2?

我有一个案例,我正在运行的查询需要很长时间。当我检查sys.dm_exec_requestsblocking_session_id是一个负值时,具体来说是-2。等待是一个LCK_M_X,阻塞的命令是一个DELETE语句。据我所知,目前没有其他东西触及那张桌子。事实上,唯一的活动请求是被阻止的连接和查询检查sys.dm_exec_requests。当我查看sys.dm_tran_session_transactions被阻止的会话时,只有一个出现。

sql-server-2008 sql-server blocking

6
推荐指数
1
解决办法
1068
查看次数

捕获非常昂贵的查询

我有一个 2008/2012 年的 Sql 服务器。一些用户运行非常昂贵的查询,例如在一个事务中更新 1G 行或交叉连接几个非常大的表,它会导致服务器时常无响应。

跟踪/触发服务器以在发生时保存正在运行的查询的好方法是什么?

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

6
推荐指数
2
解决办法
2647
查看次数

SQL Server - SSD 上的表分区

我的数据库中有一个表,大约有 250m 行。我是数据库的新手,但我已经阅读了有关对表进行分区以提高性能的信息。我似乎注意到的重点之一是分区应该放在不同驱动器的不同文件组中。但是我的服务器有一个分区的 ssd。将文件放在存储设备的各个分区中是否有任何优势,即使它在物理上只是一个分区。如果所有文件组都在同一个物理驱动器中,分区是否仍然有用?

提前致谢。

sql-server-2008 sql-server

6
推荐指数
3
解决办法
2862
查看次数

带有数据库镜像的 Ola Hallengren

我即将设置Ola Hallengrens数据库维护计划。我们有我们的数据库镜像,我只是想知道我是否需要在我的两个 Sql Server 实例上运行脚本还是只在主实例上运行脚本?

sql-server-2008 sql-server maintenance mirroring ola-hallengren

6
推荐指数
2
解决办法
960
查看次数

操作数类型冲突:我的第一个带有整数列表的用户定义类型,如何通过 SSMS 进行测试

我在这里找到了这个美妙的代码

    CREATE TYPE [dbo].[StringList] AS TABLE(
    [Item] [NVARCHAR](MAX) NULL
);

    GO 
    CREATE PROCEDURE [dbo].[sp_UseStringList]
        @list StringList READONLY
    AS
    BEGIN
        -- Just return the items we passed in
        SELECT l.Item FROM @list l;
    END

    GO
Run Code Online (Sandbox Code Playgroud)

但我不知道如何通过 SSMS 进行测试

declare @list   StringList  = '1,2,3,4,5'
exec sp_UseStringList @list
Run Code Online (Sandbox Code Playgroud)

给出错误:

Operand type clash: varchar is incompatible with StringList
Run Code Online (Sandbox Code Playgroud)

我该如何测试列表“1,2,3,4,5”

sql-server-2008 user-defined-type

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

允许查看列默认值的最低 SQL Server 权限

我有一个 SQL Server 2008 数据库,某些表中的某些字段(列)配置了默认值。

我要求尽可能地限制用户安全,理想情况下只允许读/写权限。然而,用户需要能够看到列的默认值是什么(它实际上是一个需要读取默认值的应用程序)。

通常,如果我只想读/写,我可以授予用户对以下角色的访问权限:

  • db_datareader
  • db_datawriter

问题是这会阻止访问默认值。这可以通过打开一个表设计视图来确认(他们收到一条消息,说他们的访问权限有限,只能查看表设计),并且默认值只是显示为空白。

如果我添加db_owner角色,那么他们可以很好地查看默认值,但我不想赋予所有者权力。

我还能做些什么来限制只能读/写但具有查看默认值的额外能力?

sql-server-2008 sql-server

6
推荐指数
1
解决办法
1232
查看次数

损坏的 mdf 文件导致备份作业失败

我们的 SQL Server 2008 数据库之一遇到了问题。其数据文件中的某些内容似乎已损坏,这导致我们的日常数据库备份作业失败。上一次成功备份是在一个月前 :(

幸运的是,数据库已启动并正在运行,并且应用程序能够连接到它。唯一的问题是它不允许再备份数据库。

  • 当我尝试进行备份时,它给了我"Read on e:\xxx\xyz.mdf file failed. reason 15105"错误。

  • 我已经停止了 SQL 服务器服务并尝试手动复制 mdf 和 ldf 文件,但系统不允许我们复制 mdf 文件。它给出了“无法从磁盘读取”错误

我已经运行DBCC CHECKDB命令来检查错误,下面是结果

1) 无法读取和锁存页 (1:43515),锁存类型为 SH。23(无法检索此错误的文本。原因:15105)失败。

2) 对象 ID 567673070,索引 ID 1,分区 ID 72057595461697536,分配单元 ID 72057595536211968(类型行内数据):在 ID 为 1788936192 的行外数据中发现错误:R25 由数据记录标识:R24 ID = 201 )

我正在考虑运行DBCC命令,REPAIR_ALLOW_DATA_LOSS但我真的很害怕丢失数据。如果出现严重问题,我们甚至没有最近的备份副本可以恢复。拥有生产数据库而无法对其进行备份对我们来说是一个巨大的风险。

  • 在不丢失数据的情况下修复损坏的数据文件的最佳方法是什么?你推荐任何第三方工具吗?

  • 有没有其他方法可以在开始修复之前备份/获取此数据库的副本?

sql-server-2008 sql-server

6
推荐指数
1
解决办法
5515
查看次数

SQL Server 2008:SQL Server 应该在 8GB RAM 服务器中使用多少 RAM 内存?

我们的客户有 SQL Server 2008 和 8GB RAM,托管在 Windows 2008 R2 SP1 中,并考虑以下可用内存量:

在此处输入图片说明

并考虑以下正在运行的程序:

在此处输入图片说明

场景:用户使用一个网站,该网站将本服务器中的数据保存在 SQL Server 数据库中。不超过 5 个用户。

问题:考虑到我们有 8GB 并且我们还在这台服务器上托管了 IIS(我认为这是一个坏主意),SQL Server 应该使用多少 RAM?在不影响 Windows、IIS 和任何其他正在运行的服务的情况下,我在哪里可以配置 SQL Server 应该真正使用的 RAM 量?

SQL Server 版本: Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) 2011 年 9 月 21 日 22:45:45 版权所有 (c) 1988-2008 Microsoft Corporation 标准版(64 位),Windows NT 6.1(内部版本 7601:服务包 1)

Windows 版本: Microsoft Windows [版本 6.1.7601]

sql-server-2008 memory configuration

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