我有一台运行所有 .NET Framework 版本的服务器,从 2.0 到 4.0。我需要部署的应用程序将无法在更高版本上正确运行,并且最初是为 1.1 编译的。在机器上安装 1.1 版本而不会导致更高版本出现任何问题是否安全?
编辑添加:
对于接受的答案,我必须评论实际安装 .NET 1.1 后的情况。一切顺利,只是出现了一个问题。机器上安装了Sql Server 2005 Developer Edition,安装1.1后,Sql Server Management Studio不能正常工作,需要卸载重装。只是一个小问题,但值得注意。
我有一个当前 150GB 的数据库文件,但只有 75GB 正在使用 - 这是因为我将所有索引(其他 75GB)移动到一个新的数据文件中。我想从这个数据文件中回收至少一部分空间,但是当我尝试缩小文件时,它无限期地“执行”,最终由于网络中断或其他我无法控制的事情而被取消(在跑步的日子)。即使使用“缩小到特定大小”功能并指定它只剪掉 10MB 似乎也永远不会返回 - 它只是在过程中断之前一直存在。
有没有另一种方法可以回收这个空间,甚至一次一点?
编辑:有人发布了一个链接,解释了为什么我不应该缩小我的数据库。我明白,无论如何我都想缩小它。这台服务器上的磁盘空间非常宝贵,并且数据库在很长一段时间内不会再次扩展到这个未使用的空间 - 正如我之前所说,我将索引从数据文件中迁移出来以释放这个空间,所以现在它被浪费了.
我编写了一个 PS1 脚本,该脚本对文件进行 7-zip 压缩,并使用 PuTTY 的 SCP 将其存储在我的备份服务器上。我已经测试过它并且工作完美。
然后,我登录到 SQL Server 代理,并向备份作业添加一个额外的步骤,以便在备份作业完成后立即执行该脚本。它被正确调用,创建 .7z 文件,并调用 pscp.exe...并停止。我转到 SQL Server 代理的作业活动监视器并找到以下内容:
Message
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 b5:f8:d2:5f:be:90:b6:be:15:d3:26:d5:c6:42:59:05
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, …Run Code Online (Sandbox Code Playgroud) 我正在尝试INSERT对链接服务器执行操作:
DBCC TRACEON (3604, 7300)
BEGIN TRANSACTION
INSERT INTO LIVE.Contoso.dbo.Events (EventGUID, EventDate, LoginGUID, UserGUID, EventType, Notes, TargetGUID)
VALUES ('{494D023F-CD5A-11E2-9F18-C86000D0B92A}', getdate(), '{3B4F90C0-CD5A-11E2-9F18-C86000D0B92A}', '{494D023D-CD5A-11E2-9F18-C86000D0B92A}', 1, N'Test notes', '{494D023E-CD5A-11E2-9F18-C86000D0B92A}')
ROLLBACK TRANSACTION
Run Code Online (Sandbox Code Playgroud)
它返回错误:
链接服务器“LIVE”的 OLE DB 访问接口“SQLNCLI”返回消息“无法在此会话上启动更多事务。”。
消息 7395,级别 16,状态 2,第 3 行
无法为链接服务器“LIVE”的 OLE DB 提供程序“SQLNCLI”启动嵌套事务。需要嵌套事务,因为 XACT_ABORT 选项设置为 OFF。
这个本地数据库从 2000 年(查询有效)移动到 2005 年(查询无效)。远程服务器是 2008 R2。
两年前我问过的这个问题的详尽清单。
--EXEC master.dbo.sp_dropserver @server = N'LIVE'
EXEC master.dbo.sp_addlinkedserver @server = N'LIVE', @srvproduct=N'', @provider=N'SQLOLEDB', @datasrc=N'vader'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'LIVE', @locallogin = NULL, …Run Code Online (Sandbox Code Playgroud) 在 SQL Server 2005 / 2008 上设置安全性时。更安全的选项是什么?
服务器是否会被许多桌面客户端(胖客户端)访问,或者少数 Web 服务器将访问它是否重要?
编辑
为什么它更安全?使用 Windows 身份验证确实意味着我们可以避免将连接字符串放在配置文件中,这是一个优点。
Windows 身份验证还允许我们根据他们的 NT 凭据控制谁可以访问,我认为当您的客户端直接连接到服务器时,这是理想的。
然而,我一直想知道的一件事是,当所有客户端都通过 Web 服务等代理时,NT 身份验证有多大用处。
场景:我们希望在 Active Directory 域环境中使用 SQL Server 2005 Standard 版本的数据库镜像以及见证服务器。数据库是从 3rd 方应用服务器提供的,除了数据库连接字符串之外,该服务器无法修改。
与此相关的两个问题:
我有一个由 10 个步骤组成的 SQL Server 代理作业,每个步骤都定义了许多参数。现在我需要另一份几乎完全相同的工作,但有一些不同。由于“复制/粘贴”不是工作的选项,我正在寻找关于什么是基于第一个创建新工作的最佳方式的建议。
编辑:我刚刚注意到我可以右键单击并“将作业编写为脚本”。我想一种选择就是这样做并为我的更改编辑脚本。我仍然很好奇是否还有其他(更好的?)选择。
我正在使用 SQL Server 2005 并且我有一列需要存储大量文本(有时超过 8000 个字符,varchar 限制)。使用“文本”数据类型有什么缺点吗?我还阅读了有关使用 varchar(MAX) 的信息——如果我存储在其中的大部分数据少于 8000 个字符会更好,但我需要能够支持更多?
我对 SQL Server 2005 附带的 Activity Monitor 并不感到兴奋,尽管我认为它正在尝试做同样的事情。
查询片段、用户名、数据库名称、来自表名、CPU 时间、IO 时间、分配的内存、可能获得的锁...
将刷新速度设置为 2-3 秒,让它运行?
我喜欢分析器——对性能调优非常有用;但有时像 top 这样工作的东西对于故障排除来说会很棒。
编辑:不需要 sql studio 的命令行工具可能不错。
我有我公司最近接管的一个项目的数据库的 .bak 文件。
我能够恢复几个 .bak 文件,但最重要的一个失败了。
当它失败时,我只会收到一个通用错误,并要求检查日志。
这是发生的错误:Message SQL Server Assertion: File: , line=1443 Failed Assertion = 'pFile'。此错误可能与时间有关。如果重新运行语句后错误仍然存在,请使用 DBCC CHECKDB 检查数据库的结构完整性,或重新启动服务器以确保内存中的数据结构未损坏。
我不知道如何在 *.bak 文件上运行 DBCC CHECKDB。
任何帮助将不胜感激。虽然我作为开发人员有使用 SQL 的经验,但我绝对不是 DBA。所以假设我是个白痴。:)
谢谢!
sql-server-2005 ×10
sql-server ×8
ssms ×2
.net ×1
agent ×1
backup ×1
mirror ×1
monitoring ×1
msdtc ×1
putty ×1
security ×1
shrink ×1
sql ×1
ssis ×1