标签: sql-server

sql server 2012 master 数据库日志已损坏

sql 2012 master 数据库已损坏,我最近有 master 的备份,恢复 master 后我的用户数据库会发生什么,我是否必须从最新备份中恢复所有数据库?

谢谢

sql-server

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

mssql 在没有备份的情况下恢复今天所做的更改

应用程序中的错误进行了一些更改,现在我需要在没有备份的情况下回滚

我可以为此使用日志文件吗?

'ROLLBACK' 是另一种选择吗?

信息:

-我的恢复模式设置为简单

-AutoCommit 尚未设置

- 当我尝试使用恢复任务时,它告诉我“没有选择要恢复的备份集”

sql-server rollback

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

SQL Server LicenseType 已禁用

我已经安装了 SQL Server 2016 Enterprise 并应用了许可证密钥,但是

SERVERPROPERTY('LicenseType') is disbaled and  
SERVERPROPERTY('NumLicenses') is null
Run Code Online (Sandbox Code Playgroud)

对于 SQL Server 2016,注册表中没有如下键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.SQL2016\Setup

知道如何更改 SQL Server 的 LicenseType 吗?

sql-server sql-server-2016

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

非聚集索引叶级

创建非聚集索引时,叶级将包含对原始表中行的引用:

  • 如果表有聚集索引,则叶级将包含聚集索引键;
  • 如果表没有聚集索引(堆),则叶级将包含指向表中行的物理地址的指针;

我的问题是为什么非聚集索引没有设计为在这两种情况下包含物理地址(除了聚集索引键之外)。当定义聚集索引时,它可以保存 B-Tree 的读取以用于键查找。

sql-server nonclustered-index

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

SQL Server 转而只使用页面文件而不是 RAM 并有效地冻结了世界

昨天我敲打我的 SQL Server 实例大约 3 个小时,运行密集计算,消耗了所有分配的物理 RAM (由于我的工作站硬件有限,我将它限制为 2GB),突然它(和许多其他东西?)释放了所有他们的内存明显切换到专门使用页面文件。

在我被迫重新启动之后,我的计算机出现了令人难以置信的滞后(仅访问电源选项就花了 10 分钟)。

我能够在重新启动之前获得任务管理器的屏幕截图(我以低更新速度在后台运行)。调整窗口大小以显示最大历史记录后,如下所示:

在此处输入图片说明

这种令人惊讶的行为导致了停机。这是记录在案的功能吗?

我正在运行带有 Enterprise 2014 数据库引擎的 Windows Server 2008 R2。

谢谢。

sql-server memory

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

将每个表迁移到新的链接服务器有太多前缀

不幸的是,我无法备份和恢复,因为新数据库使用的是旧版本的 SQL。

当我运行以下脚本时,出现此错误:

    Msg 117, Level 15, State 1, Line 1
    The object name 'eih-dr01.eih.ehs.org.DBA.dbo.fp_monthly' contains more than the maximum number of prefixes. The maximum is 2.
Run Code Online (Sandbox Code Playgroud)
    declare @table varchar(255),
    @sql nvarchar(max)

    declare c cursor local for


    select st.name from sys.tables st

    open c

    fetch next from c into @table

    set @sql = 'select * into [eih-dr01.eih.ehs.org].DBA.dbo.' + @table + ' from ' + @table

    print @sql
    exec sp_executesql @sql

    fetch next from c into @table

    close c
    deallocate c …
Run Code Online (Sandbox Code Playgroud)

sql-server

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

JOIN 的替代方案

第一次触发

ALTER TRIGGER [dbo].[Price_Modified]
    ON [dbo].[stock_recieve]
    AFTER UPDATE
AS
SET NOCOUNT ON;
IF UPDATE (Stock_out) 
BEGIN
    UPDATE s
    SET value = new.Item_Price * new.Stock_out
    FROM stock_recieve AS s
    JOIN inserted AS new ON new.[Bill No] = s.[Bill No]
    JOIN deleted AS old ON old.[Bill No] = s.[Bill No]
