测试 SQL Server 2005 正在侦听 IP 和端口的最佳方法是什么?
一些背景:我正在尝试使用 freetds 将 Unix 框连接到 SQL Server 2005。但是 tsql 一直告诉我“Adaptive Server 不可用或不存在”。我试图弄清楚问题是否出在我的 SQL Server 或 FreeTDS 配置上。(SQL 服务器目前被用作运行一些 .net 网站的服务器的数据源;所以我倾向于 UNIX 端的问题)
SQL Server 在系统程序文件目录结构中创建其数据库。
我想将数据库文件与系统分区分开。
假设已经创建并填充了数据库:如何将与数据库相关的所有文件移动到单独分区上的不同位置?
database-administration sql-server sql-server-2005 sql-server-2008
我有一个带有 SQL Server 2005 的 Windows 2003 服务器,当我登录到 Management Studio 时,右键单击一个数据库并选择“删除”,我会看到“删除对象”对话框。然后我点击底部的确定,它使对话框变灰并显示一个旋转指示器但没有完成。我让它运行了 5 或 10 分钟,它似乎耗尽了 CPU,但没有做任何事情。我试图删除的数据库非常小(一些表可能有 1-3 mb 的数据)。有任何想法吗?
最近继承了一个很大很乱的数据库,需要清理一下。为了了解大小,主数据库目前包含 3 个大表,每个表大约有 3 亿行,占用大约 225GB 的存储空间。每天添加超过 500 万行。
由于严重的磁盘空间不足(前任根本没有归档旧数据或管理它的大小),我被迫从最大的表中删除了大约 2.8 亿行。这个过程需要 25 多个小时才能完成,在此期间数据库需要与面向客户的应用程序断开连接。
现在,我需要重新索引表,因为选择和插入需要很长时间。但是,我不能无限期地使数据库脱机,我需要能够估计执行重新索引所需的时间。我以前从未重新索引过这么大的表,所以我真的没有任何好的参考点可以利用。
主表包括一个聚集的、单调递增的主键,以及一个非唯一的非聚集键。我有足够的磁盘空间来执行重新索引。
所以我的问题是:人们大约需要多长时间才能做到这一点?估计重新索引时间的好的经验法则是什么?
我有一个在任何意义上都很大的 SQL Server 2005 数据库。它很复杂,它有很多数据(相对而言,但由于缺少 blob,它仍然相当大)并且被大量访问。
需要完成哪些基本管理任务才能确保数据库保持正常运行并且不会(最坏的情况)损坏或以其他方式恶化。
备份是给定的,但是处理事务日志的好方法是什么?您将它们保留多长时间,如果需要,您如何确保使用它们从备份中播放?
还应该进行哪些其他类型的维护?
是否可以在不停机的情况下将 sql server 2005 db 移动到运行 sql server 2008 的其他服务器?该系统是 24/7 全天候运行的,必须移动到具有不同存储空间的不同服务器。
我们尝试复制数据库,但这并不能在过程结束时保持整个数据库同步。
high-availability sql-server sql-server-2005 sql-server-2008
我有一个使用 4 个独立数据库的 Win Form、Data Entry 应用程序。这是一个偶尔连接的应用程序,它使用合并复制 ( SQL 2005 ) 保持同步。这工作得很好。我要解决的下一个障碍是将过滤器添加到我的出版物中。
现在,我们正在向我们的 150 个订阅者中的每个订阅者复制 70mbs 压缩包,而实际上,他们只需要其中的一小部分。使用过滤器我能够做到这一点(见下面的代码),但我必须制作一个映射表才能做到这一点。此映射表由 3 列组成。一个 PrimaryID(Guid)、WorkerName(varchar) 和 ClientID(int)。
问题是我需要在所有四个数据库中都存在这个表才能将它用于过滤器,因为据我所知,过滤器语句中不允许使用视图或跨数据库查询。
我有哪些选择?
似乎我会将它设置为在 1 个数据库中维护,然后使用触发器在其他 3 个数据库中保持更新。为了成为过滤器的一部分,我必须将该表包含在复制集中,所以我如何适当地标记它。
有没有更好的方法呢?
SELECT <published_columns> FROM [dbo].[tblPlan] WHERE [ClientID] IN (select ClientID from [dbo].[tblWorkerOwnership] where WorkerID = SUSER_SNAME())
Run Code Online (Sandbox Code Playgroud)
这允许您将过滤器链接在一起,下一个过滤器低于第一个过滤器,因此它仅从第一个过滤器集中提取。
SELECT <published_columns> FROM [dbo].[tblPlan] INNER JOIN [dbo].[tblHealthAssessmentReview] ON [tblPlan].[PlanID] = [tblHealthAssessmentReview].[PlanID]
Run Code Online (Sandbox Code Playgroud) replication filtering merge-replication sql-server sql-server-2005
我有一个查询,用于检查我们是否已销售特定库存商品
select * from merchand_history where stock_code = 'zzz007' and create_timestamp >= getdate() order by create_timestamp desc
Run Code Online (Sandbox Code Playgroud)
我想要一个向用户发送电子邮件的 sql 作业(我猜是使用警报机制),但前提是该查询返回了行。
我想不出如何做到这一点并屈服于蜂巢思维。我真的需要一个只有 sql 的解决方案......
我无法连接到生产 SQL 服务器。我的管理员重置了我的密码,并告诉我密码是什么。
SQL Server Management Studio 给我这个错误:用户“比尔”登录失败。原因:必须修改账号密码。(Microsoft SQL Server,错误:18488)
那么,如何重置密码呢?
我尝试使用此帐户终端进入服务器,但它说该帐户不存在。所以我猜它不是一个普通的服务器帐户——只是 SQL 服务器。(如果有帮助的话)
我需要在面向公众的生产服务器上配置 SQL Server 别名。为此,我需要安装 SQL Server 配置管理器。
我找不到一个独立的安装程序,所以我必须安装 SQL Server 2005 客户端组件。这种方法并不理想,因为我们不想在面向公众的生产服务器上使用 SSMS。
有没有办法在不安装 SQL Server Management Studio 的情况下安装 SQL Server 2005 配置管理器?
谢谢,
阿诺德
sql-server-2005 ×10
sql-server ×7
alerting ×1
alias ×1
filtering ×1
indexing ×1
replication ×1
sql ×1
ssms ×1