标签: sql-server

如何判断 SSRS 中使用了哪些数据源?

我们有一堆 SSRS (2008) 报告部署到我们的门户网站。我们编辑了一些报告以使用与最初部署时使用的共享数据源不同的共享数据源。

我正在寻找一种查询 ReportServer 数据库的方法,以显示哪些报告使用了这些共享数据源中的哪些。我发现您可以使用存储在 Catalog.Content 中的 XML 数据来显示正在使用的数据源,但这对于最初部署报表所使用的数据源来说是存在的。

sql-server ssrs

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

将数组参数传递给存储过程

可能的重复:
将大量数据发送到存储过程的技术

我经常遇到我想将一组 Id 作为参数传递给存储过程的情况。

例如,对于 GetCustomerAccounts 存储过程,客户端从列表中选择 20 个客户。然后我想将这 20 个客户 ID 传递给程序以返回他们的帐户。

目前我通过有一个参数表来解决这个问题。我用我的客户 ID 和单个 Guid ID 填充它。然后将此单个 Guid ID 传递给过程,然后该过程再次连接参数表。我不喜欢这样,因为它涉及多次访问数据库。

另一种可能性是在逗号分隔的 Varchar 参数中传递 Id。然后,存储过程可以将此字符串解析为临时表,然后针对该表进行联接。再次感觉非常讨厌。

有一个更好的方法吗?

sql-server stored-procedures

11
推荐指数
0
解决办法
1174
查看次数

如何对 SQL 服务器进行压力测试?

我的任务是对我们的 MSSQL 服务器和 MySQL 服务器进行压力测试。我想知道是否有任何工具或脚本可以在我们当前的系统和新系统上使用来比较性能?

我想测量读/写磁盘和处理器性能。任何其他可能有用的东西也会很棒。

谢谢!

mysql performance sql-server performance-testing

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

收到“对象的 SELECT 权限被拒绝”,即使它已被授予

我是一名程序员,而不是一名 dba ……我知道足够危险。

我继承了一个旧用户的数据库,该用户是该数据库的 db_owner。出于业务原因,我们无法调整此用户对现有表、模式等的权限,但正在创建一些新表,我只希望此用户对它们具有 SELECT 访问权限。

已经为这些表为该用户设置了权限,因此除了 SELECT 设置为 GRANT 之外,所有内容都被拒绝。

然而,当此用户 (dbadmin) 尝试对这些表之一 (AccountingAudit) 执行 SELECT 时,会发生此错误:

The SELECT permission was denied on the object 'AccountingAudit', database 'billing', schema 'dbo'.
Run Code Online (Sandbox Code Playgroud)

我已运行此 SQL 以尝试查看为此表/用户设置的权限:

select object_name(major_id) as object,
 user_name(grantee_principal_id) as grantee,
 user_name(grantor_principal_id) as grantor,
 permission_name,
 state_desc
from sys.database_permissions
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

AccountingAudit dbadmin dbo ALTER   DENY
AccountingAudit dbadmin dbo CONTROL DENY
AccountingAudit dbadmin dbo DELETE  DENY
AccountingAudit dbadmin dbo INSERT  DENY
AccountingAudit dbadmin dbo REFERENCES  DENY
AccountingAudit dbadmin dbo SELECT  GRANT …
Run Code Online (Sandbox Code Playgroud)

sql-server permissions sql-server-2008-r2

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

如何对两列或更多列进行条件排序

在 MS SQL Server 2005 中,我正在编写一个带有条件排序的查询,我的问题是我不知道如何使用两列进行条件排序?

如果我写了这样的代码,它就可以正常工作

select
    *
from 
    table
order by 
    case @pkr 
           when 'kol' then kol
           when 'nci' then nci
    end
Run Code Online (Sandbox Code Playgroud)

我不知道如何对两列或更多列进行条件排序

select
    *
from 
    table
order by 
    case @pkr
        when 'KOL-NCI' then kol,nci
        when 'kol-MPCI' then kol,mpci
    end
Run Code Online (Sandbox Code Playgroud)

有一个制作动态 TSQL 并使用的想法,sp_executesql但我仍在寻找更好的想法?

sql-server order-by

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

SNAPSHOT 隔离级别的远程查询

我正在试验快照隔离级别。每当我尝试访问链接服务器时,都会收到错误消息:

事务隔离级别“快照”不支持远程访问

关于这个问题,我在 BOL 或 Google 中找不到任何有意义的信息。

限制似乎相当令人沮丧。除了在本地缓存所有远程数据之外,是否有解决方法?

sql-server-2005 sql-server snapshot

11
推荐指数
1
解决办法
5352
查看次数

为了最大限度地提高 DB 性能,应在通过 SSIS 将大量数据加载到 SQL Server 2008 后运行哪些命令

我已经编写了一个 SSIS 包来将测试数据加载到一个空数据库中。有些表非常大(约 7 亿行)。SSIS 包完成后,是否应该运行任何命令(作为 DBA 学徒!)以最大化数据库的性能?

例如,我执行了EXEC sp_updatestats但它报告没有索引需要更新。

一旦加载了大量数据,是否有一系列要做的事情,或者 SQL Server 2008 是否会为您处理所有这些事情?

performance sql-server ssis sql-server-2008-r2

11
推荐指数
2
解决办法
487
查看次数

从物理数据库迁移到云数据库

将在 Microsoft SQL server 2008R2 中创建的物理数据库移动到SQL Azure 有什么含义,该数据库利用诸如对 varchar(MAX) FILESTREAM BLOBS 的全文搜索等高级功能?

需要进行哪些架构更改?这一转变涉及哪些步骤?SQL Azure 迁移向导不能简单地成为自动进行转换的神奇工具。迁移工具无法解决哪些兼容性问题,应该“手动”解决?

sql-server azure-sql-database

11
推荐指数
1
解决办法
325
查看次数

在 SSMS 中保存连接?

我可以在 SSMS (2008 r2) 中保存某种会话或配置文件,以便在我打开 SSMS 时打开与保存的数据库服务器列表的连接?

例如,我经常会打开 SSMS,然后连接到 SQL Servers NY-DB01、NY-DB02 等......我可以有某种快捷方式来一次打开所有这些吗?

sql-server ssms sql-server-2008-r2

11
推荐指数
1
解决办法
5538
查看次数

帮我选择一个 SQL Server 2008 实例的 RAID 级别组合

我将从头开始重建一台 IBM 3400 服务器。此服务器专用于在 Windows 2008 R2 上运行的 SQL Server 2008 实例。

我将进行新的 RAID 配置。我在机器内部有 6 个 SCSI 73 GB 驱动器和一个 IBM ServerRAID 8K 控制器。什么是设置 RAID 级别的好方法?我的控制器上应该有两个、三个还是一个字段?

我正在考虑制定以下解决方案之一:

  1. 使用所有磁盘并制作 RAID 10 池。
  2. 将 4 个磁盘用于 RAID 1e 池并使用它来存储数据库数据和操作系统,并使用 RAID 0 池中的其他 2 个磁盘并使用它来存储数据库日志。
  3. 其他一些组合。

条带单元尺寸越大越好吗?

该服务器将成为复制数据库的订阅者。它的主要任务是报告和数据检索,只有复制代理进行写入。数据库的大小约为 90 GB。

performance sql-server best-practices disk-structures

11
推荐指数
2
解决办法
5742
查看次数