Articles of sql server

最佳的SQL Server报告服务设置

我想确定一个用于SQL Server Reporting Services的最佳设置,以用作SaaS基于Web的应用程序的集成报告工具。 所有的报告都是预定义的,用户可以select一个报告,并在基于Web的前端input一些参数。 然后将parameter passing给报表,该报表抽取数据,格式化结果,并将PDF或Excel文件返回给Web应用程序。 虽然我们有现有的SQL Server支持我们的Web应用程序,但没有安装Reporting Services。 选项包括: 1)将Reporting Services添加到现有的SQL Server实例 2)在已经运行SQL Server的物理服务器上创build一个新实例,并为Reporting Services使用该新的SQL实例 3)有一个单独的物理服务器的Reporting Services 虽然#3是最佳的,它也花费额外的SQL Server许可证,这是不便宜的。 我不知道如果我select#2获得多less,除了一些稳定。 选项#1可能是阻力最小的path,但是我知道SSRS会带来一些相当大的开销,我不希望有太多的性能问题。 任何人都需要做这样的事情? 轶事和意见的欢迎。

对于WebUser,我的SQL Server 2005数据库需要什么权限?

我有一个连接string在我的asp.net代码看SQL Server 2005数据库。 我创build了一个名为WebUser的用户名,并在SQL Server 2005中授予他db_datawriter和db_datareader。在login和数据库下,用户必须能够读取并能够更新? 这是我所需要的还是正确的事情? 连接string将如下所示。 <add name="ConnectionStringName" connectionString="DataSource=localhost; Initial Catalog=DBName;User ID=WebUser; Password=mypassword; Integrated Security=FALSE" providerName="System.Data.SqlClient"/> </connectionStrings>

netlogon错误

我有两个mssql 2005实例,我正在使用CA XOSoft复制。 主服务器是故障转移群集,副本服务器是独立服务器。 他们都运行Server 2003 SP2 X64。 所有服务器上的相同补丁级别。 这个设置工作了好几个月,直到我们最近在master的两个节点上限制了RPC端口(5000-6000使用rpccfg.exe)。 我们必须实现出口过滤,从而限制端口。 我们开始接收SQL窗口身份validation和NETLOGON的login错误事件ID:5719: 由于以下原因,此计算机无法与域中的域控制器build立安全会话:没有足够的存储空间来处理此命令。 这可能会导致身份validation问题。 确保这台电脑连接到networking。 如果问题仍然存在,请联系您的域pipe理员。 我们也看到组策略无法更新,集群文件共享同时脱机。 当我们开始看到这些问题并重新启动服务器时,RPC端口被重新设置为默认值,但问题仍然存在。 域控制器不显示任何错误。 运行dcdiag和netdiag显示一切正常。 我们已经注意到,XOSoft服务ws_rep.exe使用了很多句柄(8-9k),大约与sqlserver使用的数量相同。 只要xosoft复制停止,login错误就会停止,一切正常。 我已经为XOSoft打开了CA的票证,但是我不确定这个问题实际上是xosoft,但问题在于这个问题。 我正在寻找关于debuggingRPC问题的提示。 特别是限制端口,然后恢复更改。

如何从SQL Server 2005的用户数据库中的存储过程执行msdb.dbo.sp_start_job

我试图从MyDB.dbo.MyStoredProc执行一个msdb.dbo.sp_start_Job为了执行MyJob 1)我知道,如果我给用户一个SqlAgentUserangular色,他将能够运行他拥有的工作(但这是我观察到的:用户可以开始/停止/重新启动SQL代理,所以我不想去这个路线) – 让我知道如果我错了,但我不明白为什么这样一个低权限的用户能够启动/停止代理。 2)我知道,如果我给予执行权限执行用户到msdb.dbo.Sp_Start_job和启用所有权链接或启用可信用户数据库它会工作(但我不希望在用户数据库启用所有权链接或信任) 3)我这可以通过代码签名来完成 用户数据库 i)创build存储过程MyDB.dbo.MyStoredProc ii)创build一个certificae job_exec iii)用证书job_exec签名MyDB.dbo.MyStoredProc iv)导出证书 msdb i)导入证书ii)从这个证书创build一个派生用户iii)为这个派生用户授予authenticationiv)在msdb.dbo.sp_start_job上向派生用户授予执行权v)在msdb.dbo.sp_start_job上向执行的用户授予执行权MyDB.dbo.MyStoredProc 但我试了一下,它不适合我 – 我不知道我失踪或做错了哪一块 所以请为我提供一个简单的示例(使用脚本),使用代码签名从用户存储的prod MyDB.dbo.MyStoredProc中执行msdb.dbo.sp_start_job 许多许多人提前感谢 谢谢拉姆

此强制重新合并复制拓扑?

我需要将一些列添加到作为复制集的一部分的表中。 它不是约束库或任何文章filter的一部分,它允许NULL。 我有一个很好的主意,我可以运行这个 – > ALTER TABLE tblPlanDomain ADD ReportWageES VARCHAR (100) NULL 而不是强迫所有的客户重新初始化,但我希望有一些保证。 任何人都可以validation这种方式或其他对我来说? 谢谢, 编辑:添加信息 这就是我所说的 – > http://msdn.microsoft.com/en-us/library/ms151870.aspx 在这个基础上,似乎我的问题的答案是否定的,但我仍然希望得到人的确认。

