我们有一堆 SSRS (2008) 报告部署到我们的门户网站。我们编辑了一些报告以使用与最初部署时使用的共享数据源不同的共享数据源。
我正在寻找一种查询 ReportServer 数据库的方法,以显示哪些报告使用了这些共享数据源中的哪些。我发现您可以使用存储在 Catalog.Content 中的 XML 数据来显示正在使用的数据源,但这对于最初部署报表所使用的数据源来说是存在的。
可能的重复:
将大量数据发送到存储过程的技术
我经常遇到我想将一组 Id 作为参数传递给存储过程的情况。
例如,对于 GetCustomerAccounts 存储过程,客户端从列表中选择 20 个客户。然后我想将这 20 个客户 ID 传递给程序以返回他们的帐户。
目前我通过有一个参数表来解决这个问题。我用我的客户 ID 和单个 Guid ID 填充它。然后将此单个 Guid ID 传递给过程,然后该过程再次连接参数表。我不喜欢这样,因为它涉及多次访问数据库。
另一种可能性是在逗号分隔的 Varchar 参数中传递 Id。然后,存储过程可以将此字符串解析为临时表,然后针对该表进行联接。再次感觉非常讨厌。
有一个更好的方法吗?
我的任务是对我们的 MSSQL 服务器和 MySQL 服务器进行压力测试。我想知道是否有任何工具或脚本可以在我们当前的系统和新系统上使用来比较性能?
我想测量读/写磁盘和处理器性能。任何其他可能有用的东西也会很棒。
谢谢!
我是一名程序员,而不是一名 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) 在 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但我仍在寻找更好的想法?
我正在试验快照隔离级别。每当我尝试访问链接服务器时,都会收到错误消息:
事务隔离级别“快照”不支持远程访问
关于这个问题,我在 BOL 或 Google 中找不到任何有意义的信息。
限制似乎相当令人沮丧。除了在本地缓存所有远程数据之外,是否有解决方法?
我已经编写了一个 SSIS 包来将测试数据加载到一个空数据库中。有些表非常大(约 7 亿行)。SSIS 包完成后,是否应该运行任何命令(作为 DBA 学徒!)以最大化数据库的性能?
例如,我执行了EXEC sp_updatestats但它报告没有索引需要更新。
一旦加载了大量数据,是否有一系列要做的事情,或者 SQL Server 2008 是否会为您处理所有这些事情?
将在 Microsoft SQL server 2008R2 中创建的物理数据库移动到SQL Azure 有什么含义,该数据库利用诸如对 varchar(MAX) FILESTREAM BLOBS 的全文搜索等高级功能?
需要进行哪些架构更改?这一转变涉及哪些步骤?SQL Azure 迁移向导不能简单地成为自动进行转换的神奇工具。迁移工具无法解决哪些兼容性问题,应该“手动”解决?
我可以在 SSMS (2008 r2) 中保存某种会话或配置文件,以便在我打开 SSMS 时打开与保存的数据库服务器列表的连接?
例如,我经常会打开 SSMS,然后连接到 SQL Servers NY-DB01、NY-DB02 等......我可以有某种快捷方式来一次打开所有这些吗?
我将从头开始重建一台 IBM 3400 服务器。此服务器专用于在 Windows 2008 R2 上运行的 SQL Server 2008 实例。
我将进行新的 RAID 配置。我在机器内部有 6 个 SCSI 73 GB 驱动器和一个 IBM ServerRAID 8K 控制器。什么是设置 RAID 级别的好方法?我的控制器上应该有两个、三个还是一个字段?
我正在考虑制定以下解决方案之一:
条带单元尺寸越大越好吗?
该服务器将成为复制数据库的订阅者。它的主要任务是报告和数据检索,只有复制代理进行写入。数据库的大小约为 90 GB。
sql-server ×10
performance ×3
mysql ×1
order-by ×1
permissions ×1
snapshot ×1
ssis ×1
ssms ×1
ssrs ×1