END;
Run Code Online (Sandbox Code Playgroud)

第二个触发器。

 ALTER TRIGGER [dbo].[newval] 
      ON [dbo].[stock_recieve]
        AFTER UPDATE
    AS
    SET NOCOUNT ON;
    IF UPDATE (Stock_out) 
    BEGIN
        UPDATE s
        SET Uservalue = new.Item_Price * new.Stock_out
        FROM stock_recieve AS s
        JOIN inserted AS …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2014

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

如何确保数据不会插入到数据已经存在的表中?

我创建了一个查询,我想将结果插入到另一个表中。它将每天作为作业运行,导入的数据仍将保留在结果集中。如果数据已存在于目标表中,我不希望导入数据。查询如下所示:

WITH cteUniquePages
(
CorrelationID,
Title,
URL,
HitDate,
TotalVisitsOnDate,
DontUseThisDate)
AS
(
    SELECT DISTINCT
    CorrelationID,
    Title, 
    URL,
    HitDate,
    COUNT(HitDate) OVER (PARTITION BY URL, HitDate) 'TotalVisitsOnDate',
    CAST(LogTime AS date) 'DontUseThisDate'
    FROM
        (SELECT
        CorrelationId,
        UserLogin,
        LogTime,
        Title,
        CONCAT(
            (CASE 
                WHEN WebUrl <> '' THEN CONCAT(ServerUrl,'/') ELSE ServerUrl END), 
            WebUrl,DocumentPath) 'URL',
        CONCAT(
            CASE
                WHEN (LEN(DATEPART(day,LogTime)))=1 THEN CONCAT('0',DATEPART(day,LogTime)) END,
            CASE
                WHEN (LEN(DATEPART(day,LogTime)))=2 THEN (DATEPART(day,LogTime)) END,'-', 
            CASE 
                WHEN (LEN(DATEPART(month,LogTime)))=1 THEN CONCAT('0',DATEPART(month,LogTime)) END,
            CASE
                WHEN (LEN(DATEPART(month,LogTime)))=2 THEN (DATEPART(month,LogTime)) END,
            '-', DATEPART(year,LogTime)) 'HitDate'
        FROM WSS_Logging.dbo.RequestUsage
        WHERE UserLogin …
Run Code Online (Sandbox Code Playgroud)

sql-server insert t-sql

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

带有可选参数的存储过程

我有一个视图,它抓取了我希望能够搜索的大量数据。视图设置了以下列:

Part_Number、说明、信息、供应商、制造商、类别、子类别、货币、价格、折扣。

我希望创建一个存储过程,它可以让我在视图中搜索我专门查找的数据。就像是:

SELECT * FROM PartsData
WHERE Part_Number = '0010.05.20.20'
Run Code Online (Sandbox Code Playgroud)

现在我的第一个想法是设置过程,以便它寻找的唯一参数是 a VARCHAR,它基本上包含整个WHERE子句的内容。这听起来像是行得通的。

但是,我是否可以使用可选参数设置存储过程?我不确定这是否是您可以在 SQL 中执行的操作。

如果没有,我最初的实施想法是我最好的选择吗?因为看起来应该有更好的方法来做到这一点。:\

有时WHERE子句可能很长,例如:

WHERE Description LIKE '%cap' 
AND Supplier LIKE 'A2A Systems' 
AND Manufacturer LIKE 'Vario'
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures

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

为什么大多数 Sql 注入需要这样的 url “index.asp?id=123”

我正在尝试学习“SQL 注入”概念,并尝试练习一些 Kali 工具来学习,但有一个我不明白的问题,我的问题是为什么大多数工具都需要以“AAA.BBB?id”结尾的 URL? =000" 作为注入的输入字符串。

sql-server sql-injection

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