我正在创建一个脚本来将数据库从备份文件恢复到实例的默认位置,该位置远离系统数据库安装文件夹。
目前,我正在使用查找默认DATA位置
SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)
FROM master.sys.master_files
WHERE database_id = 1 AND file_id = 1
Run Code Online (Sandbox Code Playgroud)
和默认LOG位置
SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'mastlog.ldf', LOWER(physical_name)) - 1)
FROM master.sys.master_files
WHERE database_id = 1
AND file_id = 2
)
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以在查询的帮助下找到数据库默认位置?
谢谢你的时间。
我刚刚遇到了 SQL 的一部分,它的行为与我预期的不同(请参阅下面的有关 SQL 的提炼版本,该版本演示了问题模式)。
(这是在 SQL Server 2008 R2 SP2 64 位上)
“在这里做一些工作”部分会引发错误并触发 CATCH 块中的错误处理。错误编号为 515(尝试将空值插入不可为空的列),因此 RAISERROR 报告错误,但随后循环继续,再次尝试工作,在无限循环中引发错误等。
我希望 RAISERROR 导致执行退出循环。这里发生了什么?
谢谢
WHILE (@Applied <> 1)
BEGIN
BEGIN TRY
-- === Do some work here ===
-- Successfully applied
SET @Applied = 1;
END TRY
BEGIN CATCH
-- Save the error details
SELECT
@ErrorNumber = ERROR_NUMBER(),
@ErrorMessage = ERROR_MESSAGE(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE();
-- Test for a deadlock or uncommittable transaction
IF (@ErrorNumber = 1205 OR @ErrorNumber …Run Code Online (Sandbox Code Playgroud) 我有一个创建如下的表。
CREATE TABLE [dbo].[Table1](
[ID] [INT] IDENTITY(1,1) NOT NULL,
[Title] [VARCHAR](255) NULL,
...
Run Code Online (Sandbox Code Playgroud)
假设最新的 ID 是 100(我有 100 条记录)
有没有办法到ALTER这个表的IDENTITY列并将自动增量值更改为现在 500?
所以最后我会得到这样的 ID 98, 99, 100, 500, 501, ....
我似乎无法在 T-SQL 中找到解决方案
从其他位列计算位列的公式是什么?
例如:
CREATE TABLE #Employee
(
[empNumb] [INT] identity(1,1) PRIMARY KEY,
[IsOk] [BIT] NOT NULL, -- This is computed from other three columns.
[HasValidHours] [BIT] NOT NULL,
[NoDemerits] [BIT] NOT NULL,
[NoAccidents] [BIT] NOT NULL
);
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_HasValidHours]
DEFAULT ((0)) FOR [HasValidHours];
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_NoDemerits]
DEFAULT ((0)) FOR [NoDemerits];
ALTER TABLE #Employee ADD CONSTRAINT [DF_Employee_NoAccidents]
DEFAULT ((0)) FOR [NoAccidents];
Run Code Online (Sandbox Code Playgroud)
IsOk将根据,和的和-ing计算。HasValidHoursNoDemeritsNoAccidents
如果您没有听说过,最近发现了一组相关漏洞,这些漏洞影响了过去十年中销售的几乎所有处理器。您可以在 InfoSec.SE 上找到有关崩溃/幽灵漏洞的更多技术细节。
作为 MongoDB DBA,我需要了解什么?
潜在的性能影响是什么?什么是正确的修补指南?云提供商针对此漏洞采取了哪些措施?
相关问题:
如果将 Ola Hallengren 索引维护解决方案安装到已对多个索引应用了压缩的服务器上,脚本在重建相应索引时是否会遵守当前的压缩级别?
有没有可能做到这一点?由于内部合规性,需要记录在任何数据库中执行的所有查询和操作。
如果我们需要 MS SQL 2017 标准版或企业版,我需要信息(和/或来源)以确保记录数据库管理员的活动(运行、修改等查询...),而不仅仅是非管理员执行的活动用户。
我想删除我在 SQL Server 2008 的脚本中使用的临时表。如果不编写几行代码,我找不到删除它的方法。我一直无法找到正常工作的代码。有没有什么办法不用编写代码就可以做到这一点?如果没有,我的方法应该是什么?在新脚本中复制我的代码然后创建同名临时表会有帮助吗?
非常感谢任何帮助/建议/建议。
最近,我在为数据仓库准备数据的过程中添加了一些临时表的索引。在测试数据库上,这些过程的测试运行良好,但在客户端服务器上运行时,由于此错误而失败,需要重新启动服务器。这可能与添加索引有关还是完全不同?
客户端的服务器版本:
测试服务器版本:
我想用 SQL Server 安装和学习 T-SQL。我能找到的最轻的版本是 Express Edition 2017。
Express版是否支持程序、触发器、动态sql、PIVOT、序列、动态管理视图和函数?
将来是否可以升级以添加 ssis、ssrs 和 ssas(我阅读了 Microsoft 社区博客上的文档,但找不到特定于此版本的答案),也许我将来会需要它们。