目前我正在使用 VisualSVN 服务器,它只能在我的家庭网络上访问。最终会有其他人访问它,但现在只有我,我希望能够去咖啡店(或任何地方)并且能够离开家工作。
目前我正在访问服务器http://user-pc:xx/svn/Projects/。当我设置我的路由器将端口 XX 转发到我的服务器时,我应该采取哪些步骤来保护服务器?
请记住,我是在 Windows 上执行此操作的,虽然我广泛使用常规命令提示符,但我使用 SVN 的时间并不长,而且到目前为止,除了 TortoiseSVN 之外,我还没有使用任何其他东西来处理它。
编辑:据我所知,攻击者可以做的唯一有害的事情是:猜测我的端口号、用户名和密码以进入存储库。然而俗话说的好,我不知道我不知道什么。
因此,我不一定要求逐步说明(尽管我当然也希望这样做),而是要求我在端口打开后可能进行的任何类型的攻击中需要考虑的事项。
我想查看服务器上每个数据库的所有存储过程的列表,以及上次运行该存储过程的时间。我对 SQL 非常擅长,但我不知道如何查看 sql 保持的这样的统计数据,所以我很感激找到这些信息的一些帮助。
编辑:
从我得到的答案来看,这听起来不像我想象的那样可能。我在想,它可以像查看上次访问表的时间一样完成:
select t.name, user_seeks, user_scans, user_lookups, user_updates,
last_user_seek, last_user_scan, last_user_lookup, last_user_update
from sys.dm_db_index_usage_stats i JOIN
sys.tables t ON (t.object_id = i.object_id)
where database_id = db_id()
Run Code Online (Sandbox Code Playgroud)
上述脚本是从http://blog.sqlauthority.com/2009/05/09/sql-server-find-last-date-time-updated-for-any-table/的评论中窃取的。
我正在尝试访问报告管理器,在我的例子中,它位于http://localhost/Reports. 当我尝试去那里时,出现以下错误:
用户“计算机名\用户名”没有所需的权限。验证是否已授予足够的权限并且已解决 Windows 用户帐户控制 (UAC) 限制。
似乎我能找到的与此错误相关的所有信息都与尝试访问报表服务器 Web 服务 URL(这当然给了我同样的错误)有关,并且该问题的解决方案需要访问报表管理器,因此这不是很有帮助。我还尝试按照一种解决方案的建议以管理员身份运行浏览器,但没有任何区别。
我使用的是 Windows 8,没有域。我以用于安装操作系统以及所有其他软件的同一用户身份登录,并且它具有 SQL Server 数据库引擎的系统管理员权限。让我知道您还需要了解什么,我会尽快发布。
在我的旧工作中,当需要报告时,我可以与某人坐下来提取结果并立即获得反馈,然后优化我的查询并最终在 30-90 分钟内以我们需要的格式获得我们需要的数据。
我刚开始在一家新公司工作,该公司的数据库包含数百万条记录,我花了整整 8 个小时制作一份报告,如果不是查询的大量数据,我觉得我可以在不到 2 小时内完成以及我无法要求需要数据的人与我坐下来并在我像往常一样提取结果时给我反馈的事实。
所以我正在考虑如何让服务器更快……更快,这样我就可以拥有与习惯相同的生产力水平。刚刚想到的一个想法是,现在内存太便宜了,根据我的计算,我可以花 1000 美元购买 10 个 8gig 内存条。我从未听说过一种设备可以让我将它们组合成一个巨大的 ram 驱动器。
所以我想知道是否存在任何这样的设备,如果没有,我可以实际制造的最大内存驱动器是什么,我将如何去做?
编辑:对于那些说需要分析数据库 shema 的人......你不能通过规范化或索引表来使诸如“从 SomeTable 中选择 f1、f2、f3 等”之类的查询运行得更快。我在谈论的是绝对需要在硬件级别提高性能。
我习惯于在几秒钟内得到结果,而不是几分钟或更短的半小时。也许这就是你们习惯于拥有 1000 亿个记录表的情况,并且您觉得这很快,但我正在寻找从包含大约 1000 万条记录的表中返回的结果,以在不到半分钟的时间里返回给我。
firewall ×1
memory ×1
performance ×1
permissions ×1
security ×1
sql ×1
ssrs ×1
svn ×1
windows ×1