小编Low*_*n M的帖子

查找数据库默认位置

我正在创建一个脚本来将数据库从备份文件恢复到实例的默认位置,该位置远离系统数据库安装文件夹。

目前,我正在使用查找默认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-server sql-server-2008-r2 restore

1
推荐指数
1
解决办法
2116
查看次数

循环内 TRY/CATCH 内 RAISERROR 的行为

我刚刚遇到了 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)

sql-server-2008-r2 raiserror

1
推荐指数
1
解决办法
2万
查看次数

分配新的自动增量值

我有一个创建如下的表。

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 中找到解决方案

sql-server auto-increment t-sql sql-server-2008-r2 identity

1
推荐指数
1
解决办法
2万
查看次数

基于其他位列的计算列位

从其他位列计算位列的公式是什么?

例如:

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

sql-server sql-server-2012 table

1
推荐指数
1
解决办法
2445
查看次数

作为 MongoDB DBA,我需要了解有关崩溃/幽灵漏洞的哪些信息?

如果您没有听说过,最近发现了一组相关漏洞,这些漏洞影响了过去十年中销售的几乎所有处理器。您可以在 InfoSec.SE 上找到有关崩溃/幽灵漏洞的更多技术细节。

作为 MongoDB DBA,我需要了解什么?

潜在的性能影响是什么?什么是正确的修补指南?云提供商针对此漏洞采取了哪些措施?

相关问题:

mongodb patching

1
推荐指数
1
解决办法
688
查看次数

使用压缩索引的 Ola Hallengren 索引维护

如果将 Ola Hallengren 索引维护解决方案安装到已对多个索引应用了压缩的服务器上,脚本在重建相应索引时是否会遵守当前的压缩级别?

sql-server ola-hallengren index-maintenance

1
推荐指数
1
解决办法
418
查看次数

如何记录用户在 SQL Server 2017 Standard 中所做的所有查询?

有没有可能做到这一点?由于内部合规性,需要记录在任何数据库中执行的所有查询和操作。

如果我们需要 MS SQL 2017 标准版或企业版,我需要信息(和/或来源)以确保记录数据库管理员的活动(运行、修改等查询...),而不仅仅是非管理员执行的活动用户。

sql-server audit logs sql-server-2017

1
推荐指数
1
解决办法
7115
查看次数

如何从 SQL Server 中删除临时表?

我想删除我在 SQL Server 2008 的脚本中使用的临时表。如果不编写几行代码,我找不到删除它的方法。我一直无法找到正常工作的代码。有没有什么办法不用编写代码就可以做到这一点?如果没有,我的方法应该是什么?在新脚本中复制我的代码然后创建同名临时表会有帮助吗?

非常感谢任何帮助/建议/建议。

sql-server-2008 sql-server

1
推荐指数
1
解决办法
1156
查看次数

“由于 'ACTIVE_TRANSACTION',数据库 'tempdb' 的事务日志已满。” 向临时表添加索引后

最近,我在为数据仓库准备数据的过程中添加了一些临时表的索引。在测试数据库上,这些过程的测试运行良好,但在客户端服务器上运行时,由于此错误而失败,需要重新启动服务器。这可能与添加索引有关还是完全不同?

客户端的服务器版本:

  • Microsoft SQL Server 2014 (SP3) (KB4022619) - Windows NT 6.3 上的 12.0.6024.0 (X64) 企业版(64 位)(内部版本 9600:)(管理程序)

测试服务器版本:

  • Microsoft SQL Server 2014 - 12.0.4100.1 (X64) 开发人员版(64 位),在 Windows NT 6.3(内部版本 9600:)(管理程序)上

index sql-server tempdb sql-server-2014 temporary-tables

1
推荐指数
1
解决办法
3349
查看次数

SQL Server Express Edition 功能和升级问题

我想用 SQL Server 安装和学习 T-SQL。我能找到的最轻的版本是 Express Edition 2017。

  1. Express版是否支持程序、触发器、动态sql、PIVOT、序列、动态管理视图和函数?

  2. 将来是否可以升级以添加 ssis、ssrs 和 ssas(我阅读了 Microsoft 社区博客上的文档,但找不到特定于此版本的答案),也许我将来会需要它们。

sql-server t-sql sql-server-express

1
推荐指数
1
解决办法
35
查看次数