我们的网络上有一些应用程序(在我之前)在其 SQL Server 连接字符串中使用 SA 帐户。它在源代码中是硬编码的,无论出于何种原因,我们都无法更改它 - 我的问题不是我们为什么要更改它,而是解决它。
我正在考虑将 SA 帐户重命名为其他名称(例如“SysAccount”或类似名称,并为其提供新密码),然后使用旧密码创建一个名为“SA”的新帐户并授予其适用于应用程序的权限(显然不是 sysadmin 角色的成员)。这样做有什么陷阱吗?如果名为 SA 的帐户实际上不是系统管理员,SQL Server 是否会遇到已知问题?
我假设因为我只是重命名帐户,所以我是安全的 - 它的 uid 仍然为 0x01,我已经测试过了,它在物理上是可行的,并且在测试中似乎可以正常工作,但我想确保我并没有忽视任何会因此而明显破裂的东西。如果它破坏了某些东西,我总是可以删除新的 SA 并将旧的 SA 重命名回以消除损坏,但希望避免尝试和失败。
我正在使用 SQL Server 2012,但我怀疑相同的答案将适用于任何现代版本。我已经看到了从 2005 年升级到 2008 年的错误,如果你这样做了,但我想这个问题早就解决了。
在执行 SQL Server (v12.0.2000) 数据库的还原后,我认为需要将用户重新映射到其登录名(这个问题似乎被称为孤儿用户)。最简单的方法之一是执行:
use [MyDatabase];
alter user MyUser with login = MyUser;
Run Code Online (Sandbox Code Playgroud)
然而,在实现恢复后,该USE命令失败了,因为我试图用 执行上述命令'MyUser',这是孤立的...
因为它是在脚本中,所以我想避免restore与一个用户和alter user另一个用户执行 a ,以便第一个用户正确地重新映射到其登录名。
有没有办法用“MyUser”来做到这一点(谁可以毫无问题地连接到主人)?
我通过以下方式完全限定“MyUser”进行了尝试,但没有成功:
use master;
alter user MyDatabase.MyUser with login = MyUser;
Run Code Online (Sandbox Code Playgroud)
知道这是否可能以及如何做到吗?
我使用 SharePoint 2013 和 SQL Server 2012 作为持久层。我需要加密存储在数据库中的数据。我偶然发现了 SQL Server 功能透明数据加密 (TDE)。
使用 TDE 时,文档库中的文件(Office 文档)会发生什么情况?文件也被加密还是只加密表?
sharepoint encryption sql-server-2012 transparent-data-encryption
抱歉,如果之前有人问过这个问题,建议的“相关”问题不相关,而且我自己的搜索结果很少。
我需要列出所有存储过程的定义(代码),以便我可以开始处理所有 450 个并添加分号以实现 v2014 标准。
我在这里找到了以下代码并稍微修改了它:
SELECT
obj.Name AS SPName,
REPLACE(modu.definition, 'CREATE PROC', 'ALTER PROC') + 'GO' AS SPDefinition
FROM
sys.sql_modules modu INNER JOIN
sys.objects obj ON modu.object_id = obj.object_id
WHERE
(obj.type = 'P')
ORDER BY
obj.name;
Run Code Online (Sandbox Code Playgroud)
上面的代码是使用 SA 帐户运行的。
我认为这正是我需要的,但是,我刚刚注意到 MSDN 上有人声称它没有按预期显示全文。
将结果粘贴到 SSMS 编辑器中时,我有 46,000 行代码需要处理,因此如果缺少任何内容,对我来说并不明显。我想确保在编辑器中浪费一天之前我已经正确地开始了这个过程。
因此,我正在联系您的专业人士,询问这是否是这种方法的真正缺点,或者是否有替代方法而不是一个一个?
在我的一台服务器(Win 2012 R2)上,SQL Server 2012 不断受到攻击,SA 帐户每秒被攻击 10 次,使用不同的密码。我没有 SA 帐户,但我仍然想停止这种探测,因为它可能会消耗资源。我一直在手动检查日志并在防火墙级别阻止有问题的 IP,但我仍然想要一个更好的解决方案。SQL Server 使用 IIS 在本地运行以为其网站提供服务,我只需要远程连接到 SQL Server 以使用 SSMS 进行数据库开发,所以起初我想设置一个 VPN,但不确定这是否会与 SSMS 和其他服务一起使用像 FTP。作为临时解决方案,我可以通过禁用端口 1433 来阻止 SQL Server 在防火墙处对外界可见,或其他地方?然后我可以在开发时启用/禁用它,也许只是为了我的 IP。谢谢。
我需要检查datecom小于datelivr
create table Commande
(
Numcom int identity primary key,
Datecom date,
Datelivr date,
Codecli int foreign key references clients (Codecli)
)
alter table Commande
add constraint date_check check(datediff(day,Datecom,Datelivr) > 0)
Run Code Online (Sandbox Code Playgroud)
但我收到错误消息:
ALTER TABLE 语句与 CHECK 约束“date_check”冲突。冲突发生在数据库“tp4”,表“dbo.Commande”中。
这怎么会发生?
在我的 SQL Server 2012 x64 Std 实例上,由于事务日志昨天被填满,我有一个大事务失败,它无法回滚,SQL Server 已重新启动特定的数据库以执行恢复。
DB 大约为 750GB,tlog 达到 170GB(正在运行非常大的 ETL 作业)。该作业仅运行了几个小时,但到目前为止恢复已经花费了 24 小时以上(完成了 70%,在第 3 阶段,共 3 阶段)。
我不明白为什么要花这么长时间?磁盘上似乎没有任何压力,sys.dm_exec_requests显示它正在等待PAGEIOLATCH_EX/SH,这是我所期望的。这次我可以恢复整个数据库......
如果任何人都可以提供任何线索,将不胜感激。
编辑:根据要求,获取错误日志的输出:
Recovery of database 'MyDB' (6) is 77% complete (approximately 28100 seconds remain). Phase 3 of 3. This is an informational message only. No user action is required.
Recovery of database 'MyDB' (6) is 77% complete (approximately 28095 seconds remain). Phase 3 of 3. This is an informational message only. No …Run Code Online (Sandbox Code Playgroud) 我的备份计划是:
所有数据库备份都存储在我的电脑上。
我向我的数据库添加了一些错误的更改,现在我需要在 SSMS 的帮助下将其恢复到时间点 (SQL Server 2012)。
首先我用 NORECOVERY 恢复了最后一次完整备份,它恢复成功,然后我尝试用 NORECOVERY 恢复最后一次差异备份并收到以下错误消息:
由于 LSN 链中断,无法创建恢复计划。
请指教。我究竟做错了什么?
我是一名正在阅读“查询 Microsoft SQL Server 2012”一书的开发人员。我遇到了下图:
为什么图表前两行中的页面(第 1 行开始:1:174和第 2 行开始:)1:41不是范围的一部分?文档说:“所有页面都存储在范围内”:
数字方案是如何工作的,例如是什么1:174意思?
在图的正上方,这本书说:“一个对象的 IAM 页面被组织成一个双向链表;” 该图未显示页面之间的任何链接。
简而言之:似乎我只收到了 SQL Server 作业历史记录的 PRINT 消息。有效历史输出的定义是什么?
背景:只执行一条像这样的语句UPDATE product SET ...不会在作业历史中留下任何痕迹(无论是否选中“在历史中包含步骤输出”)。在查询分析器中运行相同的语句显示“(X 行受影响)”。
通过创建一个变量并在更新后为它分配@@ROWCOUNT 内容,我可以构建和打印一条包含受影响行数的消息。这将包含在工作历史中。这工作正常,但我想知道Transact-SQL 脚本作业步骤的输出定义(写入历史记录)。除了 PRINTed 字符串之外还包括什么?
人们可能很容易认为历史记录会与 SQL Server Management Studio 的“查询”窗口(以前称为“查询分析器”)的“消息”窗格中显示的完全相同——但事实并非如此。
sql-server-2012 ×10
sql-server ×8
alter-table ×1
backup ×1
constraint ×1
ddl ×1
encryption ×1
index ×1
jobs ×1
logins ×1
recovery ×1
restore ×1
security ×1
sharepoint ×1
t-sql ×1
transparent-data-encryption ×1
users ×1