你可以使用AD LDS(ADAM)帐户validationSSAS吗?

我对AD LDS非常陌生,经验丰富,但不具备SSAS的资格,所以我对此表示歉意。 我们有几个实现,我们通过HTTPS代理(msmdpump.dll)公开SSAS,目前我们有一个临时域设置处理这个(我们的最终用户有第二个帐户+信誉pipe理,因为这是非理想的) 。 我希望将我们推向一个更持久的解决scheme,我正在考虑将所有身份validation移动到我们的Web应用程序,SSAS和其他AD LDS。 但是,SSAS是我关心的这个问题。 我知道SSAS需要Windows身份validation,并且打得很好,而这最终意味着将涉及Active Directory。 有没有办法使用AD LDS完成这个工作,而不必使用完整的AD DS实现? 如果是这样,怎么样? (注:我在StackOverflow的问题有一个build议,我在这里发布这个问题在ServerFault而不是我的道歉,如果我没有问在正确的论坛。

Windows Server 2008群集错误

我们有几十个用于SQL Server 2008和2008 R2 Enterprise / Datacenter的Win2008和2008R2企业集群。 过去,我们在全球的另一台服务器上出现了许多随机故障转移和“networking分区”错误的问题。 这主要是在更新网卡驱动程序和卸载Forefront端点保护解决(不知道如何发挥了一切,但它帮助)。 快到六月份到十一月,我们从SCOM和事件日志中获得了不断的警报,这些群集(特别是两个群集)每周几次都出现“networking分区”错误,但实际上并没有发生故障 。 SQL Server仍在运行,Web前端没有发现服务中断。 这些错误似乎来源于“被动”节点,并通过networking进行复制(我们收到来自被动,然后活动,然后是Web前端的第一个警报),但是所有节点/networking适配器/磁盘/应用程序/ IP /网站保持正常运行。 当群集,networking或任何东西没有出现问题时,我们无法find导致这些错误不断出现的原因。 任何有关我们可以去调查的原因或可能的方向的想法都会很好。

SQL Server上的磁盘时间很长

我们有一个专用的SQL Server 2008 R2企业版。 设置是: D :(数据文件) – 存储在本地ssd磁盘上(与日志文件不同)(raid 10) E:(日志文件) – 存储在本地ssd磁盘上(与数据文件不同)(raid 1) F :(事务日志备份) – 远程存储在SAN上 今天我们把日志文件移到新的磁盘上(从F:到E :)。 从共享卷(F:(SAN))到专用本地磁盘(E :)。 然后会发生什么是在我们有数据文件的卷(D :)(不在日志文件所在的卷上)增加了“磁盘时间”,“平均传输时间”和“平均磁盘写入队列长度” )。 数据卷和日志卷不共享磁盘,但共享相同的控制器卡。 所有卷的“磁盘空闲时间”都很低。 一个想法是,控制卡可能会过载。 但是,我们需要更多的想法来解决问题。 更新: RAID控制器是DELL PERC H700(512 MBcaching)。 服务器是戴尔R910 。 在高峰时段我们有大约2500笔交易/秒。 自从我们移动日志文件(即使在低stream量时间)以来,“磁盘时间”计数器已经达到了100%。 对于D:(数据文件)和E :(日志文件),“磁盘空闲时间”约为98-99% 我们已经为数据磁盘和日志磁盘configuration了回写caching​​。 等待统计看起来像这样: wait_type wait_time_s ——— ———– BROKER_TASK_STOP 1283336.21 FT_IFTS_SCHEDULER_IDLE_WAIT 101357.47 PAGELATCH_EX 89712.72 BROKER_TRANSMITTER 75894.76 XE_TIMER_EVENT […]

尝试访问与用户SA的SQL Server

可能重复: 尝试使用用户SA访问SQL Server 我正在遭受蛮力企图入侵。 一个机器人正试图找出sa密码。 如何限制在SQL Serverlogin3次尝试? 另外,我想阻止一个IP,我该怎么做?

如何每天自动从mysqldump文件创build一个SQL Server数据库?

最近,一家供应商宣布他们正在升级他们的stream程,而我们从他们那里获得的每日自动化数据转储现在将以MySQL数据转储格式进行。 不幸的是,我们只是微软的商店,所以我们不能直接导入这些文件。 所以我的问题是:如何获取数据转储文件并将其导入到SQL Server 2005实例中以创build数据库? 注意事项: 解决scheme需要自动化,不需要人工干预; 它必须是我们可以每天计划的事情,只是得到它的工作/失败的通知。 我们喜欢免费(谁不?)/已经购买的工具(例如已经是SQL Server的一部分),但是如果需要的话,我们可以购买一些东西。 我们无法控制数据或原始数据库,所以我们不能控制运行mysqldump命令,而'compatible'选项设置不同。 我们真的不想做一些事情,比如加载MySQL的本地实例来导入转储,然后将数据转储到MSSQL。 就像我刚才提到的那样,我们是一个只有MS的商店,而且我们并没有设置为支持MySQL实例,即使是像这样的自动化过程。